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

Docker部署MySQL8.0從拉取鏡像到配置遠程訪問完整指南

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

前言

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

一、拉取鏡像

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

# 查看可用版本
docker search mysql

二、查看鏡像

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

docker images

三、運行容器

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ù)說明:

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

四、查看運行容器

# 查看正在運行的容器
docker ps

# 查看所有容器
docker ps -a

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

docker logs -f mysql

可能會發(fā)現(xiàn)錯誤:

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

此時如果執(zhí)行第五步會報錯:

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

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

五、進入容器內(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ū)時區(qū)
default-time_zone = '+8:00'

# 設(shè)置密碼驗證規(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

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

七、重啟 MySQL 服務(wù)

docker restart mysql

八、設(shè)置 Docker 啟動時自動啟動 MySQL

docker update mysql --restart=always

九、再次重啟 MySQL

docker restart mysql

十、授權(quán)遠程訪問

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

docker exec -it mysql /bin/bash

2. 登錄 MySQL

mysql -u root -p
# 直接回車進入(使用空密碼)

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

show databases;
use mysql;

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

select host, user from user;

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

5. 修改認證方式和權(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 容器已成功部署,并支持遠程連接。

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

相關(guān)文章

最新評論

井冈山市| 同心县| 清原| 大化| 越西县| 甘孜| 马边| 新干县| 昌邑市| 淮阳县| 博罗县| 岳池县| 叶城县| 双柏县| 湟中县| 彭阳县| 周口市| 大城县| 永昌县| 嘉禾县| 奉贤区| 贡嘎县| 绥宁县| 武强县| 荆门市| 赞皇县| 新田县| 东城区| 石首市| 永胜县| 淮北市| 江达县| 南乐县| 信宜市| 彰化市| 蛟河市| 莱芜市| 安龙县| 右玉县| 周宁县| 绥宁县|