阅读393 返回首页    go 微软 go Office


mysql 4.0 数据快速转换到 5.0

mysql 4.0 数据快速转换到 5.0

数据库环境都是gbk

一、导出:

mysqldump -u xxx -pxxx –default-character-set=gbk db1 > 1.sql

二、检查新mysql5的配置(一般通这个步骤可以略掉)

######################################################################################

5.0的数据库要做以下的修改

my.cnf 或my.ini

1、注释掉 #sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”

2、查看是否是 default-character-set=gbk

######################################################################################

三、在新mysql5建立数据库db1 设置默认的编码是gbk,mysql的用户是root,密码是xxx

CREATE DATABASE IF NOT EXISTS `db1` DEFAULT CHARACTER SET gbk;

四、导入:

mysql.exe -uroot -pxxx -f db1 < 1.sql

mysql.exe -uroot -pxxx –default-character-set=gbk -f db1 < 1.sql

################################################################################################

备注:

由于4.0是没有编码设置,

所以在新的5.0上面要设置mysql的conf把default-character-set=gbk,character-set-server=gbk

这样就能解决一般经常碰到的乱码问题了

当然导入过程中可能会有一些错误提示,根据提示修改下导出的sql文件就行。

一般比如group这类特殊字段名要改成`group`才能正确导入到5.0。

建议使用notepad2来编辑sql文件

字符集(Character set)和排序方式(Collation)。

对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。

SHOW VARIABLES LIKE ‘character_set_%’;

SHOW VARIABLES LIKE ‘collation_%’;

mysqldump的参数参照:

MySql数据库备份mysqldump参数选项

–default-characte-set 以前数据库的字符集,这个一般情况下都是latin1的,

–set-charset 导出的数据的字符集,这个可以设置为gbk,utf8,或者big5

解决方法是转换数据编码方式:

第一步:将数据导出成期望的字符编码:

Mysqldump -u用户名 -p密码 –default-character-set=原字符集 –set-charset=期望字符集 –skip-opt 数据库名 > 导出的文件名.sql

第二步:建立一个期望字符集的临时数据库:

CREATE DATABASE `phpbb_gbk` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

第三步:将第一步备份的数据导入到这个新创建的临时数据库里面:

mysql -u用户名 -p密码 –default-character-set=期望字符集 -f 数据库名 < 第一步备份的文件名.sql

#################################################################################################

最后更新:2017-01-04 22:34:31

  上一篇:go linux(ubuntu,centos,rhel)下的分卷压缩功能
  下一篇:go MySQL启用日志和查看日志