1.docker search mysql 查看mysql版本
![](/d/20211016/a4c9eb9518f05564d83c63c746649b8a.gif)
2.docker pull mysql 要選擇starts最高的那個(gè)name 進(jìn)行下載
3.docker images 查看下載好的鏡像
4.啟動(dòng)mysql實(shí)例
docker run --name dockermysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
--name
為mysql的實(shí)例設(shè)置別名。 -p 3307為對(duì)外暴露的端口。3306是內(nèi)部端口
-e MYSQL_ROOT_PASSWORD
設(shè)置mysql登錄密碼 -d 以守護(hù)進(jìn)程運(yùn)行(后臺(tái)運(yùn)行) 最后的mysql是鏡像名稱
5. docker ps -a 查看在運(yùn)行的
![](/d/20211016/2c87e11303eb43740f783d6bde0e2f8d.gif)
6. docker exec -it dockermysql bash 進(jìn)入容器內(nèi)部 dockermysql 是上邊運(yùn)行時(shí)為容器取的別名 也可以用id替代
7.docker mysql -u root -p 然后直接輸入密碼即可 密碼是在運(yùn)行時(shí)設(shè)置的
![](/d/20211016/5ad8649aed0e95dec2b246a4ef61bbcb.gif)
use mysql
8.grant all privileges on *.* to 'root'@'%' ; 給用于授予權(quán)限
GRANT ALL PRIVILEGES ON *.* ‘root'@'%' identified by ‘123123' WITH GRANT OPTION; 這是網(wǎng)上流傳較多的寫法。實(shí)際上會(huì)報(bào)錯(cuò)的。
9.flush privileges; 刷新權(quán)限
10.登錄
![](/d/20211016/df4f3d074571d1beb5fb6b7a43cbb060.gif)
11.Mysql遠(yuǎn)程連接報(bào)錯(cuò):authentication plugin caching_sha2
mysql 8.0 默認(rèn)使用 caching_sha2_password 身份驗(yàn)證機(jī)制 —— 從原來(lái)的 mysql_native_password 更改為 caching_sha2_password。
從 5.7 升級(jí) 8.0 版本的不會(huì)改變現(xiàn)有用戶的身份驗(yàn)證方法,但新用戶會(huì)默認(rèn)使用新的 caching_sha2_password 。
客戶端不支持新的加密方式。
方法之一,修改用戶的密碼和加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼';
要同賦予用戶權(quán)限時(shí)相同。 若是localhost就同上。%也是如此
mysql8.*的新特性 caching_sha2_password 密碼加密方式
以前版本的mysql密碼加密使用的是 mysql_native_password
新添加的用戶密碼默認(rèn)使用的 caching_sha2_password
如果在以前mysql基礎(chǔ)上升級(jí)的 就得用戶使用的密碼加密使用的是 mysql_native_password
如果使用以前的密碼加密方式,就修改文件 /etc/my.cnf
數(shù)據(jù)庫(kù)時(shí)區(qū)問(wèn)題:
鏈接數(shù)據(jù)庫(kù)時(shí)serverTimezone=UTC這個(gè)參數(shù)出的問(wèn)題
只要改成serverTimezone=Asia/Shanghai就OK了!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。