再使用Docker安裝MySQL時,使用MySQL官方提供的Docker鏡像。
鏡像訪問地址:https://hub.docker.com/r/mysql/mysql-server/
第一步:下載MySQL鏡像文件
再官方鏡像文檔描述中我們能看到MySQL為我們提供了不同版本的鏡像。
下載MySQL5.7的鏡像文件:
docker pull mysql/mysql-server:5.7
第二步:啟動一個MySQL容器
docker run --name=mysql5.7 -p 3306:3306 -p 33060:33060 -d mysql/mysql-server:5.7
初始化完成后,查看Docker的輸出日志,將包含為root用戶生成的隨機密碼:
第三步:連接MySQL服務
docker exec -it mysql5.7 mysql -uroot -p
輸入MySQL生成的隨機密碼。
當被問到時,請輸入生成的root密碼(請參閱上面有關如何找到它的說明)。因為該MYSQL_ONETIME_PASSWORD
選項默認為true,所以在使用上面的示例命令啟動服務器容器並將mysql
客戶端連接到服務器后,必須通過發出以下語句來重置服務器root密碼:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
newpassword
用您選擇的密碼替換。密碼重置后,服務器即可使用。
第四步:測試連接MySQL
使用Navicat for MySQL連接MySQL:
會出現1130的錯誤:
解決方法見:https://my.oschina.net/u/2289161/blog/838218
再次測試連接MySQL成功。