帝国 CMS 数据库怎么转移
照着这篇做完,你能把帝国 CMS 的网站连同数据库完整搬到另一台服务器(或另一个数据库)上,并且后台能正常登录、页面不乱码。
第一步:先确认你要转移的是哪一部分
帝国 CMS 的「数据库转移」通常分两种情况:一是整站换服务器(文件 + 数据库一起搬),二是只换数据库地址(比如从本机 localhost 换成云数据库)。前者要备份数据库和全部网站文件,后者只需要导出导入数据 + 改一个配置文件。先想清楚属于哪种,后面步骤才不会多做无用功。
第二步:在旧站后台备份数据库
登录旧站后台,走这个路径:左侧菜单「系统」→「备份与恢复数据」→「备份数据库」。在页面里选择「备份全部数据表」,勾选「按十六进制方式备份」(可避免特殊字符出错),点「开始备份」。备份完成后,SQL 文件会存放在服务器上的 /e/data/backup/ 目录里,一个表可能对应多个分卷文件。
注意:如果你的数据库体积超过 20MB,浏览器直连备份容易超时。这种情况改用 phpMyAdmin 或命令行
mysqldump -u 用户名 -p 数据库名 > backup.sql导出更稳。
第三步:备份整站文件
用 FTP 工具(FileZilla 等)把网站根目录整个下载下来。重点别漏这几个目录:/d/(上传的图片附件)、/e/data/(配置、备份、缓存)、/e/config/(数据库配置文件)。
注意:
/e/data/backup/里的备份文件如果是通过第二步生成的,可以直接连着一起下载,省得再单独拷。但如果你用 phpMyAdmin 导出的 SQL,记得手动传进新服务器的这个目录。
第四步:在新服务器建库并导入数据
在新服务器上创建数据库和用户(宝塔面板是「数据库」→「添加数据库」,命令行是 CREATE DATABASE 库名 DEFAULT CHARACTER SET utf8;)。然后把 SQL 文件导入。
用帝国后台备份文件的话:先把 /e/data/backup/ 目录整个上传到新服务器的相同位置,再进新站后台「系统」→「备份与恢复数据」→「恢复数据库」,选中备份目录点恢复。
用 phpMyAdmin 导出的 SQL:直接在新库的「导入」页选文件上传即可。
注意:新旧数据库的字符集必须一致。旧站是 gbk、新库建成了 utf8,导进去就是满屏乱码。帝国 CMS 7.5 后台「系统参数设置」里能看到当前字符集,建库前先对一下。
第五步:修改数据库连接配置
打开新服务器上的 /e/config/config.php,找到这几行改成新库的信息:
$ecms_config['db']['dbhost']='localhost'; // 新数据库地址
$ecms_config['db']['dbport']='3306'; // 端口,默认 3306
$ecms_config['db']['dbname']='新库名';
$ecms_config['db']['dbuser']='新库用户名';
$ecms_config['db']['dbpw']='新库密码';
$ecms_config['db']['dbchar']='utf8'; // 与旧站保持一致
$ecms_config['db']['dbtbpre']='phome_'; // 表前缀,默认 phome_
保存后打开网站首页,能正常显示就说明连上了。
注意:表前缀
dbtbpre一定要和导入进去的实际表前缀相同。导入后去 phpMyAdmin 看一眼表名开头是什么,写错了后台会提示「数据表不存在」。
第六步:改站点地址并更新缓存
登录新站后台 /e/admin/,进「系统」→「系统参数设置」,把「网站地址」改成新域名(带 http:// 或 https://),保存。然后进「系统」→「数据更新中心」,依次点「更新缓存」和「刷新所有页面」。
注意:如果后台登录页打不开或提示数据库连接失败,99% 是第五步的配置写错了,回去逐字核对库名、用户名、密码,注意别把全角字符复制进去。服务器上
/e/data/目录还必须可写,否则缓存生成不了。
小结
- 转移前先分清是「整站搬家」还是「只换数据库」,决定要不要搬文件
- 数据库备份优先用后台「备份数据库」功能,大库改用 mysqldump
- 核心配置在
/e/config/config.php,改的是 dbhost、dbname、dbuser、dbpw、dbchar、dbtbpre 六项 - 字符集和表前缀是两大高频翻车点,导入前务必对齐
- 最后一定要改网站地址 + 更新缓存,否则页面链接还是旧域名
原文链接:https://www.gj0.com/thread-1094.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。