mysql的默认配置
mysql> show variables like'%time_zone';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | SYSTEM |
+------------------+--------+mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8mb4 |
| character_set_system | utf8mb3 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+我想将时区更改为East 8,将字符集改为utf-8,以解决汉字混淆的问题。
发布于 2022-06-28 01:39:47
永久修改Docker容器中mysql的时区
适用于mysql码头图像5.7 ~最新
输入已成功运行的docker映像。
docker exec -it mysql bash查看数据库时区配置:
show variables like'%time_zone';查看数据库时区结果:
mysql> show variables like "%time_zone";
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | SYSTEM |
+------------------+--------+查看数据库字符集配置:
SHOW VARIABLES LIKE 'character%';查看数据库字符集结果:
mysql> 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-8.0/charsets/ |
+--------------------------+--------------------------------+升级apt包管理工具(原因:不升级就无法下载vim )
apt-get updateapt升级完成后下载vim
apt-get install vim如果vim修改了docker.cnf或mysqld.cnf图像文件,它将生效。你可以修改其中的任何一个。
vim /etc/mysql/conf.d/docker.cnf或:
vim /etc/mysql/conf.d/mysql.cnf文件中的默认显示(以下都以docker.cnf为例):
[mysqld]
skip-host-cache
skip-name-resolve添加时区配置:东坝区(中国)
[mysqld]
default-time_zone = '+8:00'增加数据库服务器utf8字符集配置
[mysqld]
character_set_server=utf8增加数据库客户端utf8字符集配置
[client]
default-character-set=utf8添加完成后,将显示为:
[mysqld]
skip-host-cache
skip-name-resolve
default-time_zone = '+8:00'
character_set_server=utf8
[client]
default-character-set=utf8保存配置后,重新启动数据库(有效期为5.7)
service mysql restart**建议直接退出容器并重新启动容器(因为在重新启动mysql之后仍然需要启动映像,最好是退出容器并直接重新启动映像)
docker restart mysql再次输入docker映像mysql以查看修改是否成功。
时区视图:
show variables like "%time_zone";时区视图结果:
mysql> show variables like "%time_zone";
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | +08:00 |
+------------------+--------+字符集视图:
SHOW VARIABLES LIKE 'character%';字符集视图结果:
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8mb3 |
| character_set_connection | utf8mb3 |
| character_set_database | utf8mb3 |
| character_set_filesystem | binary |
| character_set_results | utf8mb3 |
| character_set_server | utf8mb3 |
| character_set_system | utf8mb3 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+https://stackoverflow.com/questions/72779824
复制相似问题