欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何連接docker中的MySQL容器

 更新時間:2022年11月30日 10:00:46   作者:Villero  
這篇文章主要介紹了如何連接docker中的MySQL容器問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

連接docker中MySQL容器

我以gin web項目為例,演示在容器中運(yùn)行時mysql的相關(guān)配置。

1. 登入MySQL修改訪問權(quán)限并刷新權(quán)限。

update user set host = '%' where user = 'root';

grant all on *.* to admin@'%' identified by 'root' with grant option; 

允許所有用戶拿著密碼“root”去訪問。

flush privileges; 刷新權(quán)限

2. 修改密碼認(rèn)證配置。

由于docker上MySQL的版本是8.0.19


而我本地MySQL是5.7兩者的認(rèn)證方式不一樣(前者是caching_sha2_password,后者是my_native_password)因此我們對它進(jìn)行修改。

我修改了所有用戶的密碼認(rèn)證配置后才起效。

3. 至此,我已經(jīng)可以用本地的數(shù)據(jù)庫圖形化界面連接docker中的MySQL容器。

但是在關(guān)聯(lián)運(yùn)行g(shù)in_blog_docker_scrach時數(shù)據(jù)庫一直拒絕連接:

最后,我查閱資料得知:

在go應(yīng)用中使用localhost或則使用127.0.0.1地址都是無法找msyql服務(wù)的,因為該地址被解析成了當(dāng)前go應(yīng)用docker容器中的ip地址;

修改應(yīng)用配置中的ip地址:

再次運(yùn)行容器:

無錯發(fā)生。

大功告成!

docker中MySQL容器啟動

一 下拉鏡像

docker pull mysql:5.7

docker images查看鏡像

二 運(yùn)行鏡像

1. 運(yùn)行鏡像,如果不掛載路徑運(yùn)行執(zhí)行以下就可以

docker run -id --name mysql ?-p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
  • -i:表示創(chuàng)建并運(yùn)行容器
  • -d:表示后臺運(yùn)行
  • -p:映射端口,相對于訪問宿主機(jī)ip:3306 就是訪問的mysql容器
  • -e:配置mysql,這里設(shè)置了一下root密碼,當(dāng)然也可以也又其它設(shè)置選項,在這沒用到
  • mysql:5.7:鏡像名和版本,如果這個鏡像不存在會自動下載鏡像

2. 掛載路徑

掛載路徑的好處一是方便我們修改和查看,比如修改mysql配置文件my.cnf,不掛載的話需要進(jìn)入容器然后在修改,my.cnf掛載出來后可以直接在宿主機(jī)查看,日志文件也是同樣的,第二個好處是防止暑假丟失,如果容器不小心停止刪除了數(shù)據(jù)庫中的所有數(shù)據(jù)就丟失了。

docker run ?-id --name mysql?
-v /docker/mysql/log/:/var/log ?
-v /docker/mysql/data/:/var/lib/mysql ?
-v /docker/mysql/my.cnf:/etc/my.cnf?
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

用了三個-v,分別掛載出來日志 mysql數(shù)據(jù)和my.cnf,-v 宿主機(jī)文件 容器中文件

直接運(yùn)行上面命令可能啟動失敗,需要在宿主機(jī)中先創(chuàng)建一個my.cnf,即在宿主機(jī)docker/mysql中床新建一個文件my.cnf文件內(nèi)容為:

[mysqld]
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
?
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
?
#log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock
?
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

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

使用可視化工具連接mysql測試

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker部署jdk21的鏡像全過程

    docker部署jdk21的鏡像全過程

    這篇文章主要給大家介紹了關(guān)于docker部署jdk21的鏡像的相關(guān)資料,鏡像中包含了應(yīng)用程序所需要的運(yùn)行環(huán)境,函數(shù)庫,配置,以及應(yīng)用本身等各種文件,這些文件分層打包而成,需要的朋友可以參考下
    2024-02-02
  • docker-compose啟動redis多機(jī)集群的實(shí)現(xiàn)(6臺服務(wù)器3主3從)

    docker-compose啟動redis多機(jī)集群的實(shí)現(xiàn)(6臺服務(wù)器3主3從)

    本文主要介紹了docker-compose啟動redis多機(jī)集群的實(shí)現(xiàn)(6臺服務(wù)器3主3從),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 詳解Shell腳本控制docker容器啟動順序

    詳解Shell腳本控制docker容器啟動順序

    這篇文章主要介紹了Shell腳本控制docker容器啟動順序的相關(guān)資料,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Docker設(shè)置日志滾動的解決方案

    Docker設(shè)置日志滾動的解決方案

    Docker容器默認(rèn)將日志寫入同一文件,可能導(dǎo)致磁盤滿,解決方案包括修改全局docker.service配置或針對特定容器修改hostconfig.json,下面給大家介紹Docker設(shè)置日志滾動的解決方案,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • Docker 使用nsenter工具進(jìn)入容器的操作

    Docker 使用nsenter工具進(jìn)入容器的操作

    這篇文章主要介紹了Docker 使用nsenter工具進(jìn)入容器的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Docker容器的創(chuàng)建、啟動、和停止的方法

    Docker容器的創(chuàng)建、啟動、和停止的方法

    這篇文章主要介紹了Docker容器的創(chuàng)建、啟動、和停止的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 使用docker compose一鍵部署多個服務(wù)的方法

    使用docker compose一鍵部署多個服務(wù)的方法

    docker compose 是 docker 官方的開源項目,用來實(shí)現(xiàn)對 docker 容器集群的快速編排,通過docker-compose可以一鍵創(chuàng)建和刪除多個容器 ,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-01-01
  • Docker容器的Tengine實(shí)踐

    Docker容器的Tengine實(shí)踐

    Tengine是淘寶開發(fā)的基于nginx的應(yīng)用服務(wù)器,反向代理服務(wù)器。它兼容nginx的所有配置,并且在其上增加了很多實(shí)用的功能,例如動態(tài)模塊加載,集成lua語言進(jìn)行擴(kuò)展等,在性能方面有了比較大的改進(jìn)。今天我們來看下在Docker下如何部署
    2016-06-06
  • Docker安裝Presto連接Hive的詳細(xì)過程

    Docker安裝Presto連接Hive的詳細(xì)過程

    這篇文章主要介紹了Docker安裝Presto連接Hive的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 詳解基于Docker的服務(wù)部署流程

    詳解基于Docker的服務(wù)部署流程

    這篇文章主要介紹了詳解基于Docker的服務(wù)部署流程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論