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      然後直接輸入密碼即可 密碼是在執行時設定的

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

    GRANTALLPRIVILEGESON *.*  ‘root’@’%’ identified by ‘123123’ WITH

GRANTOPTION;  這是網上流傳較多的寫法。實際上會報錯的。

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'@'localhost' IDENTIFIED WITH mysql_native_password BY '密碼';

mysql8.*的新特性 caching_sha2_password 密碼加密方式

以前版本的mysql密碼加密使用的是 mysql_native_password
新新增的使用者密碼預設使用的 caching_sha2_password
如果在以前mysql基礎上升級的 就得使用者使用的密碼加密使用的是 mysql_native_password
如果使用以前的密碼加密方式,就修改檔案 /etc/my.cnf

資料庫時區問題:

連結資料庫時serverTimezone=UTC這個引數出的問題

只要改成serverTimezone=Asia/Shanghai就OK了!