docker部署mysql 實現遠程連接


轉載: https://blog.csdn.net/weixin_42459563/article/details/80924634

 

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’@’%’ ;   給用於授予權限

    GRANT ALL PRIVILEGES ON *.*  ‘root’@’%’ identified by ‘123123’ WITH GRANT OPTION;  這是網上流傳較多的寫法。實際上會報錯的。

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM