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

Docker中部署MySQL 5.7并遠(yuǎn)程連接Navicat的完整指南

 更新時(shí)間:2025年07月03日 09:02:40   作者:碼農(nóng)阿豪@新空間  
MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)之一,而Docker提供了輕量級(jí)、可移植的容器化解決方案,本文將詳細(xì)介紹如何在CentOS 7上使用Docker部署 MySQL 5.7,并通過(guò)Windows上的Navicat進(jìn)行遠(yuǎn)程連接,需要的朋友可以參考下

引言

MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)之一,而 Docker 提供了輕量級(jí)、可移植的容器化解決方案。本文將詳細(xì)介紹如何在 CentOS 7 上使用 Docker 部署 MySQL 5.7,并通過(guò) Windows 上的 Navicat 進(jìn)行遠(yuǎn)程連接。內(nèi)容涵蓋:

  • Docker 安裝與 MySQL 容器部署
  • MySQL 5.7 的配置與權(quán)限管理
  • Navicat 遠(yuǎn)程連接及常見(jiàn)問(wèn)題排查
  • 安全優(yōu)化建議

適用于 開(kāi)發(fā)、測(cè)試及生產(chǎn)環(huán)境,確保數(shù)據(jù)持久化、高可用性和安全性。

1. Docker 環(huán)境準(zhǔn)備

1.1 安裝 Docker(CentOS 7)

在 CentOS 7 上安裝 Docker:

# 安裝依賴(lài)
sudo yum install -y yum-utils

# 添加 Docker 官方倉(cāng)庫(kù)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安裝 Docker
sudo yum install docker-ce docker-ce-cli containerd.io -y

# 啟動(dòng)并設(shè)置開(kāi)機(jī)自啟
sudo systemctl start docker
sudo systemctl enable docker

# 驗(yàn)證安裝
docker --version

輸出應(yīng)類(lèi)似:

Docker version 20.10.12, build e91ed57

2. 部署 MySQL 5.7 容器

2.1 拉取 MySQL 5.7 鏡像

docker pull mysql:5.7

2.2 運(yùn)行 MySQL 容器

(1)基本運(yùn)行方式(適合測(cè)試)

docker run -d \
  --name mysql57 \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  -p 3306:3306 \
  mysql:5.7

(2)生產(chǎn)環(huán)境推薦(數(shù)據(jù)持久化+自動(dòng)重啟)

docker run -d \
  --name mysql57 \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  -p 3306:3306 \
  -v /data/mysql:/var/lib/mysql \
  --restart unless-stopped \
  mysql:5.7 \
  --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_unicode_ci \
  --bind-address=0.0.0.0

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

  • -v /data/mysql:/var/lib/mysql:數(shù)據(jù)持久化存儲(chǔ)
  • --restart unless-stopped:容器異常退出時(shí)自動(dòng)重啟
  • --bind-address=0.0.0.0:允許遠(yuǎn)程連接

3. MySQL 遠(yuǎn)程訪(fǎng)問(wèn)配置

3.1 進(jìn)入 MySQL 容器

docker exec -it mysql57 mysql -uroot -p

輸入密碼后進(jìn)入 MySQL Shell。

3.2 創(chuàng)建遠(yuǎn)程訪(fǎng)問(wèn)用戶(hù)

-- 創(chuàng)建新用戶(hù)(避免直接使用 root)
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'StrongPass123!';

-- 授予所有權(quán)限(生產(chǎn)環(huán)境建議按需授權(quán))
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;

-- 刷新權(quán)限
FLUSH PRIVILEGES;

3.3 檢查用戶(hù)權(quán)限

SELECT host, user FROM mysql.user;

輸出應(yīng)包含:

+-----------+-------------+
| host      | user        |
+-----------+-------------+
| %         | remote_user |
| localhost | root        |
+-----------+-------------+

4. Windows Navicat 連接 Docker MySQL

4.1 確保網(wǎng)絡(luò)可達(dá)

  • 如果 Docker 運(yùn)行在本地:直接使用 127.0.0.1:3306
  • 如果 Docker 運(yùn)行在遠(yuǎn)程服務(wù)器:

