1.獲取mysql鏡像
從docker hub的倉庫中拉去mysql鏡像
docker pull mysql:8.0.22
2.運行一個mysql容器
docker run -d -p 3306:3306 --name mysql -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.22
//創建容器時,最后mysql:8.0.22表示mysql鏡像的版本,可以寫,表示指定該版本;如果不寫也可以,docker會自動在本地檢測有沒有最新的,如果沒有會自動去docker hub上去下載
上述命令各個參數的含義:
run 運行一個docker容器
--name 后邊這個是生成的容器的名字
-p 3306:3306 表示這個容器中使用3306(第二個)映射到本機的端口號也是3306(第一個)
-e MYSQL_ROOT_PASSWORD=123456 初始化root用戶的密碼
-d 表示使用守護進程運行,即服務掛載后台運行
-v 使用主機目錄和容器目錄映射來完成數據的持久化
查看當前docker容器的運行狀態:
docker ps : 查看運行中的容器
3.修改“root”賬戶的認證模式和密碼
MySQL新版本的“caching_sha2_password”授權認證模式的問題,我們將其改回“mysql_native_password”授權模式即可。
步驟:
1)進入MySQL容器,使用MySQL命令行工具連接MySQL
docker exec -it mysql /bin/bash
2)修改“root”賬戶的認證模式
3)使用外部工具驗證連接