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

Docker部署MySQL鏡像的保姆級教程

 更新時間:2025年06月05日 11:04:32   作者:大餅酥  
docker是一種容器化技術,可以將應用程序及其依賴項打包成一個獨立的可移植容器,mysql是一個流行的關系型數(shù)據(jù)庫管理系統(tǒng),在Docker中部署MySQL鏡像可以方便地創(chuàng)建和管理MySQL數(shù)據(jù)庫實例,本文給大家介紹了Docker部署MySQL鏡像的教程,需要的朋友可以參考下

1、安裝Docker

Docker的安裝可參考:如何在Ubuntu安裝docker以及一些常見報錯

2、創(chuàng)建掛載目錄

# 創(chuàng)建宿主機mysql掛載目錄
sudo mkdir -p /data/docker/mysql/config

?3、準備配置文件

# 1.創(chuàng)建配置文件
sudo touch /data/docker/mysql/config/my.cnf

配置文件的內容如下:

[mysqld]
# 設置3306端口
port=3306
# 允許最大連接數(shù)
max_connections=1000
# 允許連接失敗的次數(shù)。這是為了防止有人從該主機試圖攻擊數(shù)據(jù)庫系統(tǒng)
max_connect_errors=100
# 服務端使用的字符集默認為UTF8
character-set-server=utf8mb4
# 創(chuàng)建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
#是否對sql語句大小寫敏感,1表示不敏感
lower_case_table_names = 1
#MySQL連接閑置超過一定時間后(單位:秒)將會被強行關閉
#MySQL默認的wait_timeout  值為8個小時, interactive_timeout參數(shù)需要同時配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
#Metadata Lock最大時長(秒), 一般用于控制 alter操作的最大時長sine mysql5.6
#執(zhí)行 DML操作時除了增加innodb事務鎖外還增加Metadata Lock,其他alter(DDL)session將阻塞
lock_wait_timeout = 3600
#內部內存臨時表的最大值。
#比如大數(shù)據(jù)量的group by ,order by時可能用到臨時表,
#超過了這個值將寫入磁盤,系統(tǒng)IO壓力增大
tmp_table_size = 64M
max_heap_table_size = 64M
 
# === 日志相關 ===
## >>> 錯誤日志
# 錯誤日志存放文件,默認 datadir 目錄下
log_error=/var/log/mysql/log-error.log
# 開啟事務中所有死鎖的InnoDB信息記錄在錯誤日志中
innodb_print_all_deadlocks=ON
## >>> 二進制日志
# 二進制日志文件基礎名稱以及路徑,默認 datadir 目錄下
log_bin=/var/log/mysql/log-bin
## >>> 慢查詢日志
# 開啟慢查詢日志,默認OFF,建議開發(fā)和測試環(huán)境開啟
slow_query_log=ON
# 慢查詢日志文件位置
slow_query_log_file=/var/log/mysql/log-slow.log
# 慢查詢時間閾值,默認10,單位:秒
long_query_time=10
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8mb4
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
default-character-set=utf8mb4

4、運行MySQL容器

# 1.拉取鏡像
sudo docker pull mysql:8.0.40
 
# 2.啟動鏡像
sudo docker run --privileged=true --net=bridge \
-p 3306:3306 \
--name mysql \
-v /data/docker/mysql/data:/var/lib/mysql \
-v /data/docker/mysql/config:/etc/mysql/conf.d \
-v /data/docker/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root@123 \
-e TZ=Asia/Shanghai \
-d mysql:8.0.40

參數(shù)解析如下:

參數(shù)參數(shù)說明
docker run運行 Docker 容器
--name mysql設置容器的名稱為mysql
-d mysql:8.0.40后臺運行mysql容器
--privileged=trueDocker會賦予容器幾乎與宿主機相同的權限
--net=bridge網(wǎng)絡模式配置,默認是bridge,bridge表示使用容器內部配置網(wǎng)絡
-p 3306:3306將主機的 3306 端口映射到容器的 3306 端口
-e MYSQL_ROOT_PASSWORD=root@123設置 mysql 的管理員賬號密碼為 root@123
-e TZ=Asia/Shanghai設置容器的時區(qū)為上海時間,便于處理時間相關的數(shù)據(jù)
-v /data/docker/mysql/data:/var/lib/mysql將主機data目錄掛載到容器內,用于數(shù)據(jù)持久化
-v /data/docker/mysql/log:/var/log/mysql將主機log目錄掛載到容器內,用于日志文件持久化
-v /data/docker/mysql/config:/etc/mysql/conf.d將主機中 /data/docker/mysql/config 目錄映射到容器內的 /etc/mysql/conf.d 目錄,這樣可以提供自定義的 mysql 配置文件

5、Compose運行MySQL容器

創(chuàng)建docker-compose.yml文件

sudo touch /data/docker/mysql/docker-compose.yml

文件內容如下:

version: '3'
 
