这次把Mysql从Windows 2003到Solaris 10迁移的过程中,问题多多,总算解决了。
1 在Solaris 10中直接按照最新版本的mysql 5.0.41,基本差别不大。
2 在Solaris下安装mysql后,无法将编码设置为GBK。后来才发现应该在mysql编译时增加字符集的设置。即在编译的参数中加入:
--with-extra-charsets=gbk,gb2312,utf8
需要注意的是,如果编译失败重新编译前,一定要先将解压缩的mysql源码包目录删除,重新解压缩,重新编译!!
3 设置mysql的字符集:在/etc/my.cnf中的mysqld段和client段加入代码:
[client]
default_character_set=gbk
[mysqld]
default_character_set=gbk
可以登录mysql后台来查看服务器的编码设置。
mysql>show GLOBALE VARIABLES like 'character_set%';
可以直接修改它:set global character_set_*=gbk; (需要 root 权限)
4 MySQL在Solaris上表名是区分大小写的(case sensitive)。但MySQL在Windows下都不区分大小写。只能修改它的设置,在/etc/my.cnf中增加一行,并放在[mysqld]段:
lower_case_table_names = 1
参数解释:0:区分大小写 1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1)数据库名与表名是严格区分大小写的;
2)表的别名是严格区分大小写的;
3)列名与列的别名在所有的情况下均是忽略大小写的;
4)变量名也是严格区分大小写的;