使用Docker搭建MySQL

在Docker中搭建MySQL非常简单,可以快速部署一个独立、隔离的MySQL实例。以下是具体步骤:

拉取MySQL镜像

从Docker Hub获取官方MySQL镜像,可以选择特定版本(如8.0latest)。

docker pull mysql:8.0
运行MySQL容器

启动MySQL容器时,需设置必要的环境变量(如root密码、数据库名称等)。

docker run --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  -e MYSQL_DATABASE=mydatabase \
  -e MYSQL_USER=myuser \
  -e MYSQL_PASSWORD=userpassword \
  -p 3306:3306 \
  -d mysql:8.0

参数说明:

  • --name:容器名称。
  • -e:环境变量(密码、数据库名等)。
  • -p:宿主机与容器的端口映射(主机端口:容器端口)。
  • -d:后台运行容器。
持久化数据存储

默认情况下,容器停止后数据会丢失。通过挂载卷(Volume)实现数据持久化。

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

-v参数将主机目录/path/to/host/data映射到容器的MySQL数据目录/var/lib/mysql

常用操作

进入容器终端

docker exec -it mysql-container bash

连接MySQL

mysql -u root -p

查看容器日志

docker logs mysql-container
使用Docker Compose

通过docker-compose.yml文件管理MySQL服务更便捷。

version: '3'
services:
  mysql:
    image: mysql:8.0
    container_name: mysql-container
    environment:
      MYSQL_ROOT_PASSWORD: yourpassword
      MYSQL_DATABASE: mydatabase
      MYSQL_USER: myuser
      MYSQL_PASSWORD: userpassword
    ports:
      - "3306:3306"
    volumes:
      - /path/to/host/data:/var/lib/mysql

启动服务:

docker-compose up -d
注意事项
  • 生产环境中建议使用强密码并限制访问权限(如防火墙规则)。
  • 定期备份挂载卷中的数据。
  • 如需定制配置(如my.cnf),可挂载配置文件目录:
    -v /path/to/custom:/etc/mysql/conf.d
    
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