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

Docker安裝mysql教程以及解決mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘問題

 更新時(shí)間:2024年10月11日 09:18:24   作者:尋求出路的程序媛  
本文詳細(xì)介紹了如何通過Docker來安裝和配置MySQL數(shù)據(jù)庫,包括拉取MySQL鏡像、啟動(dòng)MySQL容器、配置MySQL、解決常見錯(cuò)誤等步驟,提供了詳盡的命令和參數(shù)說明,幫助用戶順利完成MySQL的安裝和配置,文中還提到了如何處理MySQL容器啟動(dòng)時(shí)遇到的“無法讀取目錄”

如果還沒在虛擬機(jī)/服務(wù)器中安裝docker,可以查閱相關(guān)文檔 先安裝docker。

一、下載MySQL的docker鏡像

拉取鏡像的命令為 docker pull 鏡像名:tagdocker pull 鏡像名,前者拉取指定版本的鏡像、后者拉取最新版本的鏡像。

此處拉取mysql 5.7

docker pull mysql:5.7
  • 如果提示權(quán)限不足的話,需要使用管理員的方式執(zhí)行:sudo docker pull mysql:5.7。
  • 可通過docker images查看拉取成功的鏡像。

二、啟動(dòng)MySQL容器

2.1 命令

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456  \
-d mysql:5.7

參數(shù)說明:

  • -p 3306:3306:將容器的3306端口映射到主機(jī)的3306端口。如果本地已安裝mysql或其他應(yīng)該占用了3306端口,可使用其他端口 -p port1:3306,保證port1端口未被占用即可
  • -v /mydata/mysql/conf:/etc/mysql:將配置文件夾掛在到主機(jī)
  • -v /mydata/mysql/log:/var/log/mysql:將日志文件夾掛載到主機(jī)
  • -v /mydata/mysql/data:/var/lib/mysql/:將數(shù)據(jù)文件夾掛載到主機(jī)
  • -e MYSQL_ROOT_PASSWORD=root:初始化root用戶的密碼

或者直接在/mydata/mysql/conf/目錄下新建my.cnf文件,執(zhí)行如下命令:

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf/my.cnf:/etc/mysql/my.cnf
-e MYSQL_ROOT_PASSWORD=123456  \
-d mysql:5.7

2.2 報(bào)錯(cuò)mysqld: Can’t read dir of ‘/etc/mysql/conf.d/’ (Errcode: 2 - No such file or directory)

補(bǔ)充:在啟動(dòng)mysq容器、即執(zhí)行docker run -p xxx時(shí),docker ps看不到創(chuàng)建的mysql容器,使用docker logs mysql發(fā)現(xiàn)報(bào)錯(cuò)

mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory)

原因:這意味著 MySQL 在啟動(dòng)時(shí)無法找到 /etc/mysql/conf.d/ 目錄,mysql容器的/etc/mysql目錄掛載到宿主機(jī)的 /mydata/mysql/conf目錄,這通常是因?yàn)檫@個(gè)目錄在你掛載的配置卷 /mydata/mysql/conf 中不存在或沒有正確創(chuàng)建,導(dǎo)致容器創(chuàng)建失敗。

解決方法

檢查本地配置目錄:檢查宿主機(jī)的 /mydata/mysql/conf 目錄中是否存在 conf.dmysql.conf.d 子目錄,如果不存在,創(chuàng)建這個(gè)子目錄。

# 創(chuàng)建子目錄
mkdir -p /mydata/mysql/conf/conf.d
mkdir -p /mydata/mysql/conf/mysql.conf.d

此時(shí),可以通過命令進(jìn)入conf 檢查是否已經(jīng)存在子目錄

cd /mydata/mysql/conf
ls

刪除或重命名舊容器:

# 刪除它,以釋放容器名稱(推薦)
docker rm mysql

# 重命名舊容器
docker rename mysql old_mysql

重啟容器:

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456  \
-d mysql:5.7

此時(shí),通過命令可以查看是否可以已經(jīng)啟動(dòng)MySQL容器

docker ps

也可通過Navicat等工具遠(yuǎn)程連接mysql。

至此,mysql已安裝成功,接下來我們來修改配置。

三、進(jìn)入mysql容器

docker exec -it mysql /bin/bash

使用MySQL命令打開客戶端:

mysql -uroot -p        
mysql -uroot -p密碼 --default-character-set=utf8   

四、修改mysql默認(rèn)配置

4.1 查看mysql掛載的文件夾

由于在創(chuàng)建實(shí)例的時(shí)候,已經(jīng)將部分文件夾掛載到Linux宿主機(jī)目錄下,所以當(dāng)我們修改一些mysql的配置文件時(shí),不需要再進(jìn)入docker環(huán)境下,直接在Linux環(huán)境下操作即可。

掛載的目錄為:

cd /mydata/mysql

4.2 mysql配置

Linux 操作系統(tǒng)中 MySQL 的配置文件是 my.cnf,一般會(huì)放在 /etc/my.cnf 或 /etc/mysql/my.cnf 目錄下。

