一、docker 啟動(dòng)MySQL容器實(shí)現(xiàn)數(shù)據(jù)持久化
要在 CentOS 7 上使用 Docker 啟動(dòng) MySQL 8.0.33,并配置 MySQL 的 my.cnf 文件,同時(shí)實(shí)現(xiàn) MySQL 數(shù)據(jù)的持久化,可以按照以下步驟進(jìn)行操作:
1、安裝 Docker:確保你在 CentOS 7 上已經(jīng)安裝了 Docker。如果尚未安裝,請(qǐng)按照 Docker 官方文檔提供的說明進(jìn)行安裝。
2、創(chuàng)建持久化存儲(chǔ)目錄:為了實(shí)現(xiàn)數(shù)據(jù)持久化,我們將創(chuàng)建一個(gè)用于存儲(chǔ) MySQL 數(shù)據(jù)的目錄。假設(shè)我們將其命名為 /opt/mysql_data。在終端中運(yùn)行以下命令來創(chuàng)建該目錄:
sudo mkdir -p /opt/mysql_data
3、拉取 MySQL 鏡像:運(yùn)行以下命令從 Docker Hub 上拉取 MySQL 8.0.33 鏡像:
sudo docker pull mysql:8.0.33
4、啟動(dòng) MySQL 容器:運(yùn)行以下命令啟動(dòng) MySQL 容器,同時(shí)掛載持久化存儲(chǔ)目錄和自定義 my.cnf 文件:
需要提前手動(dòng)新建/path/to/my.cnf文件,
----因?yàn)槲矣袀€(gè)性化的需求,需要將/path/to/my.cnf 文件中的設(shè)置為server_id=2(無此需求,可忽略)
啟動(dòng)docker 容器
sudo docker run -d --name mysql-container \
? -v /opt/mysql_data:/var/lib/mysql \
? -v /path/to/my.cnf:/etc/mysql/my.cnf \
? -e MYSQL_ROOT_PASSWORD=123456 \
? -p 3305:3306 \
? mysql:8.0.33
- 將 /opt/mysql_data 替換為你創(chuàng)建的持久化存儲(chǔ)目錄路徑。
- 將 /path/to/my.cnf 替換為我自定義的?my.cnf 文件路徑。
- 將 your_password 替換為你要設(shè)置的 MySQL root 密碼。
我的密碼為 123456
/path/to/my.cnf
端口為3305
5、驗(yàn)證配置:等待片刻,MySQL 容器將啟動(dòng)并加載自定義的 my.cnf 文件。可以通過連接到 MySQL 容器來驗(yàn)證配置是否生效:
sudo docker exec -it mysql-container mysql -u root -p
?
輸入之前設(shè)置的密碼后,進(jìn)入 MySQL 客戶端。
密碼為123456
6、在 MySQL 客戶端中執(zhí)行以下命令驗(yàn)證 server_id 配置是否已設(shè)置為 2:
SHOW VARIABLES LIKE 'server_id';
如果 server_id 的值為 2,則說明 my.cnf 中的配置已成功應(yīng)用。
現(xiàn)在,MySQL 容器已經(jīng)在 CentOS 7 上以持久化方式運(yùn)行,并且使用了自定義的 my.cnf 配置文件,其中 server_id 的值為 2。
請(qǐng)注意,每次修改 my.cnf 文件后,都需要重啟 MySQL 容器才能使更改生效:
sudo docker restart mysql-container
二、 設(shè)置MySQL容器支持遠(yuǎn)程訪問
默認(rèn)情況下,Docker 的容器網(wǎng)絡(luò)使用橋接模式,因此容器內(nèi)的服務(wù)只能通過容器的 IP 地址進(jìn)行訪問。你需要修改容器的防火墻規(guī)則,允許來自遠(yuǎn)程主機(jī)的連接。
1、進(jìn)入docker-mysql容器,進(jìn)入MySQL
sudo docker exec -it mysql-container mysql -u root -p
密碼123456
2、重新設(shè)置一下密碼
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
3、刷新權(quán)限
flush privileges;
4、開啟遠(yuǎn)程訪問并修改默認(rèn)密碼和加密方式
alter user 'root'@'%' identified with mysql_native_password by 'root';
現(xiàn)在就可以遠(yuǎn)程連接了,使用服務(wù)的ip 地址,及3305端口號(hào),賬號(hào) root 密碼123456文章來源:http://www.zghlxwxcb.cn/news/detail-686155.html
記得服務(wù)器要對(duì)外開放3305端口哦文章來源地址http://www.zghlxwxcb.cn/news/detail-686155.html
到了這里,關(guān)于Centos 7 通過Docker 安裝MySQL 8.0.33實(shí)現(xiàn)數(shù)據(jù)持久化及my.cnf配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!