Docker安裝MySQL8:詳細步驟和常見問題解決

一、Docker安裝MySQL8.0

在Docker中安裝MySQL8.0,需要準備以下環境:

  • Docker環境
  • MySQL8.0 鏡像

步驟如下:

1、拉取MySQL8.0鏡像

docker pull mysql:8.0

2、通過鏡像創建MySQL容器

docker run --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0

這條命令創建一個名為mysql8的容器,將容器的3306埠映射到主機的3306埠,設置根密碼為root,後台運行該容器。

3、進入MySQL容器

docker exec -it mysql8 bash

4、在容器中連接MySQL

mysql -uroot -p

至此,你已經成功完成了Docker中MySQL8.0的安裝。

二、Docker安裝MySQL

在Docker中安裝MySQL可以通過拉取MySQL5.7鏡像來實現,步驟如下:

1、拉取MySQL5.7鏡像

docker pull mysql:5.7

2、通過鏡像創建MySQL容器

docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

這條命令創建一個名為mysql5.7的容器,將容器的3306埠映射到主機的3306埠,設置根密碼為root,後台運行該容器。

3、進入MySQL容器

docker exec -it mysql5.7 bash

4、在容器中連接MySQL

mysql -uroot -p

三、Docker安裝MySQL8.0.31

在Docker中安裝MySQL8.0.31,步驟與上述步驟基本相同,需要先拉取該版本的鏡像,然後創建容器。步驟如下:

1、拉取MySQL8.0.31鏡像

docker pull mysql:8.0.31

2、通過鏡像創建MySQL容器

docker run --name mysql8.0.31 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.31

3、進入MySQL容器

docker exec -it mysql8.0.31 bash

4、在容器中連接MySQL

mysql -uroot -p

四、Docker安裝MySQL8總是重啟

有時候,MySQL8容器會不斷重啟,這可能和MySQL容器配置不當有關。可通過以下步驟解決該問題:

1、使用以下命令啟動MySQL8容器,並且把數據目錄綁定到宿主機的/data/mysql目錄下:

docker run --name mysql8 -p 3306:3306 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0

2、進入容器中的MySQL:

docker exec -it mysql8 bash

3、停止MySQL service:

systemctl stop mysql.service

4、編輯MySQL配置文件<mysqld.cnf>:

vim /etc/mysql/mysql.conf.d/mysqld.cnf

5、注釋掉#log_bin的行,並在最末尾加入以下代碼:

innodb_use_native_aio = 0
innodb_flush_method=O_DIRECT
innodb_doublewrite=0

6、保存,退出編輯狀態後,重新啟動MySQL service:

systemctl start mysql.service

之後重新啟動Docker中的MySQL8容器,問題就解決了。

五、Docker安裝MySQL8無法進入資料庫

如果MySQL8容器創建成功,但無法進入資料庫,則可能因為容器啟動後沒等待MySQL完全啟動就進入容器,應該等待MySQL啟動成功後進入。

可通過以下步驟解決該問題:

1、進入到MySQL容器:

docker exec -it mysql8 /bin/bash

2、查看MySQL啟動情況:

service mysql status

查看到MySQL狀態為active (running)即可,如果狀態為inactive,則表明MySQL未完全啟動成功,需要等待。

3、等待MySQL啟動完後,再進入容器內的MySQL客戶端

mysql -uroot -p

六、Docker安裝MySQL8.0起不來

有用戶反饋在安裝MySQL8.0時,容器啟動後無法通過鏈接獲取數據,該問題可能導致MySQL8.0起不來的問題。

可通過以下步驟解決該問題:

1、查看容器IP地址

docker inspect mysql8

在輸出結果中找到”IPAddress”,記錄下來。

2、進入MySQL8容器

docker exec -it mysql8 bash

3、進入MySQL

mysql -uroot -p

4、修改MySQL中的IP地址

use mysql;
update user set host='%' where user='root';
flush privileges;

至此,MySQL容器啟動成功。

七、Docker安裝MySQL無法遠程連接

如果需要在其他機器上使用客戶端遠程連接Docker中的MySQL,需要對MySQL配置進行修改。

可通過以下步驟解決該問題:

1、進入MySQL容器並編輯MySQL主配置文件:

docker exec -it mysql8 bash
vim /etc/mysql/mysql.conf.d/mysqld.cnf

2、找到以下配置信息(大約在文件末尾):

bind-address = 127.0.0.1

3、注釋掉該行配置,使其可以接受任意IP的訪問:

#bind-address = 127.0.0.1

4、重啟MySQL服務:

service mysql restart

之後你就可以在其他機器上通過mysql客戶端連接Docker中的MySQL了。

八、Docker安裝MySQL詳細步驟

綜上所述,Docker安裝MySQL的詳細步驟如下:

1、拉取MySQL鏡像

docker pull mysql:8.0

2、通過鏡像創建MySQL容器

docker run --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0

3、進入MySQL容器

docker exec -it mysql8 bash

4、在容器中連接MySQL

mysql -uroot -p

以上步驟可根據需要進行修改,例如可以改為安裝MySQL5.7或MySQL8.0.31等版本。

原創文章,作者:ILBZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/148528.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ILBZ的頭像ILBZ
上一篇 2024-11-03 15:16
下一篇 2024-11-03 15:16

相關推薦

發表回復

登錄後才能評論