docker 安装mysql 8 时区不对
时间: 2023-08-31 15:09:43 浏览: 62
在Docker中安装MySQL 8时区不正确的问题通常是由于容器中的时区与主机不同步造成的。你可以按照以下步骤进行修复:
1. 进入运行中的MySQL容器:
```
docker exec -it mysql_container_id bash
```
2. 安装tzdata:
```
apt-get update
apt-get install -y tzdata
```
3. 设置时区为本地时区(比如东八区):
```
ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
dpkg-reconfigure --frontend noninteractive tzdata
```
4. 退出容器并重新启动:
```
exit
docker restart mysql_container_id
```
如果以上步骤没有解决问题,还可以尝试在MySQL配置文件中添加时区设置:
```
[mysqld]
default-time-zone = '+08:00'
```
然后重新启动MySQL容器。
相关问题
docker mysql设置时区_Docker 中 MySQL容器时区不对,导致插入的时间不准确
在 Docker 中,MySQL 容器的时区默认为 UTC 时区。如果您希望设置容器时区为本地时区,则可以通过以下步骤进行设置:
1. 创建一个新的 Dockerfile 文件,内容如下:
```
FROM mysql:latest
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
```
其中,/usr/share/zoneinfo/Asia/Shanghai 是您所在地区的时区,可以根据实际情况进行修改。
2. 在终端中执行以下命令,构建新的 Docker 镜像:
```
docker build -t mysql-tz .
```
其中,mysql-tz 是您自定义的镜像名称。
3. 在终端中执行以下命令,启动 MySQL 容器并挂载数据卷:
```
docker run -d -p 3306:3306 --name mysql -v /path/to/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password mysql-tz
```
其中,/path/to/data 是您本地存储数据的路径,password 是您设置的 MySQL root 用户密码。
4. 进入 MySQL 容器,并修改 MySQL 时区设置:
```
docker exec -it mysql bash
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
```
其中,mysql_tzinfo_to_sql 命令会将 /usr/share/zoneinfo 文件夹下的时区信息转换为 SQL 语句,然后通过管道符号将 SQL 语句传递给 MySQL 客户端进行执行。
5. 重启 MySQL 容器:
```
docker restart mysql
```
6. 现在,您可以在 MySQL 中插入本地时间了。例如:
```
INSERT INTO mytable (timestamp) VALUES (NOW());
```
以上就是设置 Docker 中 MySQL 容器时区的方法。希望对您有所帮助!
docker mysql 时区
docker mysql的时区是根据创建容器时的设置来确定的。如果在创建容器时没有指定时区,docker会默认选择UTC时区。如果想修改docker mysql的时区,有两种方法:
第一种方法是通过进入mysql容器并修改配置文件来实现。首先使用以下命令进入mysql容器:docker exec -it mysql bash,然后使用mysql -uroot -p命令登录mysql并查看当前时区。如果发现时区差了八小时,可以使用vim /etc/mysql/my.cnf命令来修改配置文件。如果提示vim命令不存在,可以先运行apt-get update命令更新软件包列表,然后再运行apt install vim命令安装vim编辑器。在vim编辑器中打开/etc/mysql/my.cnf文件,并添加时区相关的配置。修改完毕后,重启mysql的docker容器,使用docker restart mysql命令来重启容器。
第二种方法是在创建docker容器时通过设置环境变量来指定时区。使用以下命令创建docker容器:docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -e TZ=Asia/Shanghai -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0。通过设置环境变量TZ=Asia/Shanghai来指定时区为上海。
无论使用哪种方法,修改docker mysql的时区都可以使其符合我们的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)