首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在文件模式下修改码头图像mysql的时区和字符集。

在文件模式下修改码头图像mysql的时区和字符集。
EN

Stack Overflow用户
提问于 2022-06-28 01:34:16
回答 1查看 162关注 0票数 0

mysql的默认配置

代码语言:javascript
复制
mysql> show variables like'%time_zone';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | UTC    |
| time_zone        | SYSTEM |
+------------------+--------+
代码语言:javascript
复制
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,以解决汉字混淆的问题。

EN

回答 1

Stack Overflow用户

发布于 2022-06-28 01:39:47

永久修改Docker容器中mysql的时区

适用于mysql码头图像5.7 ~最新

输入已成功运行的docker映像。

代码语言:javascript
复制
docker exec -it mysql bash

查看数据库时区配置:

代码语言:javascript
复制
show variables like'%time_zone';

查看数据库时区结果:

代码语言:javascript
复制
mysql> show variables like "%time_zone";
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | UTC    |
| time_zone        | SYSTEM |
+------------------+--------+

查看数据库字符集配置:

代码语言:javascript
复制
SHOW VARIABLES LIKE 'character%';

查看数据库字符集结果:

代码语言:javascript
复制
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 )

代码语言:javascript
复制
apt-get update

apt升级完成后下载vim

代码语言:javascript
复制
apt-get install vim

如果vim修改了docker.cnf或mysqld.cnf图像文件,它将生效。你可以修改其中的任何一个。

代码语言:javascript
复制
vim /etc/mysql/conf.d/docker.cnf

或:

代码语言:javascript
复制
vim /etc/mysql/conf.d/mysql.cnf

文件中的默认显示(以下都以docker.cnf为例):

代码语言:javascript
复制
[mysqld]
skip-host-cache
skip-name-resolve

添加时区配置:东坝区(中国)

代码语言:javascript
复制
[mysqld]
default-time_zone = '+8:00'

增加数据库服务器utf8字符集配置

代码语言:javascript
复制
[mysqld]
character_set_server=utf8

增加数据库客户端utf8字符集配置

代码语言:javascript
复制
[client]
default-character-set=utf8

添加完成后,将显示为:

代码语言:javascript
复制
[mysqld]
skip-host-cache
skip-name-resolve
default-time_zone = '+8:00'
character_set_server=utf8

[client]
default-character-set=utf8

保存配置后,重新启动数据库(有效期为5.7)

代码语言:javascript
复制
service mysql restart

**建议直接退出容器并重新启动容器(因为在重新启动mysql之后仍然需要启动映像,最好是退出容器并直接重新启动映像)

代码语言:javascript
复制
docker restart mysql

再次输入docker映像mysql以查看修改是否成功。

时区视图:

代码语言:javascript
复制
show variables like "%time_zone";

时区视图结果:

代码语言:javascript
复制
mysql> show variables like "%time_zone";
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | UTC    |
| time_zone        | +08:00 |
+------------------+--------+

字符集视图:

代码语言:javascript
复制
SHOW VARIABLES LIKE 'character%';

字符集视图结果:

代码语言:javascript
复制
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/ |
+--------------------------+--------------------------------+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72779824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档