Centos7.2下修改Mysql5.6字符集编码为UTF-8

本文介绍了在Centos7.2系统中如何将Mysql5.6的字符集编码改为UTF-8,包括修改配置文件`/etc/my.cnf`,在[client]和[mysqld]部分添加相关设置,以及通过命令行临时修改字符集的方法,但后者在服务重启后需要重新设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看mysql当前字符集:

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/share/mysql/charsets/ |
| validate_password_special_char_count | 1                          |
+--------------------------------------+----------------------------+
9 rows in set (0.01 sec)


其中,

character_set_client    为客户端编码方式;

character_set_connection    为建立连接使用的编码;

character_set_database    数据库的编码;

character_set_results    结果集的编码;

character_set_server    数据库服务器的编码;

只要保证以上五个采用的编码方式一样,就不会出现乱码问题。

1、修改mysql的配置文件,一般是”/etc/my.cnf“。如果不确定可以按下面方法查找配置文件的位置。

which mysqld
[root@ ~]# which mysqld
/usr/sbin/mysqld
[root@ ~]# /usr/sbin/mysqld --verbose --help | grep -A 1 'Default options'
2018-03-29T02:13:30.510089Z 0 [ERROR] Can't find error-message file '/usr/share/mysql/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf

用vim修改 /etc/my.cnf

vi /etc/my.cnf

在[client]字段下添加:

default-character-set = utf8

(如果没有这字段,自己添加。)

在[mysqld]字段下添加:
character-set-server = utf8
collation-server = utf8_general_ci

2、重启mysql服务

service mysqld stop
service mysqld start

3、查看字符集编码

mysql> 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/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

----------------------------------------------------------------------------------------------------------------

也可以通过命令修改mysql字符集

set character_set_client=utf8; //客户端字符集
set character_set_connection=utf8; //链接字符集
set character_set_database=utf8; //数据库字符集
set character_set_results=utf8;  //结果字符集
set character_set_server=utf8;  //服务器字符集
set character_set_system=utf8;  //系统字符集
set collation_connection=utf8; //链接校对
set collation_database=utf8;  //数据库校对
set collation_server=utf8;    //服务器校对

这种方式在mysql服务重启后,需要再次设置。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值