migrate to MySQL 4.1 using unicode
时间:2007-01-04 09:48:46
来源: 作者:whsong 点击:次 出处:技术无忧
关键字:migr
使用MySQL有年头了,受限于MySQL支持的字符集与编码,我以前的应用都是使用gb2312/gbk. 从4.1开始,MySQL正式支持unicode,以下是我的迁移实践。Scenario:
现有的数据库mydb构建在MySQL 4.0.20上,使用gb2312作为缺省字符集,需要将其迁移到MySQL 4.1.14且使用utf8作为其缺省字符集。
MySQL 4.0.20 安装在 /opt/mysql 下,使用3306端口
MySQL 4.1.14 安装在 /opt/mysql2 下,使用3326端口
Migration:
首先把目前使用gb2312的数据库mydb中的内容使用mysqldump导出:
# /opt/mysql/bin/mysqldump -uroot -hlocalhost -pthepasswd -P3306 mydb > /backup/mydb_20050905.sql
接着使用此数据文件来构建目标库mydb_new :
Step 1, 使用缺省字符集(utf8)连接MySQL Server,然后使用字符集gb2312来创建目标库mydb_new.
# /opt/mysql2/bin/mysql -uroot -hlocalhost -pthepasswd -P3326
mysql> create database mydb_new default character set gb2312 collate gb2312_chinese_ci;
mysql> quit
Step 2, 使用字符集gb2312连接MySQL Server,然后运行先前导出的sql数据文件.
# /opt/mysql2/bin/mysql -uroot -hlocalhost -pthepasswd -P3326 --default-character-set=gb2312
mysql> use mydb_new
mysql> source /backup/mydb_20050905.sql
mysql> quit
Step 3, 使用缺省字符集(utf8)连接MySQL Server,然后依次修改数据库mydb_new中的每个table的缺省字符集为utf8.
# /opt/mysql2/bin/mysql -uroot -hlocalhost -pthepasswd -P3326
mysql> use mydb_new
mysql> alter table table_xxx convert to character set utf8 collate utf8_general_ci;
mysql> quit
Step 4, 使用缺省字符集(utf8)连接MySQL Server,然后修改数据库mydb_new的缺省字符集为utf8.
# /opt/mysql2/bin/mysql -uroot -hlocalhost -pthepasswd -P3326
mysql> alter database mydb_new default character set utf8 collate utf8_general_ci;
mysql> quit
OK.
有关操作系统的更多文章请进:技术无忧

上一篇:MySQL优化简明指南










文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面