必要知识:
mysql编码:
在mysql的安装目录,如:
E:/Program Files/MySQL/MySQL Server 5.0/my.ini
可以找到mysql库的编码,大部分情况下,可以设置为uft-8:
default-character-set=utf8
或gbk:
default-character-set=gbk
编码不对,就会造成无法导入.修改编码后要重启数据库才会生效.
1.条件:在同一台服务器,
mysql数据库可以用平台的导出导入功能正常备份及还原.
2.条件:不同服务器上,在my.ini编码一致的情况下,
mysql数据库可以用平台的导出导入功能正常备份及还原.
2.条件:不同服务器上,在my.ini编码不一致的情况下,
必须修改my.ini成为一致的编码,mysql数据库才可以用平台的导出导入功能正常备份及还原.
3.对于用phpmyadmin或其他工具导入的文件,您需要再次加工后,才能用平台的导入功能:
以phpmyadmin为例,导出后,将生成的SQL语句另存为一个.sql文件,然后,用记事本修改它:
(1)找到CREATE DATABASE开头的这一行如:
CREATE DATABASE `数据库名` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
在前面加上--符号,取消这行的运行权(原因是导入时是用普通用户角度导入,不允许建立数据库)
这样,才有可能用平台的导入功能导入.
(2)然后,您可以看看这个库的编码是否和您服务器上的一致
如果编码不一致,那么,
<1>要么用phpmymyadmin重新备份成编码一致的.sql文件才能导入.(在phpmyadmin登陆的首页可以选编码)
<2>要么是修改my.ini中的编码,并重启Mysql才能导入(重启Mysql可以在服务器上,管理工具,服务管理中重启),这种方式成功机会高一些,建议这样操作.
-----注意,如果由于编码不对,造成导入失败,您需要点清空数据库才能进行下次导入(2007-6-12后的主控版本在数据库面板中有清空的功能)------
以discuz论坛为倒
如果当时安装的是GBK版本的论坛,那么,
用phpmyadmin导出后,编码就是GBK的,
要想导入另一台服务器,必须要将my.ini中设置为:default-character-set=gbk并重启mysql后才能在平台用导入.