Docker Mysql限制内存

在阿里云1G单核服务器上,运行Docker容器化的MySQL和Java应用导致内存不足。通过创建docker.cnf文件,调整MySQL配置,如减少performance_schema_max_table_instances、table_definition_cache和设置innodb_buffer_pool_size为64M,解决了内存问题。通过挂载配置文件到Docker容器中,成功运行MySQL服务。

买了个阿里云的1G单核的服务器,运行了Docker装了数据库占用内存2/3的内存,然后再跑个Java小型程序直接死机,无奈只能减小mysql内存
解决后效果:

查询了网上资料总结解决方案:
由于我docker创建的mysql容器没有apt命令,所以我使用了挂载的方式

1. 在本地创建docker.cnf文件,这里我放到了我本机的 /root/xxx/mysql文件夹下

[mysqld]
performance_schema_max_table_instances=400  
table_definition_cache=400    #缓存
performance_schema=off    #用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源东西
table_open_cache=64    #打开表的缓存
innodb_buffer_pool_chunk_size=64M    #InnoDB缓冲池大小调整操作的块大小
innodb_buffer_pool_size=64M    #InnoDB 存储引擎的表数据和索引数据的最大内存缓冲区大小

2. 运行mysql容器

  docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 -v /root/xxx/mysql:/etc/mysql/conf.d mysql

特此记录完结散花。。。

参考:https://blog.csdn.net/weixin_43888891/article/details/122518719

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值