设置Mysql数据库的默认编码为utf8


设置Mysql数据库的默认编码为utf8

sunny 分享于 26 天 前, 2 条回复, 104 次浏览

mysql的默认编码为latin1,存储中文时总会出现乱码,每次改过了,下次又忘了该怎么配,把它记录下来,也分享给各位。

进入mysql,查看默认编码:

$ mysql -uroot -proot

$ show variables like character%'

显示字符编码:

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

现暂停mysql服务:

$sudo /etc/init.d/mysql stop

修改 /etc/mysql/my.cnf

$ sudo chmod 777 /etc/mysql/my.cnf

$ vim /etc/mysql/my.cnf

client下面加上:

default-character-set=utf8

mysqld下面加上:

default-character-set=utf8

init_connect='SET NAMES utf8'

保存,退出wq

重启mysql服务:

$sudo /etc/init.d/mysql start

发现出错:

Warning: World-writable config file '/etc/mysql/my.cnf' is ignored

/usr/bin/mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'luoping'@'localhost' (using password: NO)'

原因为:/etc/mysql/my.cnf 权限太高,搜索了一番,有人说许改为600,但是我发觉不行,查看了/etc/mysql/文件夹里的其他文件,权限是755,所以修改权限

$sudo chmod 755 /etc/mysql/my.cnf

重启mysql服务,OK

再次查看数据库编码

$ mysql -uroot -proot

$ show variables like character%'

显示字符编码:

+--------------------------+----------------------------+

| 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/share/mysql/charsets/ |

+--------------------------+----------------------------+

回复 (2 条)

  • # 1 楼
    jerry 回复于 25 天 前

    貌似用windows的同学容易有这个数据库默认的编码问题。

  • # 2 楼
    aoner 回复于 20 天 前

    windows上更容易点吧,安装的时候有提示,可以自己选择编码,不用像linux安装完了在改配置文件

添加回复

  1. 如果你还未注册, 请填写你的名字。

  2. 你可以实用以下html标签:

    <a href="" title=""> <b> <blockquote> <pre> <code> <em> <i> <strong>

    代码块请使用 <pre><code>...</code></pre>.


原文地址:https://www.cnblogs.com/lexus/p/1902195.html