最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker部署MySQL8.0從拉取鏡像到配置遠(yuǎn)程訪問(wèn)完整指南

 更新時(shí)間:2026年05月07日 16:10:48   作者:青銅代碼  
在開(kāi)發(fā)測(cè)試環(huán)境中,通過(guò)Docker部署MySQL 8.0可實(shí)現(xiàn)快速啟動(dòng)、環(huán)境隔離和數(shù)據(jù)持久化,這篇文章主要介紹了Docker部署MySQL8.0從拉取鏡像到配置遠(yuǎn)程訪問(wèn)的相關(guān)資料,需要的朋友可以參考下

前言

本方法是通過(guò) yum 方式安裝 MySQL,需要確保宿主機(jī)能夠連接網(wǎng)絡(luò)。其他安裝方式請(qǐng)自行查閱相關(guān)資料。

一、拉取鏡像

# 下面兩個(gè)命令效果一致
docker pull mysql
docker pull mysql:latest

# 查看可用版本
docker search mysql

二、查看鏡像

使用以下命令查看已安裝的 MySQL 鏡像:

docker images

三、運(yùn)行容器

docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

命令參數(shù)說(shuō)明:

  • -p 3306:3306:宿主機(jī)端口與容器端口映射關(guān)系
  • --name mysql:容器名稱
  • --restart=always:隨 Docker 自動(dòng)啟動(dòng)
  • --privileged=true:獲取宿主機(jī) root 權(quán)限
  • -v /usr/local/mysql/log:/var/log/mysql:日志目錄映射(宿主機(jī):容器)
  • -v /usr/local/mysql/data:/var/lib/mysql:數(shù)據(jù)目錄映射(宿主機(jī):容器)
  • -v /usr/local/mysql/conf:/etc/mysql:配置目錄映射(宿主機(jī):容器)
  • -v /etc/localtime:/etc/localtime:ro:容器與宿主機(jī)時(shí)鐘同步(ro 表示只讀)
  • -e MYSQL_ROOT_PASSWORD=123456:設(shè)置 root 用戶密碼
  • -d mysql:latest:后臺(tái)運(yùn)行最新版 MySQL 容器

四、查看運(yùn)行容器

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

# 查看所有容器
docker ps -a

如果容器狀態(tài)顯示為 up,表示啟動(dòng)成功。如果顯示 restarting,可能存在問(wèn)題。查看日志:

docker logs -f mysql

可能會(huì)發(fā)現(xiàn)錯(cuò)誤:

Failed to access directory for --secure-file-priv. Please make sure that dir

此時(shí)如果執(zhí)行第五步會(huì)報(bào)錯(cuò):

Error response from daemon: Container xxx is restarting, wait until the cont...

需要執(zhí)行第六步解決。

五、進(jìn)入容器內(nèi)部

docker exec -it mysql /bin/bash

六、修改 MySQL 配置

1. 創(chuàng)建配置文件

cd /usr/local/mysql
ll
cd conf
vi my.cnf

2. 配置內(nèi)容

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
# 設(shè)置東八區(qū)時(shí)區(qū)
default-time_zone = '+8:00'

# 設(shè)置密碼驗(yàn)證規(guī)則(authentication_policy 替代已廢棄的 default_authentication_plugin)
authentication_policy=mysql_native_password

# 限制導(dǎo)入和導(dǎo)出的數(shù)據(jù)目錄
# 為空:不限制目錄;指定目錄:必須從該目錄導(dǎo)入導(dǎo)出;為 NULL:禁止導(dǎo)入導(dǎo)出功能
secure_file_priv=

init_connect='SET collation_connection = utf8mb4_0900_ai_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
skip-character-set-client-handshake
skip-name-resolve

說(shuō)明:MySQL 8.0+ 默認(rèn)使用 caching_sha2_password 認(rèn)證方式,修改為 mysql_native_password 以兼容更多客戶端。

七、重啟 MySQL 服務(wù)

docker restart mysql

八、設(shè)置 Docker 啟動(dòng)時(shí)自動(dòng)啟動(dòng) MySQL

docker update mysql --restart=always

九、再次重啟 MySQL

docker restart mysql

十、授權(quán)遠(yuǎn)程訪問(wèn)

1. 進(jìn)入容器內(nèi)部

docker exec -it mysql /bin/bash

2. 登錄 MySQL

mysql -u root -p
# 直接回車(chē)進(jìn)入(使用空密碼)

3. 選擇數(shù)據(jù)庫(kù)

show databases;
use mysql;

4. 查看用戶連接權(quán)限

select host, user from user;

root 用戶默認(rèn)只有 localhost 連接權(quán)限。

5. 修改認(rèn)證方式和權(quán)限

ALTER USER root@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
update user set host = '%' where host = 'localhost' and user = 'root';

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

-- 退出 MySQL
exit

6. 退出容器

exit

完成部署

現(xiàn)在您的 MySQL 容器已成功部署,并支持遠(yuǎn)程連接。

到此這篇關(guān)于Docker部署MySQL8.0從拉取鏡像到配置遠(yuǎn)程訪問(wèn)完整指南的文章就介紹到這了,更多相關(guān)Docker部署MySQL8.0內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

波密县| 西乌| 临漳县| 栖霞市| 辽宁省| 七台河市| 长乐市| 固原市| 子洲县| 深泽县| 丰台区| 皋兰县| 德江县| 白城市| 木兰县| 甘谷县| 都兰县| 霍邱县| 衡东县| 苗栗县| 江安县| 仁怀市| 德庆县| 华坪县| 潜江市| 休宁县| 周至县| 襄城县| 长治市| 屏山县| 茶陵县| 金门县| 彩票| 若尔盖县| 逊克县| 栖霞市| 延津县| 柏乡县| 正安县| 东明县| 霞浦县|