Docker启动MySQL记录-2020-05-02

MySQL配置文件:

开启了日志,配置数据存储位置,日志记录位置,为宿主机到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

# 全局动态变量,默认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秒,达到此值才记录数据

long_query_time = 3

# 检索行数达到此数值,才记录慢查询日志中

min_examined_row_limit = 100

# mysql 5.6.5新增,用来表示每分钟允许记录到slow log的且未使用索引的SQL语句次数,默认值为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,不自动清理,而是使用滚动循环的方式。

expire_logs_days = 0

# 如果二进制日志写入的内容超出给定值,日志就会发生滚动。你不能将该变量设置为大于1GB或小于4096字节。 默认值是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


在宿主机创建文件夹:

/home/mysql/data     -- 宿主机数据存储位置

/home/mysql/logs      --宿主机日志存储位置

创建文件:

/etc/mysql/my.cnf        --宿主机数据库配置文件

/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                        --数据存储映射

-v /home/mysql/logs:/var/log                                 --日志存储映射

 -v /etc/mysql/my.cnf:/etc/mysql/my.cnf                --配置文件映射

 -v /etc/localtime:/etc/localtime                              --时区映射(不知道起没起作用,网上抄的)

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

 --privileged=true                                                        --权限

 -e MYSQL_ROOT_PASSWORD="3point1415926"         --设置密码

-d                              --后台运行

mysql                        --镜像名称

注:对宿主机映射到容器的文件,改权限就直接改宿主机文件权限

你可能感兴趣的:(Docker启动MySQL记录-2020-05-02)