1.docker search mysql 查看mysql版本
2.docker pull mysql #要選擇starts最高的那個name 進行下載
3.docker images 查看下載好的映像
#4.啟動mysql實例
docker run --name dockermysql -p 3307:3306 -e mysql_root_password=my-secret-pw -d mysql
## --name為mysql的實例設定別名。 -p 3307為對外暴露的連接埠。 3306是內部連接埠
-e mysql_root_password 設定mysql登入密碼 -d 以守護程式運作(後台執行) 最後的mysql是鏡像名稱
檢視在執行的
#進入容器內部 dockermysql 是上邊執行時為容器取的別名也可以用id替換
## 7.docker mysql -u root -p 然後直接輸入密碼即可密碼為執行時設定的
#use mysql
8.grant all privileges on *.* to 'root'@'%' ; ##給用於授予權限
grant all privileges on *.* 'root'@'%' identified by '123123' with grant option; 這是網路上流傳較多的寫法。實際上會報錯的。
9.flush privileges; 重新整理權限
10.登入
11.mysql遠端連線報錯:authentication plugin caching_sha2
從 5.7 升級 8.0 版本的不會改變現有使用者的驗證方法,但新使用者會預設使用新的 caching_sha2_password 。
客戶端不支援新的加密方式。
方法之一,修改使用者的密碼和加密方式
alter user 'root'@'%' identified with mysql_native_password by '密碼';
#要同賦予用戶權限時相同。 若是localhost就同上。 %也是如此
###mysql8.*的新功能caching_sha2_password 密碼加密方式######先前版本的mysql密碼加密使用的是 ###mysql_native_password############新加入的使用者密碼預設使用的 ###caching_sha2_password#############如果在先前mysql基礎上升級的就得使用者使用的密碼加密使用的是mysql_native_password######## ##如果使用先前的密碼加密方式,就修改檔案/etc/my.cnf ######資料庫時區問題:######連結資料庫時servertimezone=utc這個參數出的問題#### ##只要改成servertimezone=asia/shanghai就ok了! ###以上是docker如何部署mysql實現遠端連接的詳細內容。更多資訊請關注PHP中文網其他相關文章!