MySQL配置文件:
開啟了日志,配置數(shù)據(jù)存儲位置面褐,日志記錄位置拌禾,為宿主機到docker文件掛載準備;也是在網(wǎng)上找的展哭,具體配置解釋隨意在簡書搜索湃窍。
[mysqld]
pid-file? ? ? ? = /var/run/mysqld/mysqld.pid
socket? ? ? ? ? = /var/run/mysqld/mysqld.sock
datadir? ? ? ? = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
event_scheduler = 1
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
max_connections = 10000
interactive_timeout = 1800
wait_timeout = 1800
max_allowed_packet = 128M
# 全局動態(tài)變量,默認3匪傍,范圍:1~3
# 表示錯誤日志記錄的信息您市,1:只記錄error信息;2:記錄error和warnings信息役衡;3:記錄error茵休、warnings和普通的notes信息。
log_error_verbosity = 2
# 錯誤日志文件地址
log_error = /var/log/mysql-error.log
# 開啟慢查詢
slow_query_log = 1
# 開啟慢查詢時間,此處為1秒榕莺,達到此值才記錄數(shù)據(jù)
long_query_time = 3
# 檢索行數(shù)達到此數(shù)值俐芯,才記錄慢查詢日志中
min_examined_row_limit = 100
# mysql 5.6.5新增,用來表示每分鐘允許記錄到slow log的且未使用索引的SQL語句次數(shù)钉鸯,默認值為0泼各,不限制。
log_throttle_queries_not_using_indexes = 0
# 慢查詢日志文件地址
slow_query_log_file = /var/log/mysql-slow.log
# 開啟記錄沒有使用索引查詢語句
log-queries-not-using-indexes = 1
# 開啟二進制日志
log_bin = /var/log/mysql-bin.log
# mysql清除過期日志的時間亏拉,默認值0,不自動清理逆巍,而是使用滾動循環(huán)的方式及塘。
expire_logs_days = 0
# 如果二進制日志寫入的內容超出給定值,日志就會發(fā)生滾動锐极。你不能將該變量設置為大于1GB或小于4096字節(jié)笙僚。 默認值是1GB。
max_binlog_size = 1000M
# binlog的格式也有三種:STATEMENT灵再,ROW肋层,MIXED。mysql 5.7.7后翎迁,默認值從 MIXED 改為 ROW
# 關于binlog日志格式問題栋猖,請查閱網(wǎng)絡資料
binlog_format = row
# 默認值N=1,使binlog在每N次binlog寫入后與硬盤同步汪榔,ps:1最慢
sync_binlog = 10
在宿主機創(chuàng)建文件夾:
/home/mysql/data? ? ?-- 宿主機數(shù)據(jù)存儲位置
/home/mysql/logs? ? ? --宿主機日志存儲位置
創(chuàng)建文件:
/etc/mysql/my.cnf? ? ? ??--宿主機數(shù)據(jù)庫配置文件
/home/mysql/logs/mysql-slow.log? ? ? ???--宿主機慢查詢日志
/home/mysql/logs/mysql-error.log? ? ? ???--宿主機錯誤日志
/home/mysql/logs/mysql-bin.log? ? ? ? ? ??--宿主機二進制日志
修改文件夾權限:
啟動時遇到過權限問題蒲拉,沒有權限寫日志(我這個配置可能有些過,權限問題困擾了半個晚上痴腌,反正這樣能跑起來雌团,簡單方法誰有誰分享一下)
chmod 777??/home/mysql/data?
chmod 777? /home/mysql/logs
chmod 777??/home/mysql/logs/*.log
運行Docker
docker run? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -- 運行
?-p 3306:3306? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????-- 端口映射
-v /home/mysql/data:/var/lib/mysql? ? ? ? ? ? ? ? ? ? ? ? --數(shù)據(jù)存儲映射
-v /home/mysql/logs:/var/log? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--日志存儲映射
?-v /etc/mysql/my.cnf:/etc/mysql/my.cnf? ? ? ? ? ? ? ? --配置文件映射
?-v /etc/localtime:/etc/localtime? ? ????????????????????????? --時區(qū)映射(不知道起沒起作用,網(wǎng)上抄的)
?--name mysql1-0? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????? ? ?--容器名字
?--privileged=true? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????? --權限
?-e MYSQL_ROOT_PASSWORD="3point1415926"? ? ? ? ?--設置密碼
-d? ? ? ? ? ? ? ? ? ? ????????? --后臺運行
mysql? ? ? ? ? ? ? ? ????? ? --鏡像名稱
注:對宿主機映射到容器的文件士聪,改權限就直接改宿主機文件權限