這次把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)變量名也是嚴格區分大小寫的;