如何使用官方的mysql镜像启用二进制日志记录是最佳方法?
我尝试使用mysql:5.7镜像,在运行时覆盖命令,通过启动选项启用二进制日志记录到mysqld(如下所示)。这种方法的问题是mysql用户没有写入/var/log/mysql
目录的权限。
运行命令:
docker run -d \
--name mysql \
-v /var/lib/mysql:/var/lib/mysql \
mysql:5.7 \
mysqld \
--datadir=/var/lib/mysql \
--user=mysql \
--server-id=1 \
--log-bin=/var/log/mysql/mysql-bin.log \
--binlog_do_db=test
输出结果:
mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 2 - No such file or directory)
我应该复制存储库并添加一个卷用于/var/log/mysql
,让MySQL用户可以写入并创建自定义镜像,还是有更好的方法来完成这个任务?是否仅使用官方MySQL镜像也能实现此功能?