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

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

带有$符号的命令都是终端命令, 复制粘贴时不需要加上$符号

STEP 1

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

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

d3f1ea79cb65

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 ! 复制它!

d3f1ea79cb65

发现了.cnf文件

STEP 3

复制好 my-default.cnf 文件后要把它粘贴到 /etc 这个目录下.

这里也强调一下这个 etc文件夹必须是 /etc 文件夹下的 etc . 建议使用文件直接前往 /etc ! !

然后将名字改成 my.cnf

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

![

d3f1ea79cb65

前往 etc

d3f1ea79cb65

2

STEP 4

使用程序打开 my.cnf 我使用的是 sublime

然后在

[client] 下面加入:

default-character-set=utf8

[mysqld] 下面加入:

character-set-server=utf8

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

保存, 关闭

d3f1ea79cb65

修改代码

有的朋友说没有任何 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 , 重新查看编码~

d3f1ea79cb65

大功告成!

注意!!!!

网上有很多都是直接使用终端命令一步完成的,我想说的是 看准文件名!

以下贴上命令~ 玩得转终端的这些命令相信很容易就看懂了~

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

重启查看, 啦啦啦~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值