docker-compose部署MySQL8的實(shí)現(xiàn)
前言
Windows/Linux 系統(tǒng)通過 docker-compose 部署 MySQL8.0。
MySQL 配置文件(my.cnf)
# 服務(wù)端參數(shù)配置 [mysqld] user=mysql # MySQL啟動(dòng)用戶 default-storage-engine=INNODB # 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎 character-set-server=utf8mb4 # 設(shè)置mysql服務(wù)端默認(rèn)字符集 collation-server = utf8mb4_general_ci # 數(shù)據(jù)庫(kù)字符集對(duì)應(yīng)一些排序等規(guī)則,注意要和character-set-server對(duì)應(yīng) pid-file = /var/lib/mysql/mysqld.pid # pid文件所在目錄 socket = /var/lib/mysql/mysqld.sock # 用于本地連接的socket套接字 datadir = /var/lib/mysql # 數(shù)據(jù)文件存放的目錄 bind-address = 127.0.0.1 # MySQL綁定IP expire_logs_days=7 # 定義清除過期日志的時(shí)間(這里設(shè)置為7天) # 設(shè)置client連接mysql時(shí)的字符集,防止亂碼 init_connect='SET NAMES utf8mb4' # 是否對(duì)sql語(yǔ)句大小寫敏感,1表示不敏感 lower_case_table_names = 1 # 執(zhí)行sql的模式,規(guī)定了sql的安全等級(jí), 暫時(shí)屏蔽,my.cnf文件中配置報(bào)錯(cuò) #sql_mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # 事務(wù)隔離級(jí)別,默認(rèn)為可重復(fù)讀,mysql默認(rèn)可重復(fù)讀級(jí)別(此級(jí)別下可能參數(shù)很多間隙鎖,影響性能) transaction_isolation = READ-COMMITTED # TIMESTAMP如果沒有顯示聲明NOT NULL,允許NULL值 explicit_defaults_for_timestamp = true #它控制著mysqld進(jìn)程能使用的最大文件描述(FD)符數(shù)量。 #需要注意的是這個(gè)變量的值并不一定是你設(shè)定的值,mysqld會(huì)在系統(tǒng)允許的情況下盡量獲取更多的FD數(shù)量 open_files_limit = 65535 # 允許最大連接數(shù) max_connections=200 #最大錯(cuò)誤連接數(shù) max_connect_errors = 600 [client] default-character-set=utf8mb4 # 設(shè)置mysql客戶端默認(rèn)字符集
docker-compose.yml
version: '3' # 指定了 Docker Compose 文件的格式版本,版本3是常用版本之一
services:
mysql:
image: mysql:8.0 # https://hub.docker.com/_/mysql/
container_name: mysql
restart: unless-stopped # 指定了容器的重啟策略,除了手動(dòng)停止容器,其他情況都自動(dòng)重啟容器
environment:
- TZ=Asia/Shanghai # 指定了容器的環(huán)境變量,設(shè)置容器的時(shí)區(qū)為上海時(shí)區(qū)
- LANG=en_US.UTF-8 # 指定了容器的環(huán)境變量,設(shè)置容器的編碼為UTF-8
- MYSQL_ROOT_HOST='%'
- MYSQL_ROOT_PASSWORD=123456
ports:
- 3306:3306
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
- ./conf/my.cnf:/etc/my.cnf # 指定了容器的數(shù)據(jù)卷映射關(guān)系,將宿主機(jī)的nginx.conf文件映射到容器的/etc/nginx/nginx.conf文件
- ./data:/var/lib/mysql # 指定了容器的數(shù)據(jù)卷映射關(guān)系,將宿主機(jī)的html目錄映射到容器的/usr/share/nginx/html目錄
- ./logs:/var/log/mysql # 指定了容器的數(shù)據(jù)卷映射關(guān)系,將宿主機(jī)的logs目錄映射到容器的/var/log/nginx目錄
安裝
docker-compose -f docker-compose.yml -p mysql up -d

使用 Navicat 測(cè)試連接

卸載
docker-compose -f docker-compose.yml -p mysql down
到此這篇關(guān)于docker-compose部署MySQL8的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)docker compose部署MySQL8 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 部署Datart BI工具完整指南(PostgreSQL 持久化存儲(chǔ))
本文檔詳細(xì)介紹如何使用Docker部署Datart數(shù)據(jù)可視化平臺(tái),并使用PostgreSQL作為元數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)持久化存儲(chǔ),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2026-03-03
docker compose idea CreateProcess error=2 系統(tǒng)找不到指定的文件的問題
這篇文章主要介紹了docker compose idea CreateProcess error=2 系統(tǒng)找不到指定的文件的問題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
詳解docker compose搭建lnmpr環(huán)境實(shí)現(xiàn)
這篇文章主要為大家介紹了使用docker compose搭建lnmpr環(huán)境實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
docker?compose重啟單個(gè)服務(wù)和所有服務(wù)的方法
Docker Compose 是一個(gè)用于定義和運(yùn)行多容器 Docker 應(yīng)用程序的工具,下面這篇文章主要介紹了docker?compose重啟單個(gè)服務(wù)和所有服務(wù)的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-07-07
解決Docker報(bào)錯(cuò):“docker build“ requires exactly&nb
這篇文章主要介紹了解決Docker報(bào)錯(cuò):“docker build“ requires exactly 1 argument.具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Docker部署PairDrop文件傳輸工具的項(xiàng)目實(shí)踐
本文主要介紹了Docker部署PairDrop文件傳輸工具的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-09-09

