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
posted @ 2024-11-26 14:19  ._Liu  阅读(28)  评论(0)    收藏  举报