网上查了不少资料,但是按照去做 执行
docker restart mysql
后 容器都起不来了
经过逐一排查
在 etc/mysql/mysql.conf.d/mysql.cnf 中
[mysqld]
default-character-set = utf8
character_set_server = utf8
是错误的!!!
应该是
[mysqld]
character-set-server = utf8
完整步骤
1、进入mysql容器
docker exec -ti xxx(容器id) /bin/bash
2、进入mysql
mysql -u root -p
xxxxx(密码)
SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
主要要把 character_set_server 改成 utf8
3、编辑文件
vim /etc/mysql/mysql.conf.d/mysql.cnf
(先安装vim)
1、apt-get update
2、apt-get install vim
加入:
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
[mysqld]
character-set-server= utf8
init_connect=’SET NAMES utf8’
4、重启Mysql容器
`docker restart xxxx(容器ID)
5、检查是否成功
进入容器、进入mysql
SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| 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)