Hugo博客公告弹窗

docker部署mysql并修改其占用内存大小

   
文章摘要
摘要小助理今天溜号啦……😜

因为自己部署服务内存比较小,而mysql在docker初始化就占500M,所以可优化其占用内存大小

一.安装mysql

1.下载好镜像

docker pull mysql:8.0.18

2.创建MySQL容器

docker run -id --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.18

3.查看安装情况

docker ps -l

二.修改mysql占用内存大小

因为自己部署服务内存比较小,而mysql在docker初始化就占500M,所以可优化其占用内存大小

1.查看运行内存

docker stats
[root@ ~]# docker stats
CONTAINER ID   NAME        CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
a28d702be74a   mysql       0.34%     400.49MiB / 1.694GiB  24.33%     0B / 0B           19.3MB / 14.1MB   38
c8adbf02c7a5   kafka       0.30%     435.7MiB / 1.694GiB   25.11%    1.77MB / 2.93MB   130MB / 86kB      65
92187cc1f68e   zookeeper   0.07%     89.78MiB / 1.694GiB   5.18%     2.93MB / 1.77MB   99.5MB / 127kB    19

     2.进入mysql容器终端

docker exec -it mysql bash

3.切换进入/etc/mysql/conf.d 目录

 cd /etc/mysql/conf.d

4.我们需要进入容器当中进行修改容器里面的配置文件,可能有的服务器是没有安装vim的,所以我们没有的需要安装的

apt-get install vim

5.docker进入mysql容器内,进入/etc/mysql/conf.d 目录执行 vim docker.cnf

vim docker.cnf

6.在对应文件后面添加下面的参数

performance_schema_max_table_instances=400  
table_definition_cache=400    
performance_schema=off    
table_open_cache=64    
innodb_buffer_pool_chunk_size=64M    
innodb_buffer_pool_size=64M   

各参数对应的意义为

[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 存储引擎的表数据和索引数据的最大内存缓冲区大小

7.退出

exit

8.重启mysql容器

docker stop mysql
docker start mysql

9.观察修改后的内存情况

docker stats

Pasted image 20230815152734

CC BY-NC-SA 4.0 转载请注明
最后更新于 2024-11-20 16:13
clarity统计