插件窝 干货文章 使用Docker容器在Linux上部署MySQL方式

使用Docker容器在Linux上部署MySQL方式

MySQL Docker 容器 server 638    来源:    2025-04-01

使用Docker在Linux上部署MySQL

准备工作

在开始之前,请确保: 1. 已安装Docker和Docker Compose 2. 系统有足够的资源(建议至少2GB内存) 3. 已配置好防火墙规则(如果需要外部访问)

快速部署MySQL容器

方法1: 直接使用docker run命令

docker run --name mysql-server \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  -p 3306:3306 \
  -v /path/to/mysql/data:/var/lib/mysql \
  -d mysql:latest

参数说明: - --name: 容器名称 - -e MYSQL_ROOT_PASSWORD: 设置root用户密码 - -p 3306:3306: 端口映射(主机端口:容器端口) - -v: 数据卷挂载,持久化数据 - -d: 后台运行

方法2: 使用Docker Compose(推荐)

  1. 创建docker-compose.yml文件:
version: '3.8'
services:
  mysql:
    image: mysql:latest
    container_name: mysql-server
    environment:
      MYSQL_ROOT_PASSWORD: yourpassword
      MYSQL_DATABASE: mydatabase
      MYSQL_USER: myuser
      MYSQL_PASSWORD: mypassword
    ports:
      - "3306:3306"
    volumes:
      - /path/to/mysql/data:/var/lib/mysql
      - /path/to/mysql/conf:/etc/mysql/conf.d
    restart: unless-stopped
  1. 启动服务:
docker-compose up -d

高级配置

自定义配置文件

  1. 创建自定义配置文件目录:
mkdir -p /path/to/mysql/conf
  1. 创建配置文件my-custom.cnf:
[mysqld]
max_connections = 1000
innodb_buffer_pool_size = 1G
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
  1. 在docker run命令中添加:
-v /path/to/mysql/conf:/etc/mysql/conf.d

设置时区

在环境变量中添加:

environment:
  TZ: Asia/Shanghai

性能优化建议

  1. 为MySQL容器分配足够的内存:
deploy:
  resources:
    limits:
      memory: 2G
  1. 使用特定版本的MySQL镜像(而非latest):
image: mysql:8.0

管理MySQL容器

查看运行状态

docker ps

查看日志

docker logs mysql-server

进入MySQL命令行

docker exec -it mysql-server mysql -uroot -p

停止容器

docker stop mysql-server

启动容器

docker start mysql-server

删除容器(数据会保留在卷中)

docker rm mysql-server

安全建议

  1. 不要使用简单的root密码
  2. 限制外部访问(只在需要时映射端口)
  3. 定期备份数据卷
  4. 考虑使用MySQL的SSL/TLS配置
  5. 定期更新MySQL镜像到最新版本

备份与恢复

备份数据库

docker exec mysql-server sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > backup.sql

恢复数据库

cat backup.sql | docker exec -i mysql-server sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"'

通过以上步骤,您可以在Linux系统上快速、安全地部署MySQL容器服务。