docker mysqlタイムゾーンが間違っています

1310 ワード

方法一:一時修正
sql修正を実行し、再起動後に失効します.
set global time_zone = '+8:00'
修正に成功したかどうかを確認します.
select NOW()
方法2:永久修正
コンテナ生成時に加算
-e TZ=Asia/Shanghai
 
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=db123456 --name mysql -e TZ=Asia/Shanghai mysql:5.7
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=db123456 --name mysql mysql:5.7
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=db123456 --name mysql -e TZ=Asia/Shanghai mysql:5.7
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=db123456 --name mysql -e TZ=Asia/Shanghai -v /mnt/mysql:/var/lib/mysql mysql:5.7
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=db123456 --name mysql -e TZ=Asia/Shanghai -v /mnt/mysql:/var/lib/mysql mysql:5.7 --character-set-server=utf8 --collation-server=utf8_unicode_ci --character-set-client-handshake=FALSE


 
  • -e TZ=Asia/Shhanghaiタイムゾーンを中国タイムゾーンに変更
  • -p 3306:3306:3306:コンテナの3306ポートをホストの3306ポート
  • にマッピングする
  • -v $ PWD/conf/my.cnf:/etc/mysql/my.cnf:ホストの現在のディレクトリの下のconf/my.cnfを容器に掛ける/etc/mysql/my.cnf
  • -v$PWD/logs:/logs:ホストの現在のディレクトリのログディレクトリをコンテナの/logs
  • にマウント
  • -v $ PWD/data:/mysql_data:ホストの現在のディレクトリの下のデータディレクトリをコンテナの/mysql_にマウントdata
  • -e MYSQL_ROOT_PASWORD=123456:rootユーザーのパスワードを初期化