插件窝 干货文章 docker安装mysql之后如何配置

docker安装mysql之后如何配置

MySQL PASSWORD Docker 配置 374    来源:    2025-04-30

Docker 安装 MySQL 后的配置指南

基本配置步骤

1. 启动 MySQL 容器时配置

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

常用配置参数: - -e MYSQL_ROOT_PASSWORD=password:设置 root 密码 - -e MYSQL_DATABASE=database_name:创建初始数据库 - -e MYSQL_USER=user-e MYSQL_PASSWORD=password:创建新用户 - -p 3306:3306:端口映射(主机端口:容器端口)

2. 持久化数据存储

docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

3. 自定义配置文件

创建自定义 my.cnf 文件,然后挂载到容器中:

docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

高级配置

1. 使用环境变量配置

docker run --name some-mysql \
  -e MYSQL_ROOT_PASSWORD=my-secret-pw \
  -e MYSQL_DATABASE=my_database \
  -e MYSQL_USER=user \
  -e MYSQL_PASSWORD=password \
  -e TZ=Asia/Shanghai \
  -d mysql:tag \
  --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_unicode_ci

2. 配置复制(主从)

主服务器:

docker run --name mysql-master \
  -e MYSQL_ROOT_PASSWORD=master_password \
  -e MYSQL_REPLICATION_USER=repl \
  -e MYSQL_REPLICATION_PASSWORD=repl_password \
  -d mysql:tag \
  --server-id=1 \
  --log-bin=mysql-bin \
  --binlog-format=ROW

从服务器:

docker run --name mysql-slave \
  --link mysql-master:master \
  -e MYSQL_ROOT_PASSWORD=slave_password \
  -e MYSQL_REPLICATION_USER=repl \
  -e MYSQL_REPLICATION_PASSWORD=repl_password \
  -d mysql:tag \
  --server-id=2

3. 配置网络

docker network create mysql-network

docker run --name some-mysql --network mysql-network -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

常用操作

1. 进入 MySQL 容器

docker exec -it some-mysql bash

2. 连接到 MySQL

docker exec -it some-mysql mysql -uroot -p

3. 导入/导出数据

导出:

docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /path/on/host/all-databases.sql

导入:

docker exec -i some-mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /path/on/host/all-databases.sql

安全配置建议

  1. 不要使用默认的 root 密码
  2. 限制 root 用户的远程访问
  3. 为每个应用创建单独的用户和数据库
  4. 定期备份数据
  5. 使用最新版本的 MySQL 镜像

版本选择

建议使用特定版本标签而非 latest,例如:

docker pull mysql:8.0

通过以上配置,您可以根据需求灵活地部署和管理 Docker 中的 MySQL 服务。