因为自己部署服务内存比较小,而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