Docker啟動MySQL記錄-2020-05-02

MySQL配置文件:

開啟了日志,配置數(shù)據(jù)存儲位置,日志記錄位置,為宿主機到docker文件掛載準備;也是在網上找的,具體配置解釋隨意在簡書搜索。

[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日志格式問題,請查閱網絡資料

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ū)映射(不知道起沒起作用,網上抄的)

?--name mysql1-0? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????? ? ?--容器名字

?--privileged=true? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????? --權限

?-e MYSQL_ROOT_PASSWORD="3point1415926"? ? ? ? ?--設置密碼

-d? ? ? ? ? ? ? ? ? ? ????????? --后臺運行

mysql? ? ? ? ? ? ? ? ????? ? --鏡像名稱

注:對宿主機映射到容器的文件,改權限就直接改宿主機文件權限

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容