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
