docker安装mysql
拉取mysql镜像
docker pull mysql:5.7
:
后5.7为版本号,说明为5.7版本,不加:5.7
默认为latest版本
创建文件夹
- 创建文件夹用来挂载数据卷
mkdir -p /root/docker/mysql/data mkdir -p /root/docker/mysql/conf
-
在conf文件夹下创建文件
my.cnf
-
[mysqld] skip-name-resolve character_set_server=utf8 datadir=/var/lib/mysql server-id=1000
-
启动容器
docker run --name docker-mysql \ -e MYSQL_ROOT_PASSWORD=root \ -p 3306:3306 \ -v /root/docker/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf \ -v /root/docker/mysql/data:/var/lib/mysql \ -d mysql:5.7
-
使用上述命令即可启动容器
-
MYSQL_ROOT_PASSWORD=root
,设置密码,密码为root -
-p 3306:3306
,指定端口的映射,使用3306端口即可连接数据库 -
-v
指定数据卷挂载 -
mysql:5.7
,是镜像名称
mysql使用的内存过多,导致系统杀死对应的进程问题
mysql启动后设置限制内存
-
在宿主机任意位置下:
vim docker.cnf
-
写入:
-
skip-host-cache skip-name-resolve performance_schema_max_table_instances=400 table_definition_cache=400 table_open_cache=256 performance_schema=off
-
-
将docker.cnf 复制到mysql容器内
sudo docker cp ./docker.cnf 容器名:/etc/mysql/conf.d
限制mysql内存占用
docker update -m 400M --memory-reservation 400M --memory-swap 500M 容器名
- 查看设置内容后docker容器内存使用情况:
docker stats
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步