內(nèi)容一般為:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

1)宿主機(jī)進(jìn)入mysql的conf目錄,新建my.conf文件,寫入內(nèi)容:

cd /mydata/mysql/conf
ls
vi my.cnf
# 在my.cnf中插入上述my.cnf內(nèi)容,保存退出

#重啟mysql
docker ps
docker restart mysql

2)進(jìn)入mysql容器內(nèi)部,查看文件是否配置成功

docker exec -it mysql /bin/bash
cd /etc/mysql
ls
cat my.cnf

五、補(bǔ)充

1)設(shè)置mysql每次開機(jī)隨docker自啟動(dòng)

可以使用docker run命令時(shí)加上--restart選項(xiàng),或者在容器創(chuàng)建后更改其重啟策略

docker run -d --restart=always --name yourContainerName yourImage

這里的--restart=always選項(xiàng)確保無論退出代碼是什么,只要Docker守護(hù)程序啟動(dòng),容器都會(huì)自動(dòng)重啟。

如果容器已經(jīng)運(yùn)行,您可以使用docker update命令更改重啟策略

docker update mysql-container --restart=always

2)如果想 設(shè)置docker服務(wù)開機(jī)自啟動(dòng),可使用如下命令:

systemctl enable docker

總結(jié)

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

相關(guān)文章

  • ElasticSearch+Kibana通過Docker部署到Linux服務(wù)器中操作方法

    ElasticSearch+Kibana通過Docker部署到Linux服務(wù)器中操作方法

    本文介紹了Elasticsearch的基本概念,包括文檔和字段、索引和映射,還詳細(xì)描述了如何通過Docker在Linux服務(wù)器上安裝Elasticsearch、Kibana和IK分詞器,并驗(yàn)證安裝,感興趣的朋友一起看看吧
    2025-02-02
  • 關(guān)于docker中?WSL?配置與修改問題

    關(guān)于docker中?WSL?配置與修改問題

    這篇文章主要介紹了docker中?WSL?配置與修改,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 在Idea中使用Docker部署SpringBoot項(xiàng)目的詳細(xì)步驟

    在Idea中使用Docker部署SpringBoot項(xiàng)目的詳細(xì)步驟

    這篇文章主要介紹了在Idea中使用Docker部署SpringBoot項(xiàng)目的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • docker?跨平臺(tái)構(gòu)建鏡像的示例詳解

    docker?跨平臺(tái)構(gòu)建鏡像的示例詳解

    這篇文章主要介紹了docker跨平臺(tái)構(gòu)建鏡像的案例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • docker常用命令解讀之volume篇

    docker常用命令解讀之volume篇

    這篇文章主要介紹了docker常用命令解讀之volume篇說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 讓非root用戶構(gòu)建Docker鏡像的三種方法

    讓非root用戶構(gòu)建Docker鏡像的三種方法

    在默認(rèn)情況下,Docker?需要?root?權(quán)限或?sudo?才能運(yùn)行,這對(duì)于日常開發(fā)和?CI/CD?流水線可能不夠方便,那么,如何讓?非?root?用戶?也能構(gòu)建和運(yùn)行?Docker?容器呢?本篇文章將介紹?三種方法?來實(shí)現(xiàn)這一目標(biāo),需要的朋友可以參考下
    2025-04-04
  • Docker啟動(dòng)容器報(bào)錯(cuò):Ports are not available的解決方案

    Docker啟動(dòng)容器報(bào)錯(cuò):Ports are not available的解決方案

    這篇文章主要介紹了Docker啟動(dòng)容器報(bào)錯(cuò):Ports are not available的解決方案,Docker 將容器程序的端口號(hào)映射到宿主機(jī)的端口號(hào),是一個(gè) NAT 過程,這個(gè)過程可能會(huì)因?yàn)榕c Windows NAT 服務(wù)沖突而失效,文中有詳細(xì)的解決方案,需要的朋友可以參考下
    2024-03-03
  • 關(guān)于docker部署的jenkins跑git上的程序的問題

    關(guān)于docker部署的jenkins跑git上的程序的問題

    這篇文章主要介紹了docker部署的jenkins跑git上的程序的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Docker鏡像構(gòu)建原理解析(不裝docker也能構(gòu)建鏡像)

    Docker鏡像構(gòu)建原理解析(不裝docker也能構(gòu)建鏡像)

    這篇文章主要介紹了Docker鏡像構(gòu)建原理解析(不裝docker也能構(gòu)建鏡像),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Docker網(wǎng)絡(luò)之自定義網(wǎng)絡(luò)方式

    Docker網(wǎng)絡(luò)之自定義網(wǎng)絡(luò)方式

    文章介紹了Docker的網(wǎng)絡(luò)模式,包括bridge、none、container、host和用戶自定義網(wǎng)絡(luò),并詳細(xì)說明了docker0網(wǎng)絡(luò)的特點(diǎn)和自定義網(wǎng)絡(luò)的創(chuàng)建
    2025-01-01

最新評(píng)論