在docker中安装好mysql后发现mysqld服务占用内存到45%左右,查了资料,因为mysql吞吐量大,不建议在docker中玩. 不过我这边只是个小博客,也不至于用这么大内存,所以进行了mysql的性能优化.

经过2天断断续续的测试(苦逼…..),以下是cnf的优化设置,挂载在mysql容器的配置下,文件名可随便,只要在/etc/mysql/conf.d下都会自动识别进行叠加设置

[mysqld]
performance_schema_max_table_instances=400
 
table_definition_cache=400
 
table_open_cache=256
 
performance_schema=off

innodb_buffer_pool_chunk_size=64M 

innodb_buffer_pool_size=64M 

skip-host-cache

skip-name-resolve

因为mysql容器中没有vim之类的编辑器,也可以先复制出来后在宿主机修改好,之后再放入启动的mysql容器中,重启容器,如下

sudo docker cp [id]:/etc/mysql/conf.d/mysql.cnf ./mysql.cnf
sudo docker cp ./mysql.cnf [id]:/etc/mysql/conf.d/mysql.cnf

修改后内存消耗降至 15%

By liu

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注