mysql docker 中配置日志文件挂载到本地目录

一、说明

1.docker运行命令如下:(dockerun.sh文件内容) 

DB_HOME=/home/mysql
DB_CONF_PATH=$DB_HOME/conf:/etc/mysql/conf.d
DB_LOG_PATH=$DB_HOME/logs:/var/log/mysql
DB_DATA_PATH=$DB_HOME/data:/var/lib/mysql
docker run -p 3306:3306 --name mysql -v $DB_CONF_PATH -v $DB_LOG_PATH -v $DB_DATA_PATH -e MYSQL_ROOT_PASSWORD=rootatdb01 -d mysql:5.7.19

2.目录如下:

[root@host /home/mysql]# ls
conf  data  dockerun  logs

3.配置文件/home/mysql/conf/my.cnf内容:(此处的log-error的正确配置应该是容器内的路径)

[root@host /home/mysql/conf]# cat my.cnf
[mysqld]
log-error=/home/mysql/logs/error.log
lower_case_table_names=1

4.现象:docker start mysql,启动后 容器状态处于Exited(1),失败退出。用docker logs mysql 无法显示任何日志。

二、解决:

1、修改挂载到本地的日志目录的权限。chown -R 999:999 /home/mysql/logs

2、my.cnf文件中log-error=映射到容器中的日志目录。

三、容器挂载本地的my.cnf配置文件的正确内容:

[mysqld]
log-error=/var/log/mysql/error.log
#log=/var/log/mysql/mysql.log
slow_query_log =ON
slow_query_log_file=/var/log/mysql/slowquery.log
long_query_time=3
log-queries-not-using-indexes=/var/log/mysql/nouseindex.log

lower_case_table_names=1

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值