docker部署mysql后無(wú)法連接的解決方式
1、創(chuàng)建實(shí)例命令
docker run -id --name=c_mysql -p 3306:3306 -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6.37
2、查看啟動(dòng)的實(shí)例 docker ps

3、這里映射的是宿主機(jī)的3306端口,我已經(jīng)把端口開(kāi)放了

4、在宿主機(jī)進(jìn)行連接

#這個(gè)報(bào)錯(cuò)像是mysql不存在,查看mysql是否啟動(dòng)

#mysql已啟動(dòng),端口也沒(méi)有被占用
5、已經(jīng)在容器里面測(cè)試了,mysql可以正常連接;在試試將root用戶開(kāi)放可以任何主機(jī)訪問(wèn)
5.1、進(jìn)入容器,并連接mysql
docker exec -it c_mysql bash mysql -uroot -p123456
5.2、將root用戶開(kāi)放所有主機(jī)可以訪問(wèn)
mysql> grant all privileges on . to root@‘%'; #授權(quán) mysql> flush privileges; #刷新權(quán)限表
6、在宿主進(jìn)再次進(jìn)行連接測(cè)試

#還是不行!??!
7、去百度了一下,覺(jué)得是宿主機(jī)的路由沒(méi)有開(kāi)啟,來(lái)試試看
#一圈回來(lái),發(fā)現(xiàn)問(wèn)題出在宿主機(jī),因?yàn)槿绻褂胢ysql命令,就是必須要/usr/bin/目錄下有這個(gè)命令。但是我是docker安裝mysql所以,宿主機(jī)不能使用mysql連接docker的數(shù)據(jù)庫(kù),使用遠(yuǎn)程工具navicat連接時(shí)報(bào)的錯(cuò),應(yīng)該是root用戶沒(méi)有開(kāi)啟,任何主機(jī)可以訪問(wèn)的權(quán)限。由于上面已經(jīng)開(kāi)了,我現(xiàn)在測(cè)試navicat是可以遠(yuǎn)程連接的

8、上面說(shuō)到了一個(gè)宿主機(jī)路由的問(wèn)題,我們路由沒(méi)開(kāi)的話就會(huì)導(dǎo)致宿主機(jī)于容器實(shí)例網(wǎng)絡(luò)隔絕,所以是要打開(kāi)的。
8.1、查看路由是否打開(kāi)
sysctl net.ipv4.ip_forward

#返回值為1代表路由已開(kāi)啟,為0就是未開(kāi)啟
8.2、開(kāi)啟路由
echo “net.ipv4.ip_forward = 1” >>/etc/sysctl.conf #將命令寫(xiě)入到/etc/sysctl.conf文件中 sysctl -p #加載內(nèi)核 sysctl net.ipv4.ip_forward #再次查看路由是否開(kāi)啟
補(bǔ)充:Docker里的Mysql無(wú)法連接,連接一段時(shí)間超時(shí)。ERROR 2013 (HY000): Lost connection to MySQL server at
嘗試使用命令行連接
mysql -h xxx.xxx.xxx.xxx -P 3306 -u root -p 123456
如果報(bào)錯(cuò):
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 "Internal error/check (Not system error)"
請(qǐng)重啟docker服務(wù)
然后再次啟動(dòng)容器
如果不是這種報(bào)錯(cuò),請(qǐng)檢查Mysql版本,如果為8.0及以上版本;需要注意,該版本密碼認(rèn)證機(jī)制已經(jīng)升級(jí),有些客戶端未能兼容,請(qǐng)使用新的認(rèn)證方式修改Mysql密碼
還有就是,所登錄的用戶是否允許任意主機(jī)連接
use mysql; select user,host from user;
僅允許本地連接:root@localhost
允許任意連接:root@%
如果發(fā)現(xiàn)為:root@localhost
不要直接修改此表
可以新建一個(gè)用戶,并賦予權(quán)限
#Mysql8.0: #添加遠(yuǎn)程登錄用戶 CREATE USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'passwd!'; #賦予權(quán)限 GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
總結(jié)
到此這篇關(guān)于docker部署mysql后無(wú)法連接解決的文章就介紹到這了,更多相關(guān)docker部署mysql無(wú)法連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 通過(guò)端口來(lái)連接一個(gè)容器的實(shí)現(xiàn)
這篇文章主要介紹了Docker 通過(guò)端口來(lái)連接一個(gè)容器的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
idea?+?Docker?+?阿里鏡像服務(wù)打包部署的過(guò)程
本文介紹了如何在IDEA中使用Docker打包鏡像,并將鏡像推送到阿里云鏡像服務(wù),同時(shí),還詳細(xì)說(shuō)明了如何在ECS服務(wù)器上安裝和配置Docker,并提供了常用的Docker命令和操作技巧,感興趣的朋友一起看看吧2025-02-02
Docker與docker-compose中volume參數(shù)的使用方式
文章介紹了Docker中的數(shù)據(jù)卷Volume的概念及其在宿主機(jī)和容器之間的數(shù)據(jù)共享和持久化,它詳細(xì)說(shuō)明了兩種數(shù)據(jù)掛載方式:通過(guò)宿主機(jī)絕對(duì)路徑掛載和通過(guò)卷標(biāo)映射掛載,包括匿名掛載和具名掛載,同時(shí),文章還展示了如何通過(guò)docker命令查看數(shù)據(jù)卷的宿主機(jī)目錄2024-11-11
Docker安裝ClickHouse并初始化數(shù)據(jù)測(cè)試
clickhouse作為現(xiàn)在流行的數(shù)據(jù)分析數(shù)據(jù)庫(kù),非常熱門(mén),docker如何安裝ClickHouse,很多朋友并不是很明白,今天小編抽空給大家分享一篇教程關(guān)于Docker安裝ClickHouse并初始化數(shù)據(jù)測(cè)試的問(wèn)題,一起看看吧2021-06-06
Docker+Jenkins+Gitee自動(dòng)化部署maven項(xiàng)目的實(shí)現(xiàn)
本文主要介紹了Docker+Jenkins+Gitee自動(dòng)化部署maven項(xiàng)目的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
Docker中部署Mino并掛載配置文件的項(xiàng)目實(shí)踐
本文主要介紹了Docker中部署Mino并掛載配置文件的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
docker打包Python環(huán)境的過(guò)程詳解
這篇文章主要介紹了docker打包Python環(huán)境過(guò)程,準(zhǔn)備工作需要大家復(fù)制python程序啟動(dòng)程序,具體操作流程跟隨小編一起看看吧2021-08-08
如何使用docker極簡(jiǎn)打包java.jar鏡像并啟動(dòng)
這篇文章主要介紹了如何使用docker極簡(jiǎn)打包java.jar鏡像并啟動(dòng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
docker?gitea?drone實(shí)現(xiàn)超輕量級(jí)CI?CD實(shí)戰(zhàn)詳解
這篇文章主要為大家介紹了docker?gitea?drone實(shí)現(xiàn)超輕量級(jí)CI?CD實(shí)戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10

