mysql不以大日志文件开头

时间:2016-04-05 12:03:37

标签: mysql docker

以下容器按预期使用给定的配置文件工作。但是如果我将innodb_log_file_size从当前的419增加到512,那么容器就无法启动。小额外空间如何阻止容器启动?

docker run -v /my/custom:/etc/mysql/conf.d  -v /tmp/mydata/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc -d mysql:5.5

cat /my/custom/config-file.cnf

[mysqld]
#datadir=/var/lib/mysql
socket=/tmp/mysql.sock
user=root
#innodb_force_recovery=6
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
innodb_buffer_pool_size = 2G
innodb_file_per_table=1
innodb_log_file_size=419M
#innodb_log_file_size=519M
innodb_log_buffer_size=500K
innodb_thread_concurrency=2
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

1 个答案:

答案 0 :(得分:0)

这是因为mysql在退出之前等待30秒(仅!)。由于创建更大的日志文件需要时间,我们需要将检查时间从30秒增加到180秒。

可以在此处查看源代码的更改...

https://github.com/docker-library/mysql/compare/master...shantanuo:master

我用这个改变创建了另一个图像:

git clone https://github.com/shantanuo/mysql

cd mysql/5.5

docker build -t shantanuo/mysql .

docker push shantanuo/mysql

现在测试:

docker run -v /my/custom:/etc/mysql/conf.d  -v /tmp/mydata/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=abc -d shantanuo/mysql