docker部署mysql 實現(xiàn)遠程連接的示例代碼
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是內(nèi)部端口
-e MYSQL_ROOT_PASSWORD
設置mysql登錄密碼 -d 以守護進程運行(后臺運行) 最后的mysql是鏡像名稱
5. docker ps -a 查看在運行的
6. docker exec -it dockermysql bash 進入容器內(nèi)部 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; 這是網(wǎng)上流傳較多的寫法。實際上會報錯的。
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 版本的不會改變現(xiàn)有用戶的身份驗證方法,但新用戶會默認使用新的 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
數(shù)據(jù)庫時區(qū)問題:
鏈接數(shù)據(jù)庫時serverTimezone=UTC這個參數(shù)出的問題
只要改成serverTimezone=Asia/Shanghai就OK了!
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
docker安裝java環(huán)境的實現(xiàn)步驟
這篇文章主要介紹了docker安裝java環(huán)境的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12Docker安裝Redis并使用Another?Redis?Desktop?Manager連接的方法
Redis?是一個使用C語言編寫的、開源的(遵守?BSD?協(xié)議)、高性能的、支持網(wǎng)絡、可基于內(nèi)存亦可持久化的日志型、Key-Value的NoSQL數(shù)據(jù)庫,這篇文章主要介紹了Docker安裝Redis并使用Another?Redis?Desktop?Manager連接,需要的朋友可以參考下2022-09-09