1. 程式人生 > >mysql 5.5 utf8 配置方法

mysql 5.5 utf8 配置方法

2012-11-25

周海漢 (http://abloz.com) 2012.11.25

ubuntu 12.04所帶的mysql 5.5,在/etc/mysql/my.cnf的[mysqld]中新增default-character-set=utf8 以支援utf8會導致msql無法啟動。 在my.cnf的[mysqld]中新增 log_error = /var/log/mysql/error.log 重啟後可以看到如下錯誤: [email protected]:~# service mysql start

start: Job failed to start [email protected]:~# [email protected]

:~# cat /var/log/mysql/error.log 121125 17:07:38 [Note] Plugin ‘FEDERATED’ is disabled. 121125 17:07:38 InnoDB: The InnoDB memory heap is disabled 121125 17:07:38 InnoDB: Mutexes and rw_locks use GCC atomic builtins 121125 17:07:38 InnoDB: Compressed tables use zlib 1.2.3.4 121125 17:07:38 InnoDB: Initializing buffer pool, size = 128.0M 121125 17:07:38 InnoDB: Completed initialization of buffer pool 121125 17:07:38 InnoDB: highest supported file format is Barracuda. 121125 17:07:39 InnoDB: Waiting for the background threads to start 121125 17:07:40 InnoDB: 1.1.8 started; log sequence number 2054581 121125 17:07:40 [ERROR] /usr/sbin/mysqld: unknown variable ‘default-character-set=utf8’ 121125 17:07:40 [ERROR] Aborting

121125 17:07:40 InnoDB: Starting shutdown… 121125 17:07:40 InnoDB: Shutdown completed; log sequence number 2054581 121125 17:07:40 [Note] /usr/sbin/mysqld: Shutdown complete

原來mysql 5.5不再支援default-character-set=utf8,而是改為支援character-set-server=utf8 最後,將my.cnf中utf8支援改為如下內容,啟動成功: [client] default-character-set=utf8 [mysqld] init_connect=’SET collation_connection = utf8_unicode_ci’ init_connect=’SET NAMES utf8’ character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake

參考: bug報告和診斷:https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/1081675 utf8配置參考:http://www.onaxer.com/tag/change-mysql-default-character-set-to-utf8-in-mysql-5-5/

如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源