欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Mysql导出导入说明

程序员文章站 2022-05-16 17:03:21
...

必要知识: mysql编码: 在mysql的安装目录,如: E:\Program Files\MySQL\MySQL Server 5.0\my.ini 可以找到mysql库的编码,大部分情况下,可以设置为uft-8: default-character-set=utf8 或gbk: default-character-set=gbk 编码不对,就会造成无法导入.修改编码后

必要知识:
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)然后,您可以看看这个库的编码是否和您服务器上的一致

如果编码不一致,那么,
要么用phpmymyadmin重新备份成编码一致的.sql文件才能导入.(在phpmyadmin登陆的首页可以选编码)
要么是修改my.ini中的编码,并重启Mysql才能导入(重启Mysql可以在服务器上,管理工具,服务管理中重启),这种方式成功机会高一些,建议这样操作.


-----注意,如果由于编码不对,造成导入失败,您需要点清空数据库才能进行下次导入(2007-6-12后的主控版本在数据库面板中有清空的功能)------


以discuz论坛为倒
如果当时安装的是GBK版本的论坛,那么,
用phpmyadmin导出后,编码就是GBK的,
要想导入另一台服务器,必须要将my.ini中设置为:default-character-set=gbk并重启mysql后才能在平台用导入.

补充:
使用mysql做数据库还原的时候,或者使用星外后台还原备份时发现还原不完整时,由于有些数据很大,会出现这样的错误:The MySQL Server returned this Error:MySQL Error Nr.2006-MySQL server has gone away。一个150mb的备份还原的时候就出现了这错误。解决的方法就是找到mysql安装目录,找到my.ini文件,在文件的最后添加:max_allowed_packet = 100M(也可以设置自己需要的大小)。 max_allowed_packet 参数的作用是,用来控制其通信缓冲区的最大长度。 (此内容由用户9du01提供)