Docker部署MySQL鏡像

1.拉取鏡像

# 拉取指定版本的MySQL鏡像
docker pull mysql:8.0

2.創建掛載目錄

# 自己創建好如下三個文件夾 路徑任意
[root@iZuf6aigs7rxe6f6oifq7vZ mysql]# ll
總用量 12
drwxr-xr-x 2 root root 4096 7月   7 10:25 config
drwxr-xr-x 2 root root 4096 6月  26 16:43 data
drwxr-xr-x 2 root root 4096 6月  26 17:15 log

3.創建配置文件my.cnf

[client]
# 客戶端默認字符集
default-character-set=utf8mb4
[mysql]
# 設置服務器默認字符集
default-character-set=utf8mb4
# 設置校驗規則
collation-server=utf8mb4_general_ci
# 連接字符集
init_connect = 'SET NAMES utf8mb4'[mysqld]
server-id = 1
port = 3306
default-storage-engine = InnoDB
# 允許最大的連接數
max_connections=1000
# 解決8.0版本 GROUP BY問題
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
# 設置東八區時區
default-time_zone = '+8:00'# 最大錯誤連接數(達到后阻止主機連接)
max_connect_errors = 100
#  連接超時時間(秒)
connect_timeout = 60

更多可選配置

[client]
# 客戶端默認字符集
default-character-set = utf8mb4[mysql]
# MySQL命令行客戶端默認字符集
default-character-set = utf8mb4[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# 服務器唯一ID(主從復制時需要)
server-id = 1
# 服務端口
port = 3306
# 數據目錄
datadir = /var/lib/mysql
# socket文件位置
socket = /var/run/mysqld/mysqld.sock
# 錯誤日志位置
log-error = /var/log/mysql/error.log
# 進程ID文件位置
pid-file = /var/run/mysqld/mysqld.pid
# 默認存儲引擎
default-storage-engine = InnoDB
# 默認認證插件(兼容舊版客戶端)
default_authentication_plugin = mysql_native_password
# 跳過名稱解析(提高連接速度)
skip-name-resolve### 字符集設置 ###
# 服務器默認字符集
character-set-server = utf8mb4
# 服務器默認排序規則
collation-server = utf8mb4_0900_ai_ci
# 連接字符集
init_connect = 'SET NAMES utf8mb4'### 連接設置 ###
# 最大連接數(根據業務需求調整)
max_connections = 1000
# 最大錯誤連接數(達到后阻止主機連接)
max_connect_errors = 100
# 連接超時時間(秒)
connect_timeout = 10
# 交互式連接超時(秒)
interactive_timeout = 28800
# 非交互式連接超時(秒)
wait_timeout = 28800### 內存設置 ###
# 每個連接的緩沖區大小
sort_buffer_size = 4M
# 每個連接的讀緩沖區大小
read_buffer_size = 2M
# 每個連接的隨機讀緩沖區大小
read_rnd_buffer_size = 8M
# 連接線程緩沖區大小
join_buffer_size = 8M
# 線程堆棧大小
thread_stack = 256K
# 臨時表內存大小
tmp_table_size = 64M
# 內存臨時表最大值
max_heap_table_size = 64M### InnoDB設置 ###
# InnoDB緩沖池大小(建議為物理內存的50-70%)
innodb_buffer_pool_size = 2G
# InnoDB緩沖池實例數(每個1GB左右)
innodb_buffer_pool_instances = 2
# InnoDB日志文件大小(建議256M-2G)
innodb_log_file_size = 512M
# InnoDB日志緩沖區大小
innodb_log_buffer_size = 16M
# InnoDB刷新日志方式(O_DIRECT避免雙緩沖)
innodb_flush_method = O_DIRECT
# InnoDB事務提交方式(1最安全但最慢,2折中,0最快但不安全)
innodb_flush_log_at_trx_commit = 1
# InnoDB IO線程數
innodb_read_io_threads = 4
innodb_write_io_threads = 4
# InnoDB死鎖檢測
innodb_deadlock_detect = ON
# InnoDB鎖等待超時(秒)
innodb_lock_wait_timeout = 50
# InnoDB嚴格模式
innodb_strict_mode = ON### 日志設置 ###
# 慢查詢日志
slow_query_log = 1
# 慢查詢日志文件位置
slow_query_log_file = /var/log/mysql/mysql-slow.log
# 慢查詢閾值(秒)
long_query_time = 2
# 記錄未使用索引的查詢
log_queries_not_using_indexes = 1
# 二進制日志格式(ROW格式最安全)
binlog_format = ROW
# 二進制日志過期天數
expire_logs_days = 7
# 二進制日志大小
max_binlog_size = 100M### 安全設置 ###
# 禁止LOAD DATA LOCAL INFILE(防止安全風險)
local_infile = 0
# 禁止符號鏈接
symbolic-links = 0
# 密碼驗證策略
validate_password.policy = MEDIUM
# 密碼最小長度
validate_password.length = 8
# 密碼混合大小寫要求
validate_password.mixed_case_count = 1
# 密碼數字要求
validate_password.number_count = 1
# 密碼特殊字符要求
validate_password.special_char_count = 1
# 禁止舊密碼認證
secure_auth = ON### 其他優化 ###
# 表定義緩存
table_open_cache = 2000
# 表定義緩存實例數
table_definition_cache = 1400
# 打開文件限制
open_files_limit = 65535
# 最大允許數據包大小
max_allowed_packet = 64M
# 批量插入緩沖區大小
bulk_insert_buffer_size = 16M
# 線程緩存大小
thread_cache_size = 100
# 主機名緩存大小
host_cache_size = 300

4.docker運行命令

# mysql 配置文件位置
# /kiki/mysql/config
# /kiki/mysql/data
# /kiki/mysql/log# -d 后臺運行
# --name 容器名稱
# --privileged=true 賦予容器特權模式(訪問主機所有設備)
# --restart=always 容器退出時自動重啟(除非明確停止)
# -p 3306:3306 將主機的 3310 端口映射到容器的 3306 端口(MySQL 默認端口)
# -v /innomind/mysql/data:/var/lib/mysql 掛載數據目錄
# -v /innomind/mysql/config:/etc/mysql/conf.d  掛載配置文件目錄
# -v /innomind/mysql/log:/logs 掛載日志目錄
# -e MYSQL_ROOT_PASSWORD=123456:設置 MySQL root 用戶密碼為 "123456"
# -e TZ=Asia/Shanghai:設置時區為亞洲/上海
# --lower_case_table_names=1:設置表名存儲為小寫(1 表示不區分大小寫)
# mysql:8.0 指定要運行的鏡像和版本docker run  -d  \
--name mysql8 \
--privileged=true \
--restart=always \
-p 3306:3306 \
-v /kiki/mysql/data:/var/lib/mysql \
-v /kiki/mysql/config:/etc/mysql/conf.d  \
-v /kiki/mysql/log:/logs \
-e MYSQL_ROOT_PASSWORD=123456\
-e TZ=Asia/Shanghai mysql:8.0 \
--lower_case_table_names=1 

運行即可!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/87962.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/87962.shtml
英文地址,請注明出處:http://en.pswp.cn/web/87962.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【網絡】Linux 內核優化實戰 - net.ipv4.ip_local_reserved_ports

目錄一、參數作用二、默認值與格式三、典型應用場景四、配置方法五、注意事項六、查看當前配置在Linux系統的TCP/IP網絡配置中,net.ipv4.ip_local_reserved_ports 是一個關鍵內核參數,用于指定禁止系統自動分配的本地端口范圍。這些端口會被“預留”出來…

期待在 VR 森林體驗模擬中實現與森林的 “虛擬復現”?

VR 森林體驗模擬,無疑是科技與自然領域一次極具開創性意義的奇妙碰撞。它借助前沿的虛擬現實技術,以別出心裁、獨樹一幟的方式,為我們精心打造并帶來了一場前所未有的森林探索奇幻之旅 。?在教育領域,于中小學的自然科學課堂上&a…

Qt:QLabel、LCD Number、QProgressBar、QCalendarWidget

目錄 一、QLabel 1.屬性 2.設置文本格式 3.設置圖片 4.設置文本對齊方式 5.設置自動換行 6.設置縮進 7.設置邊距 8.設置伙伴關系 二、LCD Number 1.屬性 2.Qt僅允許主線程修改界面 三、QProgressBar 屬性 四、QCalendarWidget 屬性 一、QLabel 同樣的&#x…

打造可靠的云基礎架構:Azure 區域與可用性區域

隨著企業業務的全球化擴展和數字化轉型,可靠性已成為企業在選擇云平臺時的重要考量因素。Azure 作為全球領先的云計算服務提供商,通過區域(Regions)和可用性區域(Availability Zones)為企業構建高可用性、高…

訂單初版—1.分布式訂單系統的簡要設計文檔

大綱1.訂單系統核心業務流程2.Spring Cloud Alibaba在訂單業務中的落地方案3.面向分布式全鏈路故障設計的高可靠架構方案4.分布式訂單系統的技術棧與代碼規范1.訂單系統核心業務流程(1)生成訂單時序圖(2)支付訂單流程圖(3)取消訂單流程圖這里主要介紹生單和退款兩個核心鏈路&am…

【HarmonyOS】富文本編輯器RichEditor詳解

【HarmonyOS】富文本編輯器RichEditor詳解 一、前言 在信息化高速發展的今天,普通的文本容器,已經不能夠承載用戶豐富的表達欲。富文本展示已經是移動開發中,必備要解決的問題,在鴻蒙中,通過在系統層提供RichEditor控件…

【MySQL進階】在一臺機器上運行多個MySQL實例

目錄 1.使用MySQL Installer安裝MySQL實例 1.1.去官網下載MySQL Installer 1.2.停止mysql服務 1.3.為不同的版本指定不同的安裝目錄 2.配置不同版本的選項文件 2.1.修改數據目錄 2.2.修改基本目錄 2.3.修改端口號 2.4.設置?志?錄 2.5.配置臨時目錄 2.6.修改綁定地…

verilog中timescale指令的使用

1.timescale指令格式timescale <時間單位> / <時間精度>時間單位&#xff1a;它確定了仿真中時間值的基本單位。比如 1ns 就意味著時間值是以納秒為單位來計量的。 時間精度&#xff1a;該參數決定了時間值能夠表示的最小分辨率。例如 1ps 表示時間可以精確到皮秒級…

08_Excel 導入 - 用戶信息批量導入

08_Excel 導入 - 用戶信息批量導入 1. VO 類 java復制編輯Data AllArgsConstructor NoArgsConstructor public class UserInfoBatch4ExcelReq {ExcelProperty(value "用戶姓名")Schema(description "用戶姓名")private String userName;ExcelProperty(va…

【深度學習新浪潮】什么是世界模型?

世界模型(World Model)是人工智能領域中一類通過構建環境的抽象表示來理解和預測外部世界的系統。它通過整合多模態數據(如視覺、語言、傳感器信號)形成對環境的動態認知,并支持智能體在復雜場景中進行決策與規劃。以下從核心概念、解決的問題、關鍵研究、技術路線、現狀與…

React + Express 傳輸加密以及不可逆加密

一、傳輸加密這里用 對稱加密模式 ASE實現。React 前端const CryptoJS require("crypto-js");// 示例1&#xff1a;ECB模式&#xff08;無需IV&#xff09; const encryptECB (plainText, key) > {return CryptoJS.AES.encrypt(plainText, key, {mode: CryptoJS…

瀏覽器(Chrome /Edge)高效使用 - 內部命令/快捷鍵/啟動參數

今天在CSDN上傳文件,提交總是提示續傳失敗,重試了五六次才想到獲取是科學上網的問題,這個時候其實只要重啟瀏覽器即可,但如果手動關閉瀏覽器再次打開,瀏覽器不會恢復之前的多開窗口(會恢復最后一個窗口內多開的標簽頁,但不會恢復其他窗口)。想了想記得 Chrome 流行的時…

【PTA數據結構 | C語言版】連續子序列最大和

本專欄持續輸出數據結構題目集&#xff0c;歡迎訂閱。 文章目錄 題目代碼 題目 給定 n 個整數組成的序列 { a1 ,a2 ,?,an }&#xff0c;“連續子序列”被定義為 { ai ,ai1 ,?,aj }&#xff0c;其中 1≤i≤j≤n。“連續子序列最大和”則被定義為所有連續子序列元素的和中最大…

Vrrp配置和原理

Vrrp配置和原理 文章目錄Vrrp配置和原理概述物理與邏輯拓撲重點vrid虛擬路由器虛擬IP地址及虛擬MAC地址超時時間計算-MASTER_DOWNvip 管理員手動指定方法Master路由器Backup路由器PriorityVRRP報文格式VRRP狀態機從Backup到masterVRRP協議狀態二.優先級一樣比較接口IPVRRP優先級…

可編輯59頁PPT | 某大型集團人工智能數字化轉型SAP解決方案

薦言摘要&#xff1a;某大型集團人工智能數字化轉型中&#xff0c;SAP解決方案扮演著智能中樞角色&#xff0c;深度融合AI技術與核心業務場景&#xff0c;破解傳統系統“數據孤島流程僵化”雙重困局。針對集團跨產業、多業態特點&#xff0c;方案以SAP S/4HANA為數據底座&#…

【RK3568 驅動開發:實現一個最基礎的網絡設備】

RK3568 驅動開發&#xff1a;實現一個最基礎的網絡設備一、引言二、編寫網絡設備驅動代碼1. 核心數據結構與接口2. 核心功能實現3. 網絡命名空間管理4.源代碼三、編譯與驗證1.加載模塊2.驗證網絡四、注意事項一、引言 RK3568 作為一款高性能 ARM 架構處理器&#xff0c;廣泛應…

CAIDCP系列對話:AI 驅動安全

數字時代&#xff0c;AI浪潮翻涌&#xff0c;網絡安全攻防戰已悄然升級&#xff1a; 某工業控制系統遭AI驅動勒索攻擊&#xff1a;攻擊者借 AI 精準捕捉異常網絡掃描、遠程 PowerShell 痕跡&#xff0c;瞬間加密文件索要贖金&#xff1b; 另一邊&#xff0c;某大型科技公司用AI…

ARMv8 沒開mmu執行memset引起的非對齊訪問異常

最近在haps上驗證一個新的芯片&#xff0c;記錄一下memset訪問出錯的問題。在沒開mmu和cache的情況下&#xff0c;對全局變量指針進行memset清零操作&#xff0c;發現每次都會出現異常。最后發現是沒開mmu導致出現了數據非對齊訪問導致報錯。排查EC區域發現是0x25&#xff0c;產…

基于LiveKit Go 實現騰訊云實時音視頻功能

詳細的生產部署建議&#xff0c;適用于 LiveKit Go 服務器 Web 客戶端 TURN/HTTPS。 1. 服務器準備 推薦使用云服務器&#xff08;如阿里云、騰訊云、AWS、Azure等&#xff09;&#xff0c;公網IP&#xff0c;帶寬建議≥10Mbps。系統推薦 Ubuntu 20.04/22.04 或 CentOS 7/8&…

三位一體:Ovis-U1如何以30億參數重構多模態AI格局?

1. 時代命題&#xff1a;多模態統一模型的破局之戰當GPT-4o以萬億級參數構建多模態帝國時&#xff0c;中國AI軍團正在書寫另一種答案。Ovis-U1用30億參數證明&#xff1a;參數量并非決定性因素&#xff0c;架構創新與訓練策略的化學反應&#xff0c;同樣能催生出改變游戲規則的…