很久以前搭建過MySQL多實例,記得當時很順利,呵呵!今天公司因爲業務需要,我再一次搭建多實例.安裝完MySQL後,初始化兩個實例時,出現如下報錯:
150915 1:10:36 [ERROR] COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
150915 1:10:36 [ERROR] Aborting
乍一看,是字符編碼問題,着實在my.cnf配置文件上面設置了字符編碼如下:
[client]
default-character-set = utf8
[mysqld]
character_set_server = utf8
保存退出,再試嘗試初始化,又出現如下錯誤:
150915 1:53:38 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
150915 1:53:38 [Note] - '0.0.0.0' resolves to '0.0.0.0';
150915 1:53:38 [Note] Server socket created on IP: '0.0.0.0'.
150915 1:53:38 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
通過一通查找資料,再分析上面的這兩行,如下:
150915 1:53:38 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
150915 1:53:38 [Note] - '0.0.0.0' resolves to '0.0.0.0';
這時突然想到,這臺機器以前用來測試項目時,修改過hosts文件。於是打開hosts文件刪除了添加的hosts映射,留下默認的,保存退出。
一定還會有人問我上面的這個錯誤怎麼不解決,如下:
150915 1:53:38 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
這個問題,重新初始化一下系統數據庫,就可以了。
呵呵,初始化成功,啓動成功!!!!