Linux Mysql5.6.42修改字符集

  1. 进入/etc目录下
cd /etc
  1. 打开my.cnf文件
vim my.cnf
  1. 修改以下部分(Mysql5.6.42默认的配置文件中可能没有[client和[mysql],直接添加即可)
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8

[mysqld]
character_set_server = utf8
character_set_client = utf8
collation-server = utf8_general_ci

[mysql]
no-auto-rehash
default-character-set=utf8

# 将这段话注释掉,否则将会报错
# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  1. 重启数据库
service mysql restart
  1. 查看字符集
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/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

修改成功

  1. 查数据库中的数据,看是否能显示
mysql> use db01;

mysql> select * from user;
+----+------+
| id | name |
+----+------+
|  1 | z1   |
|  2 | ??   |
+----+------+
2 rows in set (0.00 sec)

发现中文字符还是显示乱码,原因是因为这个库是我们在修改字符集之前创建的,其编码方式仍不失utf8,重新建库进行测试。

mysql> create database db02;
Query OK, 1 row affected (0.00 sec)

mysql> use db02;
Database changed
mysql> create table user(id int not null, name varchar(20));
Query OK, 0 rows affected (0.09 sec)

mysql> select * from user;
Empty set (0.00 sec)

mysql> insert into user values(1,'张三');
Query OK, 1 row affected (0.01 sec)

mysql> select * from user;
+----+--------+
| id | name   |
+----+--------+
|  1 | 张三   |
+----+--------+
1 row in set (0.00 sec)

测试成功

  1. 我们最好在安装好Mysql之后就立即对数据库的编码方式进行修改。因为在修改字符集之前创建的数据库中文显示仍将是乱码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值