| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
本文档详细介绍了在 Ubuntu 系统上使用 Docker 建立 MySQL 集群的过程。主要内容包括 Docker 的安装与配置、Mariadb 数据库的运行与容器化管理、主从数据库的配置与同步。文档提供了具体的命令示例和环境变量设置,确保读者能够通过 Docker 创建高可用性的数据库集群,并通过主从复制实现数据同步。 | ||
| AI总结 | ||
# 使用 Docker 建立 MySQL 集群总结
## 软件环境
- 操作系统:Ubuntu Server 64bit 14.04.1
- Docker 版本:1.6.2
- 数据库:Mariadb 10.10(MySQL 的分支,性能优于 MySQL 开源版本)
## 安装 Docker
- **Ubuntu**:直接联网安装最新版本,使用脚本 `wget https://get.docker.com` 安装。
- **CentOS 6**:先安装 EPEL 源,再安装 Docker-io。
## 运行 Mariadb 容器
1. 拉取 Mariadb 镜像:`docker pull mariadb:latest`
2. 启动容器时注意事项:
- 配置容器名称(`--name`)
- 设置 ROOT 密码环境变量(`-e MYSQL_ROOT_PASSWORD`)
- 映射端口(`-p`)
- 指定数据存储目录(`-v`)
- 可选:设置数据库用户、密码、数据库名等环境变量(`MYSQL_USER`、`MYSQL_PASSWORD`、`MYSQL_DATABASE`)
- 解决控制台问题:设置 `TERM=linux` 环境变量
3. 示例运行命令:
```bash
docker run --name mdb1 \
-p 13306:3306 \
-v /home/wonders/docker_mdb1_data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=wondersgroup \
-e MYSQL_USER=medical_waste \
-e MYSQL_PASSWORD=medical_waste \
-e MYSQL_DATABASE=medical_waste \
-e TERM=linux \
-d mariadb
```
## 配置一主一从集群
1. 启动从数据库容器:
```bash
docker run --name mdb2 \
-e MYSQL_ROOT_PASSWORD=slave_password \
--link mdb1:master_db \
-d mariadb
```
2. 修改主从数据库的配置:
- 在容器内安装 `vim`(`apt-get update && apt-get install vim`)
- 修改主数据库的 `my.cnf`:`server-id = 1`
- 修改从数据库的 `my.cnf`:`server-id = 2`
- 重启容器
3. 配置主从同步:
- 在主数据库中创建同步账号并授权:
```sql
GRANT REPLICATION SLAVE ON *.* TO 'sync'@'%' IDENTIFIED BY 'sync';
FLUSH PRIVILEGES;
SHOW MASTER STATUS; # 记录 File 和 Position 值
```
- 在从数据库中配置主数据库信息并启动同步:
```sql
STOP SLAVE;
CHANGE MASTER TO
master_host='master_db',
master_user='sync',
master_password='sync',
master_port=3306,
master_log_file='mariadb-bin.000004',
master_log_pos=789;
START SLAVE;
```
- 查看同步状态:`SHOW SLAVE STATUS;`
## 注意事项
- 建议将运行命令写成脚本,便于多次测试和调整。
- 使用 `docker inspect` 查看容器详细信息,确保配置符合要求。
- 如需修改容器镜像,可使用 `docker commit` 保存修改后的镜像。
通过以上步骤,可以快速搭建一个基于 Docker 的 Mariadb 数据库集群,实现主从复制和数据同步。 | ||
P1
P2
P3
下载文档到本地,方便使用
文档评分














使用 Docker 建立 MySQL 集群