Docker(部署常見應用):Docker安裝MySql完整教程、實操


SpringCloudAlibaba實戰教程系列  

docker:官網    中文官網

docker:鏡像官網

Docker 命令大全

       鏡像官網可以所有應用,選擇安裝環境:會給出安裝命令,例如:docker pull redis 默認拉取最新的版本(指定版本:docker pull redis:5.0.8

一、拉取mysql官方鏡像,鏡像更多解釋

     1、登錄docker 鏡像官網搜索mysql,找到制定的版本拉去,這里使用mysql5.7.30

docker pull mysql:5.7.30

 

  2、查看docker的鏡像

docker images

 二、根據鏡像創建mysql容器

  1、 創建容器內在本地的映射文件夾

mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf

  2、初始化mysql的配置文件*.cnf,在/root/mysql/conf

touch /root/mysql/conf/my.cnf

   3、創建docker容器並啟動,將數據,日志,配置文件映射到本機

  創建容器返回container的id

docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/var/log/mysql -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.30

-d: 后台運行容器,也可以使用鏡像id

-p 將容器的端口映射到本機的端口

-v 將主機目錄掛載到容器的目錄

-e 設置參數  MYSQL_ROOT_PASSWORD 指定登錄密碼

     啟動容器兩種方式

    a、指定container的id

docker start f46be2f4e1c7

        b、指定容器的名字

docker start mysql

  4、查看服務是否啟動

docker ps

   5、登錄docker容器,登錄mysql

docker exec -it f46be2f4e1c7 /bin/bash
f46be2f4e1c7 是上面docker ps中展示容器id

   6、查看文件是否本持久化到本地

ls /root/mysql/data/
或者
cd /root/mysql/data/
ls

 

兩種異常情況:

1、 客戶端登錄鏈接異常(一種權限不足下面為解決方案、另一種修改密碼版本不同方式不同)

#登錄docker容器(方式參考上方文檔)后登錄mysql
mysql -uroot -proot
#修改登錄者的權限
GRANT ALL ON *.* TO 'root'@'%';
#刷新命令生效
 flush privileges;

2、JDBC啟動報鏈接異常,鏈接異常是因為缺少必要的參數,根據以下參數進行檢測即可。

jdbc:mysql://127.0.0.1:3306/cloud_user?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf-8&autoReconnect=true

//北京時間==東八區時間!=北京當地時間 serverTimezone=GMT%2B8
//或者使用上海時間serverTimezone=Asia/Shanghai

 

 

 

拓展文檔:

Docker(部署常見應用):Docker安裝MySql完整教程、實操 

Docker版:Mysql分庫分表MyCat實戰  

Docker實現Mysql主從復制實戰(一主一從、雙主雙從)  

docker部署mysql集群 

mysql 5.8以上版本有問題可以參考:

mysql-管理命令【創建用戶、授權、修改密碼、刪除用戶和授權、忘記root密碼】

 


免責聲明!

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



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