1) 拉取基礎鏡像mysql
docker pull mysql
2)構建容器(操作系統,在這里面已經安裝好了mysql),進入交互式環境
運行容器:docker run -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -itd 鏡像名稱或id
進入容器:docker exec -it 容器id /bin/bash
- 參數說明
-e 設置環境變量
-p 端口映射 外部端口:內部端口
-d 后臺運行
-it 交互式運行
- 安全退出容器 ctrl+p+q
- 刪除容器:先stop再刪 docker stop 容器id docker rm 容器id
3)navicat訪問mysql遇到的問題及解決方案
報錯:
image.png
原因:mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之后,加密規則是caching_sha2_password
解決:
use mysql; #選擇數據庫
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用戶密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES; #刷新權限
查看是否更改成功:
select host,user,plugin from user;
image.png