docker搭建MySQL
时间: 2023-10-21 08:03:54 浏览: 95
要在 Docker 上搭建 MySQL 服务器,你可以按照以下步骤进行操作:
1. 下载 MySQL 镜像
```bash
docker pull mysql
```
2. 运行 MySQL 容器
```bash
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=your_password mysql
```
其中,`-itd` 参数表示在后台运行,并打开一个交互式终端;`--name` 参数指定容器名称为 `mysql`;`-p` 参数将容器内的 `3306` 端口映射到主机的 `3306` 端口;`-e` 参数指定 MySQL 的 root 用户密码。
3. 进入 MySQL 容器
```bash
docker exec -it mysql /bin/bash
```
进入容器后,你可以使用 MySQL 命令行工具进行数据库管理。如果你需要在主机上使用 MySQL 命令行工具,可以先在容器内创建一个数据库用户并授权,然后使用该用户进行连接:
```bash
mysql -u your_user -p -h 127.0.0.1 -P 3306
```
其中,`-u` 参数指定用户名,`-p` 参数表示需要输入密码,`-h` 参数指定连接的 IP 地址,`-P` 参数指定连接的端口号。
以上就是在 Docker 上搭建 MySQL 服务器的具体步骤,希望能对你有所帮助。
相关问题
docker搭建mysql
要使用Docker搭建MySQL服务器,可以按照以下步骤进行操作:
1. 首先,在你的系统上安装Docker。你可以根据你的操作系统类型,前往Docker官方网站下载并安装Docker。
2. 安装完成后,打开终端或命令行界面,并执行以下命令来拉取MySQL的Docker镜像:
```
docker pull mysql
```
这将从Docker Hub上下载最新的MySQL镜像。
3. 下载完成后,可以使用以下命令来创建并运行一个MySQL容器:
```
docker run -d --name mysql-server -e MYSQL_ROOT_PASSWORD=<password> -p 3306:3306 mysql
```
这将创建一个名为`mysql-server`的容器,并将MySQL的默认端口3306映射到主机的端口3306上。请将`<password>`替换为你所需的密码。
4. 当容器成功运行后,你可以使用以下命令来进入MySQL容器的bash终端:
```
docker exec -it mysql-server bash
```
这将进入MySQL容器的命令行界面。
5. 在容器内部的bash终端中,你可以使用以下命令来连接到MySQL服务器:
```
mysql -u root -p
```
系统将提示你输入密码。输入之前在步骤3中设置的密码。
现在,你已经成功搭建了一个MySQL服务器,并可以在容器内部进行操作。你可以使用各种MySQL客户端工具来连接到主机的3306端口,并管理数据库。如果你需要将MySQL服务器暴露给外部网络,可以在步骤3中更改端口映射的设置。请确保在生产环境中采取必要的安全措施,例如设置强密码和限制访问权限。
docker搭建mysql主从
1. 准备工作
- 安装Docker
- 新建两个目录:`master`和`slave`,用于存放主从数据库的数据
2. 创建MySQL容器
- 创建主库容器
```
docker run --name mysql-master -v /path/to/master:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
```
- 创建从库容器
```
docker run --name mysql-slave -v /path/to/slave:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
```
注意:`/path/to/master`和`/path/to/slave`是本地文件系统中的目录,用于存放主从数据库的数据。`123456`是MySQL的root密码,可以根据需要修改。
3. 配置主库
- 进入主库容器
```
docker exec -it mysql-master /bin/bash
```
- 登录MySQL
```
mysql -uroot -p123456
```
- 创建用于复制的用户
```
CREATE USER 'replication'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
FLUSH PRIVILEGES;
```
- 查看主库状态
```
SHOW MASTER STATUS;
```
记录下File和Position的值,后面配置从库时需要用到。
4. 配置从库
- 进入从库容器
```
docker exec -it mysql-slave /bin/bash
```
- 登录MySQL
```
mysql -uroot -p123456
```
- 配置从库复制
```
CHANGE MASTER TO MASTER_HOST='mysql-master', MASTER_USER='replication', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;
START SLAVE;
```
注意:`mysql-master`是主库的容器名称,`replication`是上一步中创建的用于复制的用户,`mysql-bin.000001`和`154`分别是主库状态中的File和Position的值。
- 查看从库状态
```
SHOW SLAVE STATUS\G
```
如果Slave_IO_Running和Slave_SQL_Running都是`Yes`,则说明配置成功。
5. 测试主从同步
在主库中创建一个测试数据库和表,并插入一条数据:
```
CREATE DATABASE test;
USE test;
CREATE TABLE t (id INT, name VARCHAR(20));
INSERT INTO t VALUES (1, 'test');
```
在从库中查询该表:
```
USE test;
SELECT * FROM t;
```
可以看到从库中也有刚刚插入的数据,说明主从同步成功。
6. 总结
以上就是使用Docker搭建MySQL主从的步骤,需要注意的是,如果主库或从库的容器重启或者删除后再次创建,需要重新配置从库复制。
阅读全文