python

mac mac MySQL的那些坑之修改mysql编码格式

2017-01-11  本文已影响2751人  小椰子表姐

好吧, 换了电脑之后忘记修改mysql的编码格式了, 结果又掉进了大坑. 爬啊爬了好久终于爬出来了😢

STEP 1
我们先进入mysql , 然后使用终端命令 show variables like '%char%'; 查看一下当前的编码格式, 默认mysql是使用拉丁文的.

character_set_databasecharacter_set_server依然是latin1的字符集,也就是说mysql后续创建的表都是latin1字符集的,不是utf8,会造成一些麻烦.

latin1

STEP 2
想要修改编码, 就需要修改 mysql 的配置文件 my.cnf

**在修改my.cnf之前一定要关闭 mysql 进程,不然会遇到mysql的sock不能连接的问题!
在修改my.cnf之前一定要关闭 mysql 进程,不然会遇到mysql的sock不能连接的问题!
在修改my.cnf之前一定要关闭 mysql 进程,不然会遇到mysql的sock不能连接的问题! **

重要事情说三遍! 就这个坑了我, 一直爆 sock 的连接问题/(ㄒoㄒ)/~~ 后来把 my.cnf 文件删了才好使.

但是问题来了, mac中安装 mysql 默认是没有my.cnf文件!
所以我们需要到 mysql 的安装目录下看看有没有 .cnf 为后缀的文件.

然后会发现在 /mysql/support-files/ 下会有一个 my-default.cnf 文件, ok ! 复制它!

发现了.cnf文件

STEP 3
复制好 my-default.cnf 文件后要把它粘贴到 /etc 这个目录下.
这里也强调一下这个 etc文件夹必须是 /etc 文件夹下的 etc . 建议使用文件直接前往 /etc ! !
** 然后将名字改成 my.cnf **

可能会有些人不知道 /etc 文件夹在哪里. 可以使用 右键 Finder -> 前往文件夹 -> /etc

![屏幕快照 2017-01-11 下午3.09.53.png](https://img.haomeiwen.com/i1142651/fa7b07ae13b7052b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 屏幕快照 2017-01-11 下午3.10.45.png

STEP 4
使用程序打开 my.cnf 我使用的是 sublime
然后在

[client] 下面加入:

default-character-set=utf8

[mysqld] 下面加入:

character-set-server=utf8

我没有发现[client] 所以只在 [mysqld] 下面加入了代码
保存, 关闭

修改代码

有的朋友说没有任何 cnf 的文件, 那就自己在 /etc 文件夹下新建一个 my.cnf 文件吧.my.cnf 中的代码在这里

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

#更改数据库编码需要更改的
[mysqld]
character-set-server=utf8

#备份数据库需要更改的
[mysqldump]
user=root
password=123456

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

STEP 5 重启 mysql , 重新查看编码~

大功告成!

注意!!!!

网上有很多都是直接使用终端命令一步完成的,我想说的是 看准文件名!
以下贴上命令~ 玩得转终端的这些命令相信很容易就看懂了~

STEP 1 复制粘贴

sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

STEP 2 修改代码

1]  sudo vi /etc/my.cnf
2]
[client]部分加入:
default-character-set=utf8

[mysqld]部分加入:
character-set-server=utf8
3]  esc
4]  :wq

STEP 3
重启查看, 啦啦啦~

上一篇下一篇

猜你喜欢

热点阅读