Mysql(5.7)设置字符集为UTF-8

之前在使用Mysql 5.1 版本的时候,是通过在 /etc/my.cnf增加如下配置来设置字符集的:
Mysql(5.7)设置字符集为UTF-8_第1张图片

但是今天在 5.7 版本上使用同样的方式时,导致 mysql 无法启动,日志文件 /var/log/mysqld.log 中一直报错:

unknown variable 'default-character-set=utf8'

问题就在 mysqld 中的 default-character-set=utf8 这个配置,它现在是个NG的配置,我们要做的就是将其删除,只要保留 character_set_server=utf8 即可。

另外,我们也通过命令行来调整。

不过,命令行的调整只是临时的。当mysql重启之后就失效了。

步骤如下:

  • 使用 root 用户 登陆 mysql
> mysql -uroot -p
  • 显示所有 ‘character’ 相关变量
> show variables like 'character%';
+--------------------------+----------------------------+
| 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     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
  • 将所需要的变量修改为utf8
> set character_set_database=utf8;
Query OK, 0 rows affected, 1 warning (0.00 sec)

参考文档

  • mysqlbinlog 查看binlog时报错unknown variable ‘default-character-set=utf8’

你可能感兴趣的:(Mysql,db)