日期:2014-05-16  浏览次数:20467 次

在MAC下配置mysql数据库的编码问题
        最近安装了mac osx lion系统,然后安装了mysql5.5.16版本的数据库进行开发,但是大家都知道,mysql的默认编码是latin1,如果存储中文的话就会出现乱码,然后就狂google这个问题,但是一直都没有解决,网上大部分的回答都是如下:
       1.拷贝/usr/local/mysql/support-files下的任意一个*.cnf文件到/etc/my.cnf
       2.在my.cnf文件的[mysqld][client]后面添加一句default-character-set=utf8(或者是default_character_set=utf8);
       3.保存退出;
       4.重新启动mysql服务器就可以。
       可是我试过好多次,这样修改之后,mysql服务根本就启动不了
偶然的机会,我发现了一个关于在linux下配置mysql的编码问题的方法,抱着试试看的态度,我进行了修改,发现真的可以用,因此发这篇博文希望装mac的朋友不用再走弯路了。配置方法如下:
       1.拷贝/usr/local/mysql/support-files下的任意一个*.cnf文件到/etc/my.cnf
       2.在my.cnf文件的[client]后面添加一句default-character-set=utf8(?不是default_character_set=utf8[i][/i],这个配置我没有试过,不知道能不能成功),关键在这里的配置,在[mysqld]后面添加如下三句:
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci

        3.保存退出;
        4.重新启动mysql服务器就可以。
然后再就入mysql数据库查看编码发现改成了utf8了。
下面是我重启mysql服务器进入mysql数据库查出来的结果:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 520
Server version: 5.5.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like '%char%';
+--------------------------+--------------------+
| Variable_name            | Value                                                  |
+--------------------------+--------------------+
| character_set_client     | utf8                                                   |
| character_set_connection | utf8                                                   |
| character_set_database   | utf8                                                   |
| character_set_filesystem | binary                                                 |
| character_set_results    | utf8                                                   |
| character_set_server     | utf8                                                   |
| character_set_system     | utf8                                                   |
| character_sets_dir       | /usr/local/mysql-5.5.16-osx10.6-x86_64/share/charsets/ |
+--------------------------+--------------------+
8 rows in set (0.00 sec)

       至此,这个困扰多日的问题终于解决了。
       附修改好的?my.cnf文件内容,不知道为什么附件我上传不了,就把代码贴出来吧:
# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# MySQL programs look for option files in a set of
# locations which depend on the deployment platform.
# You can copy this option file to one of those
# locations. For information abou