mac下修改mysql默认字符集为utf8

1、首先检查默认安装的字符集

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

character_set_database和character_set_server依然是latin1的字符集,也就是说mysql后续创建的表都是latin1字符集的,不是utf8,会造成一些麻烦。所以有必要修改my.cnf,在修改my.cnf之前一定要关闭mysql进程,不然会遇到mysql的sock不能连接的问题。

2、查看是否有my.cnf文件在/etc/目录下

ls -al /etc/

检查了一下,发现本机没有my.cnf,查看了很多资料,他们说可以去/usr/local/mysql的安装目录下找到support-files,复制下面格式类似my-**.cnf的文件到/etc/目录下即可。命令如下:

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

3、修改/etc/my-default.cnf文件名为my.cnf,并修改里面的配置

cat /etc/my.cnf

查看配置文件的内容

ls -l /etc/my.cnf

查看文件的读写权限,如果为644(rw- r-- r--)则改为(664) (rw- rw- r--)

如果改为(666)(rw- rw- rw-)则修改以后配置文件不会生效。下面详细讲解为什么不会生效。

sudo chmod 664 /etc/my.cnf

输入密码即可。

4、修改配置文件内容

vi /etc/my.cnf

在文件最上面加上

[client]
default-character-set=utf8

在[mysqld]下增加

character-set-server=utf8

键入:wq!保存并退出

5、重新查看编码集

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.6.23-osx10.8-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)

出现问题详解:

一开始我输入的命令为

<span style="color:#ff0000;">chmod a+w /etc/my.cnf</span>

这条命令的意思是my.cnf对所有用户都有写的权限,这样就变成了666了。导致我改完以后也不报错,也不生效。

直到我关闭了数据库服务,再进入数据库的时候,数据库出现一个错误

<span style="color:#ff0000;">World-writable config file '/etc/my.cnf' is ignored</span>

大概意思是权限全局可写,任何一个用户都可以写。mysql担心这种文件被其他用户恶意修改,所以忽略掉这个配置文件。

一下子我就懂了,打开数据库服务,修改成664后,再重启数据库,再查看编码已经成功修改。

时间: 2024-10-11 01:22:48

mac下修改mysql默认字符集为utf8的相关文章

修改mysql默认字符集

(1) 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,ubuntu下mysql的配置文件是在 /etc/mysql/my.cnf下, 我是将这个文件复制到我的 /home/username文件夹下,重命名为 .my.cnf,这样即使配置出错,也不会影响数据库的正常运行 如: [client] default-character-set = utf8 [mysqld] character_set_server = utf8 修改完后,重启mysql的服务, sudo res

ubantu 下 修改mysql 默认编码

启动mysql后,以root登录mysql [email protected]:~# mysql -uroot -proot mysql> show variables like 'character%'; #执行编码显示+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+

修改MySQL默认字符集编码

好记心不如烂笔头,很多东西当时没记下来,过了就忘了,下次用到时又得浪费好多时间才能解决.今天又遇到修改MySQL默认字符集编码的问题,折腾了半天解决了,赶快记录下来,以后就不用每次折腾了. 查看MySQL字符集的命令是“show variables like '%char%';”. 以MySQL5.6为例,默认的字符集为: 在工作中需要将字符集全部修改为utf8. 以下是修改的方法: 1.打开安装目录,默认在“C:\Program Files\MySQL\MySQL Server 5.6”, 2

修改mysql默认字符集的方法

mysql默认字符集能否进行修改呢?答案是肯定的,下面就将教您两种修改mysql默认字符集的方法,希望对您学习mysql默认字符集方面能有所启迪. (1) 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值, 如 default-character-set = utf8  character_set_server = utf8 修改完后,重启mysql的服务,service mysql restart 使用 mysql> SHOW VARIABLES LIKE 'charact

mac下修改mysql-root密码-各种权限问题解决

官方资料:http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-unix 还有一个值得参考的mysql安装,与python-mysql安装博客http://hearrain.com/2011/01/498 据官方文档说, For example, if you run the server using the mysql login account, you should l

win下修改mysql默认的字符集以防止乱码出现

环境:win8.1+mysql5.6.11+xampp(v3.2.1) 默认的编码如下 查看方式: show variables like 'character%'; 结果: 从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8.其中,character_set_client为客户端编码方式: character_set_connection为建立连接使用的编码: character_set_database数据库的编码: character_set_results结果集的编

修改mysql数据库字符集为UTF8的

第一种 一.修改my.ini配置文件(MySQL配置文件) character_set_server = utf8 #设置字符集 重启mysql数据库服务 查看当前数据库字符集 show VARIABLES like 'character%'; 二.修改数据库字符集 alter database 数据库名 character set utf8; ps:修改完数据库字符集,需要重启MySQL数据库. 三.修改表字符集 ALTER TABLE  表名 DEFAULT CHARACTER SET ut

Ubuntu 16.04.1下修改MySQL默认编码

在Ubuntu 下配置 MySQL 的字符编码.安装完 MySQL 后,系统默认的字符编码是 latin1 ,输入的是中文,可是输出却是一堆乱码.现在要做的就是把 MySQL的默认字符编码设置为支持中文的编码,如 GBK.GB23112.等. 首先进入MySQL存放配置文件的目录 ~#cd /etc/mysql/ 执行ls,查看下此文件夹下的文件 ~#ls 会发现有个文件是my.cnf,这个文件是mysql的配置文件 用vim打开此文件 ~#vi my.cnf 打开my.cnf后,会发现在此文件

修改mysql &nbsp; 默认字符集 , 默认引擎

cd /var/lib/mysql/game ll vim db.opt default-character-set=utf8 default-collation=utf8_general_ci wq service mysqld restart 或者 service mysqld reload 默认字符集修改完毕 vim /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql