Docker:Docker部署mysql數據庫


docker部署mysql : 8.0

 

1.在宿主機創建mysql掛載目錄

#創建目錄
mkdir /home/mysql/conf
 
mkdir /home/mysql/logs
 
mkdir /home/mysql/data

 

2.docker拉取MySQL鏡像

docker pull mysql:latest

 

3.創建mysql容器

docker run --name mysql -p 3308:3306 -v /home/mysql/conf:/etc/mysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

參數解釋:

  • --name 容器名字
  • -p 3308:3306 物理機端口:容器內部端口
  • -e 運行參數 初始化 root 用戶的密碼
  • -d 后台運行 mysql/mysql-server:5.5 下載的鏡像名字加標簽
  • -v /home/mysql/conf:/etc/mysql:將主機當前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。//配置文件目錄
  • -v /home/mysql/data:/var/lib/mysql :將主機當前目錄下的data目錄掛載到容器的 /var/lib/mysql 。//數據庫文件存放目錄

 

4.進入容器內部

docker exec -it mysql bash

 

5.進入mysql

mysql –u root –p

 

6.修改遠程連接

#指定數據庫
use mysql;
#查看用戶連接范圍
select user, host from user;
#修改mysql允許遠程連接
update user set host='%' where user='root';
#刷新 flush privileges;

 

7.設置Navicat連接

mysql8.0使用Navicat連接會報錯:Client does not support authentication protocol requested by server;consider upgrading MySQL client.

解決方法:

#修改mysql加密機制
alter user 'root' IDENTIFIED WITH mysql_native_password by 'mysql密碼';
#刷新
flush privileges;

 

 

8.本機連接方式

# 本機連接容器內的數據庫,(我們將容器內的3306端口映射到了本機的3308,所以我們通過3308端口訪問)
mysql -u root -p -h 127.0.0.1 -P 3308

 

文章轉載至:https://www.cnblogs.com/liuyublog/p/9099376.html

 


免責聲明!

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



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