Docker安裝MySQL數據庫


本文翻譯自:MySQL Docker Containers:Understanding the basics

 

1.下載MySQL鏡像

docker pull mysql:5.6

如此便可以下載最新的MySQL鏡像,通過查看下載的鏡像列表查看驗證

 

 如果列表有顯示,說明Docker已經下載了對應的MySQL鏡像。

 

2.安裝鏡像

  • --name:運行后Container的名稱
  •  -e:環境變量(也寫作-env)
  •  -d:后台運行不退出
  • tag:版本號,此處為8.0(mysql),如果缺省則對應latest 
docker run --name=mysqldb -p=3306:3306 --env="MYSQL_ROOT_PASSWORD=longtao" mysql:5.6

  將Mysql配置文件映射到本機

docker run --name mysqldb -p 3306:3306  -v $PWD/conf/my.cnf:/etc/my.cnf.d/ -v $PWD/logs:/logs -v $PWD/data:/data -e MYSQL_ROOT_PASSWORD=longtao -d mysql:8.0

對於MySQL8.0以上的版本,報錯:Authentication plugin 'caching_sha2_password' cannot be loaded ,解決辦法:

docker run --name mysqldb -p 3306:3306  -v $PWD/conf/my.cnf:/etc/my.cnf.d/ -v $PWD/logs:/logs -v $PWD/data:/data -e MYSQL_ROOT_PASSWORD=longtao -d mysql:8.0 --default-authentication-plugin=mysql_native_password

MySQL默認編碼方式不是UTF8,可以在安裝時修改指令

docker run --name mysqldb3307 -p 3306:3306  -v $PWD/conf/my.cnf:/etc/my.cnf.d/ -v $PWD/logs:/logs -v $PWD/data:/data -e MYSQL_ROOT_PASSWORD=longtao -d mysql:8.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password

 

3.安裝PostGreSQL 

 docker run --name=postgredb -p=5432:5432 -env="POSTGRES_PASSWORD=longtao" -d postgres:11.1

 

4.常見錯誤

 錯誤1:未設置環境變量

 

錯誤2:navicat無法連接

 進入mysql容器

docker  exec  -it  <63c9e29aelef(容器id)>  bash

進入容器

mysql  --user=root  --password 

然后根據密碼提示輸入mysql密碼

然后輸入下面的命令,注意修改密碼(newpassword)

ALTER  USER  'root'  IDENTIFIED  WITH  mysql_native_password  BY  'newpassword'; 

 

 錯誤3:容器時區問題 

docker exec -it <容器名> /bin/bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime
docker restart <容器名>

 

 

參考 

Docker 多種數據庫的安裝

 

Docker MySql報2059錯誤: Authentication plugin 'caching_sha2_password' cannot be loaded

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM