docker-compose啟動(dòng)mysql并配置遠(yuǎn)程訪(fǎng)問(wèn)

version: "3.7"

services:

? mysql:

? ? container_name: mysql

? ? image: mysql:latest? ? ? ? ? ? ? ? ? ? ? ? ? ? #從私有倉(cāng)庫(kù)拉鏡像

? ? restart: always? ? ?

? ? command: --default-authentication-plugin=mysql_native_password #這行代碼解決無(wú)法訪(fǎng)問(wèn)的問(wèn)題

? ? volumes:

? ? ? - /data/mysql/data/:/var/lib/mysql/? ? ? ? ? ? ? ? ? ? ? ? ? ? #映射mysql的數(shù)據(jù)目錄到宿主機(jī),保存數(shù)據(jù)

? ? ? - /data/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf? ?#把mysql的配置文件映射到容器的相應(yīng)目錄

? ? ports:

? ? ? ? ? ? - "3306:3306"

? ? environment:

? ? ? - MYSQL_ROOT_PASSWORD=123456

? ? ? - LANG=C.UTF-8

啟動(dòng)mysql: sudo docker-compose -f mysql.yml up -d? 沒(méi)有報(bào)錯(cuò)即啟動(dòng)成功


查看運(yùn)行的docker容器:sudo docker ps


已Bash進(jìn)入容器:sudo docker exec -it 7f /bin/bash

mysql -u root -p

mysql> use mysql;

mysql> grant all privileges on *.* to 'root'@'%';

mysql> flush privileges;

刷新權(quán)限遠(yuǎn)程還是無(wú)法訪(fǎng)問(wèn),Navicat包2509authentication plugin caching_sha2錯(cuò)誤。查詢(xún)資料發(fā)現(xiàn),mysql是8.0版本的,mysql 8.0 默認(rèn)使用 caching_sha2_password 身份驗(yàn)證機(jī)制 —— 從原來(lái)的 mysql_native_password 更改為 caching_sha2_password

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

Query OK, 0 rows affected (0.02 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.02 sec)

Navicat再次連接OK。



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。 方法:修改用戶(hù)的密碼和加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼';

要同賦予用戶(hù)權(quán)限時(shí)相同。?若是localhost就同上。%也是如此

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

以前版本的mysql密碼加密使用的是?mysql_native_password

新添加的用戶(hù)密碼默認(rèn)使用的?caching_sha2_password

如果在以前mysql基礎(chǔ)上升級(jí)的 就得用戶(hù)使用的密碼加密使用的是 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了!

參考原文:https://blog.csdn.net/weixin_42459563/article/details/80924634

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容