Mac下Mysql数据库编码问题

对于mac系统来说,安装Mysql数据库简单的方式从官网下载一个dmg文件,然后点下一步下一步就OK,所有步骤完成后,Mysql会装在/usr/local/mysql/下,这里的mysql文件夹仅仅是一个符号链接(Unix/Linux系统下的一种文件类型),它实际指向它旁边的安装文件。
在这个安装过程中,并不能设置安装此Mysql要使用的编码格式,也就是使用SQL语句:

show variables like 'char%'

查询之后的各种编码格式。而就Mysql 5.7版本而言,character-set-server和character-set-database使用的是latin-1,显然是不OK的。要改!
该的方式大致分为两种,一种是在当前链接中修改,也就是使用SQL语句:

set character-set-server='utf8'; 
set character-set-database='utf8';
对于这两条语句的第二条,也可以不写,在建数据库的时候指名使用的编码格式,如下:
create database dbname
character set 'utf8'
collate 'utf8-general-ci';
这样创建的数据库使用的是utf8编码。
对于上面第一条set语句而言仅仅是暂时的,仅仅是对当前链接有效的,出了该链接,还是Latin-1编码,要是每次链接都要改也不是长久之计。

要改就改Mysql启动时要加载的数据库配置文件,在Windows下就是改一下安装目录下的my.ini文件,而在mac系统下则是修改my.cnf文件,可把mac系统翻了个遍也没找到这个文件。修改my.cnf文件的过程如下:

1.在安装路径下(就是/usr/local/mysql/)下,有一个support-files文件夹,里面有my-default.cnf文件,这个文件就是my.cnf的原型文件,找到之后拷贝到桌面

2.修改my-default.cnf的名称为my.cnf

3.在my.cnf中增加两行代码如下:

[mysqld]
character-set-server=utf8
4.保存,然后将my.cnf剪切(拷贝)到/etc目录下,别搞错了,是根目录下的/etc目录下,使用GUI进行拖拽的话需要输入超级管理员密码鉴定,使用命令行的话也需要sudo权限

5.重启Mysql数据库(点桌面左上角的苹果图标->点系统偏好设置->点最下面一行点mysql数据库,重启),如果不能启动数据库,可能是my.cnf中写了非法内容,除了上面要写的两行代码,再写入其他代码请参考my.cnf书写规范来写,如果把my.cnf从/etc中拖出来后能重启数据库,那就确定是你的my.cnf配置文件有问题咯

你可能感兴趣的:(数据库)