美文网首页python
mac mac MySQL的那些坑之修改mysql编码格式

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

作者: 小椰子表姐 | 来源:发表于2017-01-11 15:25 被阅读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
重启查看, 啦啦啦~

相关文章

网友评论

  • 城南一霸賈十七:感谢大佬,一直找不到etc ,只能用命令行。现在终于看到了,好像看到了个新世界,还是对Mac不熟悉啊。
    小椰子表姐::grin: 以后找不到的就前往文件夹就好了.
  • OSong:不知道该如何感谢。你这篇文章拯救我于水火中。哈哈哈
    OSong:@小椰子表姐G 是的,毫不夸张
    小椰子表姐:@OSong 水火之中:joy::joy:
  • d0cdf6532fb1:太感激了查了那么多,你这篇最靠谱,跟着做就成功啦
    小椰子表姐:@楚韵琉珠 :wink: :wink:
  • 753d3f365383:感谢,大佬
    小椰子表姐:@有一种结束叫开始 :clap: :clap:
  • 怪我咯i_6af9: 真是太感谢了,my.cnf文件让我改坏了,服务器一直启动不了,删了重装好几次都不行,我也知道要重新改my.cnf文件,一直以为那个文件是在mysql的路径里面,怎么也找不到,弄了一晚上还好看见了你的帖子,真是一语惊醒梦中人啊。。。。总算弄好了,可以睡觉了。。非常非常感谢。。
    小椰子表姐:@怪我咯i_6af9 哈哈. 我这块也是整了好久, 其他都太坑了..
  • cee91546bc67:之前也是找了很久 基本和你说的一样 cnf配好 重启 都没问题 查看编码也没问题 但是新建表 还是有问题 不是utf8格式 。。。。
    小椰子表姐:新建表之后查看编码没有更改过来么? 那就可能是没有修改成功. 建表的时候也能够指定编码的, 你试试建表时候指定编码然后查看.
  • 程非池的小软:你好,我想问一下没有my-default.cnf文件该怎么办?
    小椰子表姐:@went_2017 在 etc 中新建一个 my.cnf 文件吧. 然后把内容粘上.
    小椰子表姐:@涂山千风 如果连默认的都没有的话, 自己在 etc 中新建一个 my.cnf 把内容粘上就好了
    3638cb7f8253:我也是找不到这个文件,一个cnf文件都找不到=,=
    你解决了吗?
  • 2131d3db37c2:多谢 解决问题了 就你这个靠谱
  • 熊安安:专业 太详细了 o(>﹏<)o..............

本文标题:mac mac MySQL的那些坑之修改mysql编码格式

本文链接:https://www.haomeiwen.com/subject/twlrbttx.html