一、简述:
随着PHP+MYSQL构架的逐步流行,现在越来越多的应用程序使用到了MYSQL数据库,凭其简捷高效的特性得到用户一致认可,然而 在使用过程中碰到的数据迁移及编码问题却令很多开发者也头痛不已,更别说普通用户了。
本教程的目的是帮助普通用户尽可能简便的实现MYSQL数据的迁移,也就是由其它虚拟主机服务商迁移到我们公司的MYSQL数据库中。因其Mysql版本与编码纷繁复杂,所以无法面面俱到,若按此教程操作后还是无法迁移或出现乱码问题,请与技术员联系获得支持。
1.MYSQL版本问题,软件的每一次升级将带来新的功能,然而却必然出现数据库格式兼容性问题,要完全弄清所有版本是一件困难的事情,但我们必须至少了解现在使用的数据库的版本号是3.X还是4.X还是5.X,另外4.1和4.0的格式也截然不同。
2.编码问题。4.1(不含4.1)以前的数据库默认编码是lartin,而之后默认都是utf8了,但常用的却是GBK,编码涉及的环节太多。有网页,连接,存储,查询等等,任何环节编码不一致都会造成乱码。要在不同平台,不同版本之间迁移数据,是否会出现乱码那就得看运气了。
二、迁移前的准备:
1.获知原服务商提供的数据库服务器IP,数据库用户名,数据库密码,版本号以及是否允许远程连接。
若原数据库并不支持远程连接,则请将“帝国备份王”上传到您原空间后再按下边的提示操作,备份成功后您需要将“帝国备份王”所在目录全部下载并上传到我公司的虚拟主机中,再按“数据恢复”的步骤进行操作。
2.在我们公司开通MYSQL数据库,此时您将获取我公司提供的数据库服务器IP,数据库用户名,数据库密码等信息。
开通的时候一定注意版本号,若以前的是5.X的,则必须在我公司选择5.X的数据库,否则转移将会失败
3.您至少在我们公司有一个虚拟主机。
三、操作细节
工具的好坏,决定了数据迁移的质量,我们此处推荐一款PHP程序开发的备份与还原工具,帝国备份王,他功能很简单。备份数据或恢复数据,但因具备良好的编码及版本自动识别转换功能,所以在解决乱码上将给我们提供莫大的助益。所以迁移的过程也就是操作此软件的过程。
1.软件的安装(均假设您在我司已经开通了虚拟主机)
a)登录我司网站,进入管理中心,并点击虚拟主机管理,找到远程文件下载(图1)
2.软件配置
输入三http://虚拟主机域名/ebak后(如上图),在用户名处填写:admin,在密码处填写123456,点击登陆,系统将自动进入“数据库设置”界面(图6)。
当系统提示“数据还原完毕”时,则证明数据迁移已经完成,将您在我们公司虚拟主机中的程序数据库连接信息改为新信息后(常见PHP程序的数据库连接信息修改细节见附录),应该打开网站试试,若能正常打开,则说明数据迁移成功;若打开网页是乱码,则说明本教程对您没有帮助,请尝试通过其它方式迁移;若无法打开,则有可能您连接信息设置有误,请联系我司客户给您提供必要帮助。
附录:常见php程序的MYSQL连接文件信息:(所有路径均相对于程序的安装目录,修改信息的时候切记不要删除两边的引号,推荐使用我司“文件管理”功能去修改)
1.shopex4.8
配置文件路径:
\config\config.php
配置信息
define('DB_USER', 'MYSQL登录用户');
define('DB_PASSWORD', 'MYSQL密码');
define('DB_NAME', '数据库名');
define('DB_HOST', '服务器地址');
2.shopex4.7
配置文件路径
\include\mall_config.php
配置信息
$dbHost = "服务器地址";
$dbName = "数据库名";
$dbUser = "MYSQL登录用户名";
$dbPass = "数据库密码";
3.discuz
配置文件路径
\config.inc.php
配置信息
$dbhost = '服务器地址'; // 数据库服务器
$dbuser = '数据库名'; // 数据库用户名
$dbpw = '数据库密码'; // 数据库密码
$dbname = '数据库名'; // 数据库名
4. phpwind
配置文件路径
\data\sql_config.php
配置文件信息
define('DB_USER', '数据库用户');
define('DB_PASSWORD', '数据库密码');
define('DB_NAME', '数据库名');
define('DB_HOST', '数据库地址');
5.PHPCMS
配置文件路径
\config.inc.php
配置文件信息
$CONFIG['dbhost'] = '数据库主机';
$CONFIG['dbuser'] = '数据库用户名';
$CONFIG['dbpw'] = '数据库密码';
$CONFIG['dbname'] = '数据库名';
6.DEDECMS
配置文件路径
\include\config_base.php
配置文件信息
$cfg_dbhost = '服务器地址';
$cfg_dbname = '数据库名';
$cfg_dbuser = '数据库用户';
$cfg_dbpwd = '数据库密码';