1. 程式人生 > 資料庫 >docker部署mysql 實現遠端連線的示例程式碼

docker部署mysql 實現遠端連線的示例程式碼

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是映象名稱

5. docker ps -a 檢視在執行的

6. docker exec -it dockermysql bash進入容器內部dockermysql 是上邊執行時為容器取的別名 也可以用id替代

7.docker mysql -u root -p 然後直接輸入密碼即可 密碼是在執行時設定的

use mysql

8.grant all privileges on *.*to 'root'@'%';給用於授予許可權

GRANTALLPRIVILEGESON*.*‘root'@'%' identified by ‘123123'WITHGRANTOPTION; 這是網上流傳較多的寫法。實際上會報錯的。

9.flush privileges; 重新整理許可權

10.登入

11.Mysql遠端連線報錯:authentication plugin caching_sha2

mysql 8.0 預設使用 caching_sha2_password 身份驗證機制 —— 從原來的 mysql_native_password 更改為 caching_sha2_password。

從 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了!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。