docker-compose部署MySQL8的實現(xiàn)
前言
Windows/Linux 系統(tǒng)通過 docker-compose 部署 MySQL8.0。
MySQL 配置文件(my.cnf)
# 服務(wù)端參數(shù)配置 [mysqld] user=mysql # MySQL啟動用戶 default-storage-engine=INNODB # 創(chuàng)建新表時將使用的默認(rèn)存儲引擎 character-set-server=utf8mb4 # 設(shè)置mysql服務(wù)端默認(rèn)字符集 collation-server = utf8mb4_general_ci # 數(shù)據(jù)庫字符集對應(yīng)一些排序等規(guī)則,注意要和character-set-server對應(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è)置為7天) # 設(shè)置client連接mysql時的字符集,防止亂碼 init_connect='SET NAMES utf8mb4' # 是否對sql語句大小寫敏感,1表示不敏感 lower_case_table_names = 1 # 執(zhí)行sql的模式,規(guī)定了sql的安全等級, 暫時屏蔽,my.cnf文件中配置報錯 #sql_mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # 事務(wù)隔離級別,默認(rèn)為可重復(fù)讀,mysql默認(rèn)可重復(fù)讀級別(此級別下可能參數(shù)很多間隙鎖,影響性能) transaction_isolation = READ-COMMITTED # TIMESTAMP如果沒有顯示聲明NOT NULL,允許NULL值 explicit_defaults_for_timestamp = true #它控制著mysqld進(jìn)程能使用的最大文件描述(FD)符數(shù)量。 #需要注意的是這個變量的值并不一定是你設(shè)定的值,mysqld會在系統(tǒng)允許的情況下盡量獲取更多的FD數(shù)量 open_files_limit = 65535 # 允許最大連接數(shù) max_connections=200 #最大錯誤連接數(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 # 指定了容器的重啟策略,除了手動停止容器,其他情況都自動重啟容器 environment: - TZ=Asia/Shanghai # 指定了容器的環(huán)境變量,設(shè)置容器的時區(qū)為上海時區(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 測試連接
卸載
docker-compose -f docker-compose.yml -p mysql down
到此這篇關(guān)于docker-compose部署MySQL8的實現(xiàn)的文章就介紹到這了,更多相關(guān)docker compose部署MySQL8 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker安全開放遠(yuǎn)程訪問連接權(quán)限方式
文章介紹了如何配置Docker以實現(xiàn)遠(yuǎn)程訪問、開啟認(rèn)證和通信加密,包括生成證書和私鑰、配置Docker守護(hù)進(jìn)程以及在IDEA和Maven中連接Docker服務(wù)的方法2024-11-11docker compose 一鍵部署分布式配置中心Apollo的過程詳解
這篇文章主要介紹了docker compose 一鍵部署分布式配置中心Apollo,今天我們使用Docker來進(jìn)行搭建,畢竟Docker對于開發(fā)者來說更友好一些,需要的朋友可以參考下2021-09-09Docker中Harbor企業(yè)級鏡像倉庫的搭建與使用
本文介紹了Harbor企業(yè)級鏡像倉庫的搭建與使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12Docker安裝MongoDB并使用Navicat連接的操作方法
MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,MongoDB最大的特點是它支持的查詢語言非常強(qiáng)大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,這篇文章主要介紹了Docker安裝MongoDB并使用Navicat連接,需要的朋友可以參考下2022-10-10docker修改運(yùn)行容器環(huán)境變量的操作步驟
在現(xiàn)代應(yīng)用開發(fā)中,Docker 提供了一種有效的容器化解決方案,使得應(yīng)用的部署、擴(kuò)展和管理變得更加靈活,環(huán)境變量在容器化應(yīng)用中起著重要作用,它們可以幫助配置應(yīng)用的運(yùn)行環(huán)境,本文小編給大家介紹了docker如何修改運(yùn)行容器環(huán)境變量,需要的朋友可以參考下2025-03-03excel導(dǎo)出在docker環(huán)境中總是失敗的問題
這篇文章主要介紹了excel導(dǎo)出在docker環(huán)境中總是失敗的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,2020-09-09