由於日常程序使用了字符集utf8mb4,為了避免每次更新時,set names utf8mb4,就把配置文件改了,如下:
[root@~]# vim /etc/my.cnf #my.cnf [client] port = 3306 socket = /home/mysql/mysql.sock default-character-set=utf8mb4
重啟MySQL服務,進入mysql時,就報錯:
[root@~]# mysql Logging to file ‘/home/mysql/query.log‘ mysql: Character set ‘utf8mb4‘ is not a compiled character set and is not specified in the ‘/usr/share/mysql/charsets/Index.xml‘ file
解決辦法:
經查mysql命令調用的是/usr/bin下的
[root@ ~]# ls /usr/bin/ |grep mysql msql2mysql mysql mysqlaccess mysqladmin mysqlbinlog mysqlcheck mysql_config mysqld_multi mysqld_safe mysqldump mysql_find_rows mysqlimport mysqlshow mysqlslap mysql_waitpid
發現該服務器上在我安裝mysql5.5.20之前,安裝過mysql5.1的客戶端
[root@ ~]# rpm -qa |grep mysql mysql-5.1.73-3.el6_5.x86_64 mysql-libs-5.1.73-3.el6_5.x86_64
將mysql5.5.20下的mysql命令全部拷貝到/usr/bin目錄下
cp /usr/local/Percona-Server-5.5.20-rel24.1-217.Linux.x86_64/bin/* /usr/bin/
修改完后,再次使用進入mysql,OK~
本文參考 “菜鳥地盤” 博客,請務必保留此出處http://yangjingangel.blog.51cto.com/8351501/1754413