services:
  mysql:
    image: mysql:8.0.40
    container_name: mysql
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root@123
      TZ: Asia/Shanghai
    volumes:
      - /data/docker/mysql/data:/var/lib/mysql
      - /data/docker/mysql/config:/etc/mysql/conf.d
      - /data/docker/mysql/log:/var/log/mysql
    privileged: true
    network_mode: "bridge"

運行容器

#-f:調用文件,-d:開啟守護進程
sudo docker compose -f /data/docker/mysql/docker-compose.yml up -d

6、查看MySQL運行狀態(tài)

7、常見問題

?7.1、用DBeaver 連接數(shù)據(jù)庫的時候出現(xiàn)Public Key Retrieval is not allowed

解決方案:連接設置 - 驅動屬性 ,找到allowPublicKeyRetrieval,把allowPublicKeyRetrieval的值設為 切換為 true 即可。

以上就是Docker部署MySQL鏡像的保姆級教程的詳細內容,更多關于Docker部署MySQL鏡像的資料請關注腳本之家其它相關文章!

相關文章

  • Jenkins Pipeline中Docker鏡像構建與推送的常見問題及解決方案

    Jenkins Pipeline中Docker鏡像構建與推送的常見問題及解決方案

    在現(xiàn)代 DevOps 實踐中,Jenkins 作為一款流行的持續(xù)集成和持續(xù)交付(CI/CD)工具,被廣泛應用于自動化構建、測試和部署流程,然而,在實際使用 Jenkins Pipeline 進行 Docker 鏡像構建和推送的過程中,可能會遇到各種問題,本文將通過一個具體的案例給大家詳細的介紹一下
    2025-01-01
  • docker部署redis報錯內存分配過度解決辦法

    docker部署redis報錯內存分配過度解決辦法

    Docker很適合用于測試發(fā)布,將Docker封裝后可以直接提供給測試人員進行運行,不再需要測試人員與運維、開發(fā)進行配合,進行環(huán)境搭建與部署,這篇文章主要給大家介紹了關于docker部署redis報錯內存分配過度的解決辦法,需要的朋友可以參考下
    2023-11-11
  • 容器搭建nextcloud+onlyoffice+https實踐

    容器搭建nextcloud+onlyoffice+https實踐

    本文介紹了在CentOS8.5上使用Docker搭建個人網(wǎng)盤應用Nextcloud和OnlyOffice的詳細步驟,包括容器準備、啟動、SSL配置以及在Nextcloud中集成OnlyOffice
    2026-01-01
  • Docker啟動常用容器命令及配置詳解

    Docker啟動常用容器命令及配置詳解

    本文主要介紹了Docker啟動常用容器命令及配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Docker搭建一個nginx服務的實現(xiàn)

    Docker搭建一個nginx服務的實現(xiàn)

    Nginx是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務,本文主要介紹了Docker搭建一個nginx服務的實現(xiàn),感興趣的可以了解一下
    2024-08-08
  • 使用docker快速搭建Spark集群的方法教程

    使用docker快速搭建Spark集群的方法教程

    通過使用 Docker,可以快速的在本地搭建一套 Spark 環(huán)境,方便大家開發(fā) Spark 應用,或者擴展到生產(chǎn)環(huán)境。下面這篇文章主要給大家介紹了使用docker快速搭建Spark集群的方法教程,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-06-06
  • Docker安裝MySQL集群全過程(主從復制)

    Docker安裝MySQL集群全過程(主從復制)

    本文介紹通過Docker實現(xiàn)數(shù)據(jù)庫主從集群部署,涵蓋網(wǎng)絡創(chuàng)建、my.cnf配置、復制設置及測試,解決防火墻等常見問題,確保數(shù)據(jù)同步可靠
    2025-07-07
  • docker安裝RabbitMq添加用戶實現(xiàn)方式

    docker安裝RabbitMq添加用戶實現(xiàn)方式

    這篇文章主要介紹了docker安裝RabbitMq添加用戶實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 如何在Docker容器內外互相拷貝數(shù)據(jù)

    如何在Docker容器內外互相拷貝數(shù)據(jù)

    本篇文章主要介紹了如何在Docker容器內外互相拷貝數(shù)據(jù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • Windows Docker部署Jenkins的實現(xiàn)步驟

    Windows Docker部署Jenkins的實現(xiàn)步驟

    Jenkins是一款開源的持續(xù)集成工具,廣泛用于項目開發(fā),能提供自動構建測試部署等功能,本文主要介紹了Windows Docker部署Jenkins的實現(xiàn)步驟,感興趣的可以了解一下
    2024-03-03

最新評論

射阳县| 类乌齐县| 鹤峰县| 灵石县| 晋江市| 祥云县| 民丰县| 曲周县| 昌平区| 白朗县| 叶城县| 金昌市| 昂仁县| 神农架林区| 甘肃省| 安塞县| 锦屏县| 玉林市| 璧山县| 江永县| 库伦旗| 甘肃省| 长汀县| 大宁县| 新丰县| 高邮市| 黔江区| 佳木斯市| 湟源县| 绍兴市| 稷山县| 东兰县| 齐齐哈尔市| 崇信县| 连城县| 肇庆市| 台江县| 景东| 远安县| 偏关县| 吉首市|