如何解決IDEA無法連接docker中的數(shù)據(jù)庫的問題
IDEA無法連接docker中的數(shù)據(jù)庫
問題最后無解,或許可以通過抓包發(fā)現(xiàn)原因,但是經(jīng)過兩個(gè)小時(shí)的蠻力測試,最后證明可能當(dāng)前應(yīng)用的運(yùn)行環(huán)境有關(guān)。
畢竟生成環(huán)境用的就是簡單的‘123456’。
問題現(xiàn)象
本地idea起springboot的微服務(wù),以com.alibaba.druid.pool.DruidDataSource連接池連接docker中安裝的。
datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: 'jdbc:mysql://127.0.0.1:3306/user?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&verifyServerCertificate=false' username: root password: '123456' druid: initialSize: 50 minIdle: 50 maxActive: 300 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT user() testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true connection-properties: druid.stat.mergeSql:true;druid.stat.slowSqlMillis:5000
相關(guān)版本
連接池
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.20</version> </dependency>
數(shù)據(jù)庫
dockerfile: FROM mysql:5.7.25
現(xiàn)象
用以下命令可以修改數(shù)據(jù)庫密碼
grant all on *.* to root@'%' identified by 't$>9MJ4q' with grant option; flush privileges;
當(dāng)密碼采用
‘123456’或者‘abcdef’時(shí)無法連接;當(dāng)密碼采訪復(fù)雜的’t$>9MJ4q’時(shí),就可以直接連接成功。
嘗試了各種所謂密碼需要用‘’包裹的方式,都無效。
本機(jī)連接docker數(shù)據(jù)庫
首先要保證本機(jī)能訪問虛擬機(jī)的網(wǎng)絡(luò)
例如:可以通過遠(yuǎn)程連接工具連接到虛擬機(jī)
操作步驟
1.進(jìn)入容器
docker exec -it 容器id /bin/bash
1).獲取容器id
docker ps -a
圖中紅框?yàn)槿萜鱥d
2.操作容器mysql
mysql -uroot -p
use mysql
update user set password_expired = "Y"where user="root";
ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY '自己的數(shù)據(jù)庫密碼';
依次執(zhí)行完成之后,可以通過你的數(shù)據(jù)庫連接工具連接你docker中的數(shù)據(jù)庫
工具連接:
cmd終端連接:
mysql -h 192.168.5.130 -uroot -p -P 3306 //192.168.5.130為自己的虛擬機(jī)ip
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker 部署單機(jī)版 Pulsar 和集群架構(gòu) Redis(開發(fā)神器)的方法
這篇文章主要介紹了Docker 部署單機(jī)版 Pulsar 和集群架構(gòu) Redis(開發(fā)神器)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-103分鐘帶你學(xué)會(huì)docker搭建帕魯服務(wù)器
幻獸帕魯已經(jīng)正式開服,目前在線人數(shù)已經(jīng)超過7W+,很多玩家想自己創(chuàng)建服務(wù)器和朋友一起聯(lián)機(jī)游玩,本文主要介紹了3分鐘帶你學(xué)會(huì)docker搭建帕魯服務(wù)器,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01docker上安裝和卸載MySQL數(shù)據(jù)庫詳細(xì)圖文教程
Docker是一種容器化技術(shù),可以快速方便地部署和管理應(yīng)用程序,Mysql 是一個(gè)開源的關(guān)系型數(shù)據(jù)庫管理,系統(tǒng)這篇文章主要給大家介紹了關(guān)于docker上安裝和卸載MySQL數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2024-05-05如何使用 docker compose 搭建 fastDFS文件服務(wù)器
這篇文章主要介紹了如何使用 docker compose 搭建 fastDFS文件服務(wù)器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10docker實(shí)現(xiàn)MySQL數(shù)據(jù)同步的方法
docker的一大好處是在本地可以很方便快速的搭建負(fù)載均衡,主從同步等需要多主機(jī)的環(huán)境,本文主要介紹了docker實(shí)現(xiàn)MySQL數(shù)據(jù)同步的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Docker啟動(dòng)參數(shù)超詳細(xì)講解
在啟動(dòng)Docker容器時(shí),我們可以通過添加參數(shù)來修改容器的配置,這樣可以靈活地適應(yīng)不同的場景和需求,這篇文章主要給大家介紹了關(guān)于Docker啟動(dòng)參數(shù)的相關(guān)資料,需要的朋友可以參考下2024-01-01Docker實(shí)踐--部署Nodejs應(yīng)用
本篇文章主要介紹了Docker實(shí)踐--部署Nodejs應(yīng)用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01docker之如何設(shè)置日志文件大小及個(gè)數(shù)
這篇文章主要介紹了docker之如何設(shè)置日志文件大小及個(gè)數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05