確保服務(wù)器防火墻開(kāi)放 3306 端口:

sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
  • 云服務(wù)器需配置安全組規(guī)則(如 AWS、阿里云)

4.2 Navicat 連接配置

  1. 打開(kāi) Navicat → 新建連接 → MySQL
  2. 填寫(xiě)連接信息:
    • 連接名:Docker MySQL
    • 主機(jī):服務(wù)器IP(或 127.0.0.1
    • 端口:3306
    • 用戶(hù)名:remote_user
    • 密碼:StrongPass123!
  3. 測(cè)試連接 → 確認(rèn)

5. 常見(jiàn)問(wèn)題排查

5.1 連接被拒絕

# 檢查容器是否運(yùn)行
docker ps

# 查看端口映射
docker port mysql57

# 檢查 MySQL 日志
docker logs mysql57

5.2 防火墻問(wèn)題

# CentOS 7 開(kāi)放端口
sudo firewall-cmd --list-ports
sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

5.3 用戶(hù)權(quán)限不足

-- 檢查用戶(hù)權(quán)限
SHOW GRANTS FOR 'remote_user'@'%';

6. 安全優(yōu)化建議

  1. 避免使用 root 遠(yuǎn)程連接

限制訪(fǎng)問(wèn) IP:

GRANT ALL ON *.* TO 'user'@'192.168.1.%' IDENTIFIED BY 'password';

啟用 SSL 加密(可選):

docker run -v /mysql/ssl:/etc/mysql/ssl ... mysql:5.7 --ssl-ca=/etc/mysql/ssl/ca.pem --ssl-cert=/etc/mysql/ssl/server-cert.pem --ssl-key=/etc/mysql/ssl/server-key.pem

定期備份數(shù)據(jù):

docker exec mysql57 mysqldump -uroot -p --all-databases > backup.sql

7. 總結(jié)

本文詳細(xì)介紹了:

  • Docker 部署 MySQL 5.7(含數(shù)據(jù)持久化)
  • 遠(yuǎn)程用戶(hù)權(quán)限配置
  • Navicat 連接方法
  • 故障排查與安全優(yōu)化

通過(guò) Docker 運(yùn)行 MySQL 不僅簡(jiǎn)化了環(huán)境配置,還便于遷移和版本管理。結(jié)合 Navicat 的圖形化管理,可極大提升開(kāi)發(fā)效率。

適用場(chǎng)景:

  • 本地開(kāi)發(fā)測(cè)試
  • 云服務(wù)器數(shù)據(jù)庫(kù)部署
  • 微服務(wù)架構(gòu)中的數(shù)據(jù)庫(kù)容器化

附錄:完整 Docker Compose 示例

version: '3.8'
services:
  mysql:
    image: mysql:5.7
    container_name: mysql57
    environment:
      MYSQL_ROOT_PASSWORD: yourpassword
      MYSQL_USER: remote_user
      MYSQL_PASSWORD: StrongPass123!
    ports:
      - "3306:3306"
    volumes:
      - /data/mysql:/var/lib/mysql
    restart: unless-stopped
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_unicode_ci
      --bind-address=0.0.0.0

使用方式:

docker-compose up -d

以上就是Docker中部署MySQL 5.7并遠(yuǎn)程連接Navicat的完整指南的詳細(xì)內(nèi)容,更多關(guān)于Docker部署MySQL 5.7并連接Navicat的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Docker新手實(shí)踐及部署NGINX的步驟詳解

    Docker新手實(shí)踐及部署NGINX的步驟詳解

    最近工作中有個(gè)需求, 用docker去部署nginx的靜態(tài)服務(wù)器。仔細(xì)觀察這個(gè)命題,看似不難,但實(shí)際其中的注意點(diǎn)很多,新手很容易搞錯(cuò),所以下面這篇文章主要給大家介紹了關(guān)于Docker新手實(shí)踐及部署NGINX的步驟,需要的朋友可以參考下。
    2017-11-11
  • docker修改容器的端口、容器名、映射地址以及注意事項(xiàng)

    docker修改容器的端口、容器名、映射地址以及注意事項(xiàng)

    在日常的docker運(yùn)維中,經(jīng)常遇到修改容器的端口、容器名、映射地址等信息,這篇文章主要給大家介紹了關(guān)于docker修改容器的端口、容器名、映射地址以及注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Docker?容器連接的具體實(shí)現(xiàn)

    Docker?容器連接的具體實(shí)現(xiàn)

    本文主要介紹了Docker?容器連接的具體實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 解決Ubuntu中Docker安裝時(shí)“無(wú)法找到軟件包”錯(cuò)誤的解決方案

    解決Ubuntu中Docker安裝時(shí)“無(wú)法找到軟件包”錯(cuò)誤的解決方案

    在Ubuntu中安裝Docker時(shí)遇到“無(wú)法找到軟件包”錯(cuò)誤,通常是由于軟件源未正確配置或更新、軟件包名稱(chēng)錯(cuò)誤或已更改等原因造成的,解決方法包括添加Docker官方軟件源、更新軟件包列表、重新安裝Docker等
    2026-01-01
  • docker部署Minio報(bào)錯(cuò):Fatal glibc error:CPU does not support x86-64-v2問(wèn)題

    docker部署Minio報(bào)錯(cuò):Fatal glibc error:CPU does&nb

    在CentOS 7上使用Docker部署Minio時(shí)遇到CPU不支持問(wèn)題,通過(guò)研究確定是版本太新,由于項(xiàng)目經(jīng)費(fèi)有限,決定降級(jí)到CentOS 7,步驟包括拉取Minio鏡像、創(chuàng)建目錄、開(kāi)放端口和運(yùn)行
    2024-12-12
  • docker利用WebHook實(shí)現(xiàn)持續(xù)集成

    docker利用WebHook實(shí)現(xiàn)持續(xù)集成

    這篇文章主要介紹了docker利用WebHook實(shí)現(xiàn)持續(xù)集成的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • docker網(wǎng)絡(luò)及部署集群和打包鏡像問(wèn)題

    docker網(wǎng)絡(luò)及部署集群和打包鏡像問(wèn)題

    這篇文章主要介紹了docker網(wǎng)絡(luò)及部署集群和打包鏡像問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • docker報(bào)錯(cuò)Container is not running問(wèn)題及解決

    docker報(bào)錯(cuò)Container is not running問(wèn)題及解決

    這篇文章主要介紹了docker報(bào)錯(cuò)Container is not running問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Docker中Redis執(zhí)行Lua腳本的兩種方案

    Docker中Redis執(zhí)行Lua腳本的兩種方案

    很多人會(huì)誤以為L(zhǎng)ua腳本需要像部署應(yīng)用一樣,安裝依賴(lài)、啟動(dòng)服務(wù)——其實(shí)完全不用,本文就給大家介紹Docker 環(huán)境下 Redis Lua 腳本部署與執(zhí)行,需要的朋友可以參考下
    2026-03-03
  • 使用Portainer部署Docker容器的項(xiàng)目實(shí)踐

    使用Portainer部署Docker容器的項(xiàng)目實(shí)踐

    這篇文章主要介紹了使用Portainer部署Docker容器的項(xiàng)目實(shí)踐,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04

最新評(píng)論

德州市| 缙云县| 嘉定区| 任丘市| 威信县| 涡阳县| 英山县| 嘉黎县| 大化| 大宁县| 梅河口市| 毕节市| 盐亭县| 成武县| 余干县| 萝北县| 香港 | 吉林省| 阿巴嘎旗| 汽车| 乡城县| 商城县| 登封市| 富川| 临颍县| 芦溪县| 甘肃省| 胶州市| 伊宁市| 张家港市| 琼中| 松溪县| 怀柔区| 大余县| 梓潼县| 达尔| 昌宁县| 安义县| 龙川县| 新野县| 尼玛县|