Docker部署遠(yuǎn)程MySQL從端口踩坑到權(quán)限全開完整步驟(附避坑指南)
一、部署環(huán)境與核心工具
- 服務(wù)器:阿里云輕量應(yīng)用服務(wù)器(Ubuntu/CentOS 均可)
- 核心技術(shù):Docker + Docker Compose
- 數(shù)據(jù)庫(kù)版本:MySQL 8.0
- 本地連接工具:DataGrip
二、基礎(chǔ)部署流程:三步走方案
1. 目錄隔離與 Docker Compose 配置
version: '3.8'
services:
new-db:
image: mysql:8.0
container_name: xxx-db # 容器名稱
restart: always
environment:
MYSQL_ROOT_PASSWORD: xxx # root用戶密碼
MYSQL_DATABASE:xxx_db # 自動(dòng)創(chuàng)建的數(shù)據(jù)庫(kù)名
ports:
- "3307:3306" # 關(guān)鍵!宿主機(jī)端口:容器端口
volumes:
- ./mysql_data:/var/lib/mysql # 數(shù)據(jù)持久化掛載核心配置解析:
端口映射 3307:3306:外部連接必須使用宿主機(jī)端口(本處如果是3307記得改因?yàn)?306就是 MySQL 數(shù)據(jù)庫(kù)的“官方出廠默認(rèn)端口”如果改了宿主機(jī)端口記得改)
![]()
持久化掛載:避免容器刪除后數(shù)據(jù)丟失
2. 一鍵啟動(dòng)服務(wù)
docker compose up -d
三、血淚避坑指南:解決“連不上”的三個(gè)死理
坑位 1:Connection timed out
癥狀:
DataGrip 提示 [28000][1045] Connection timed out: connect
原因:
云服務(wù)器安全組默認(rèn)攔截非標(biāo)準(zhǔn)端口(如 3307)
解決方案:
登錄云服務(wù)器控制臺(tái)
在安全組中添加入方向規(guī)則:
協(xié)議:TCP
端口范圍:3307
授權(quán)對(duì)象:0.0.0.0/0(生產(chǎn)環(huán)境建議限制 IP)
坑位 2:誤把容器名當(dāng)用戶名
癥狀:
Access denied for user ‘resumer-db’@‘xxx’
原因:
混淆了容器名(xxx-db)與數(shù)據(jù)庫(kù)用戶名(root)
解決方案:
在連接工具中填寫:
User: root
Password: xxx(即 MYSQL_ROOT_PASSWORD 的值)
坑位 3:MySQL 8.0 的權(quán)限與加密限制
癥狀:
Access denied for user ‘root’@‘你的IP’ (using password: YES)
原因:
權(quán)限限制:root 默認(rèn)僅允許 localhost 訪問
加密沖突:MySQL 8.0 默認(rèn)使用 caching_sha2_password,舊客戶端不支持
解決方案:
docker exec -it resumer-db mysql -uroot -proot -e \ "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; \ GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; \ FLUSH PRIVILEGES;"
命令解析:
修改 root 用戶加密方式為 mysql_native_password
授權(quán)所有 IP(%)訪問
立即刷新權(quán)限
連不上 → 查云服務(wù)器安全組
賬號(hào)錯(cuò)誤 → 確認(rèn)使用 root 而非容器名
密碼錯(cuò)誤 → 解決 MySQL 8.0 權(quán)限與加密問題
理清這三點(diǎn),從此告別數(shù)據(jù)庫(kù)連接報(bào)錯(cuò)!
?總結(jié)
到此這篇關(guān)于Docker部署遠(yuǎn)程MySQL從端口踩坑到權(quán)限全開的文章就介紹到這了,更多相關(guān)Docker部署遠(yuǎn)程MySQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Docker安裝MySQL及授權(quán)遠(yuǎn)程訪問的詳細(xì)教程
- docker部署mysql 實(shí)現(xiàn)遠(yuǎn)程連接的示例代碼
- Docker部署mysql遠(yuǎn)程連接 解決2003的問題
- docker部署mysql8并設(shè)置可遠(yuǎn)程連接
- Docker 安裝 MySQL 并實(shí)現(xiàn)遠(yuǎn)程連接教程
- Docker Desktop中安裝MySQL并開啟遠(yuǎn)程訪問的詳細(xì)教程
- Docker安裝MySql8并遠(yuǎn)程訪問的實(shí)現(xiàn)
- docker簡(jiǎn)單安裝部署mysql并配置遠(yuǎn)程連接
相關(guān)文章
MySQL?索引從入門到精通示例詳解(核心概念、類型與實(shí)戰(zhàn)優(yōu)化)
本文詳細(xì)介紹了MySQL索引的概念、類型及其在實(shí)際應(yīng)用中的優(yōu)化策略,索引可以顯著提升查詢效率,但過多的索引會(huì)增加寫操作的開銷,文章涵蓋了索引的創(chuàng)建、維護(hù)和使用技巧,幫助讀者更好地理解和應(yīng)用索引,以優(yōu)化數(shù)據(jù)庫(kù)性能,感興趣的朋友跟隨小編一起看看吧2026-01-01
MySQL觸發(fā)器實(shí)現(xiàn)兩表數(shù)據(jù)同步的代碼詳解
在數(shù)據(jù)庫(kù)應(yīng)用中,我們經(jīng)常需要對(duì)數(shù)據(jù)進(jìn)行某些操作,并在操作完成后進(jìn)行相應(yīng)的處理,這時(shí)候,可以使用觸發(fā)器來實(shí)現(xiàn)這些功能,MySQL提供了強(qiáng)大的觸發(fā)器功能,本文將給大家詳細(xì)介紹MySQL觸發(fā)器實(shí)現(xiàn)兩表數(shù)據(jù)同步,需要的朋友可以參考下2023-12-12
如何用mysqldump進(jìn)行全量和時(shí)間點(diǎn)備份
這篇文章主要介紹了如何用mysqldump進(jìn)行全量和時(shí)間點(diǎn)備份,幫助大家更好的管理MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2020-08-08
MySQL8.0.27安裝過程中卡在Initializing?Database中并報(bào)錯(cuò)的解決
本文主要介紹了MySQL8.0.27安裝過程中卡在Initializing?Database中并報(bào)錯(cuò)的解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
Ubuntu 20.04 安裝和配置MySql5.7的詳細(xì)教程
這篇文章主要介紹了Ubuntu 20.04 安裝和配置MySql5.7的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
MySQL與PHP的基礎(chǔ)與應(yīng)用專題之?dāng)?shù)據(jù)查詢語句
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎(chǔ)應(yīng)用,本篇從數(shù)據(jù)查詢語句開始2022-02-02
Mysql如何按照范圍區(qū)間創(chuàng)建分區(qū)表
在Mysql的范圍分區(qū)表定義中,分區(qū)范圍需要連續(xù)并且不會(huì)有覆蓋,定義范圍分區(qū)表時(shí),使用VALUES LESS THAN操作符,這篇文章主要介紹了Mysql如何按照范圍區(qū)間創(chuàng)建分區(qū)表,需要的朋友可以參考下2024-08-08
MySQL中pt-table-checksum實(shí)現(xiàn)主從一致性校驗(yàn)的終極方案
pt-table-checksum 憑借低侵入性、高準(zhǔn)確性和良好的兼容性,成為 MySQL 主從一致性校驗(yàn)的首選工具,下面就來詳細(xì)的介紹一下MySQL中pt-table-checksum實(shí)現(xiàn)主從一致性校驗(yàn),感興趣的可以了解一下2026-04-04
mysql 控制臺(tái)程序的提示符 prompt 字符串設(shè)置
mysql 控制臺(tái)程序的提示符 prompt 字符串設(shè)置,學(xué)習(xí)mysql的朋友可以參考下。2011-08-08

