一、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