我正在尝试从mysql启用并挂载日志文件,以便我们可以解析日志。
在Linux系统上运行docker和docker-compose:
尝试为mysql安装自定义配置。我有conf.d/custom.cnf
我挂载
[mysqld_safe]
log_error=/var/lib/mysql/log/mysql_error.log
[mysqld]
log_error=/var/lib/mysql/log/mysql_error.log
general_log_file = /var/lib/mysql/log/mysql.log
general_log = 1
log_slow_queries = /var/lib/mysql/log/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes
使用我的docker-compose
version: '2'
services:
mysql:
env_file: "env/mysql.env"
container_name: mysql
image: mysql:5.7.13
logging:
driver: json-file
options:
max-size: 50m
network_mode: host
restart: always
ports:
- "3306:3306"
volumes:
- "./mysql_data:/var/lib/mysql"
- "./config/mysql/conf.d:/etc/mysql/conf.d"
但它没有启动MySQL。当我进入容器并运行mysqld
时,它只退出而没有日志消息。
当我运行/etc/init.d/mysql start
时,我会看到有关权限的错误消息。像
(Errcode: 13 - Permission denied)
和
2017-10-06T14:55:48.688986Z 0 [ERROR] --initialize specified but the data directory exists and is not writable. Aborting.
这样做的正确方法是什么?我希望我不必运行任何权限更改...而且我确定这是人们使用MySQL容器时非常常见的事情?