1、获取mysql镜像文件
docker search mysql
docker pull docker.io/mysql
2、创建mysql容器(主服务器)
docker run --name=mysql_master -d -i -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
docker ps -a
进入数据库:
docker exec -it mysql-master bash
进入到mysql_maser容器
注意:没有安装vim和net-tools需要走安装流程
Debian系统安装vim和net-tools:
apt-get update
apt-get install vim
apt-get install net-tools
打开配置文件/etc/mysql/my.cnf
vi /etc/mysql/my.cnf
添加配置文件:
[mysqld]
server-id=1 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号log-bin=master-binlog-bin-index=master-bin.index
保存,退出,重启mysql
service mysql restart
再次进入容器,登陆mysql,查看master 状态。
记录 File:master-bin.000006 和Position 1155 后面配置slave要用到
3、创建mysql容器(从服务器)
docker run --name=mysql_slave -d -i -p 3303:3306 -e MYSQL_ROOT_PASSWORD=root mysql
docker ps -a
进入slave容器
进入到mysql_maser容器
注意:没有安装vim和net-tools需要走安装流程
Debian系统安装vim和net-tools:
apt-get update
apt-get install vim
apt-get install net-tools
打开配置文件/etc/mysql/my.cnf
vi /etc/mysql/my.cnf
添加配置文件:
[mysqld]
server-id=2
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
relay_log_index=slave-relay-bin.index
relay_log=slave-relay-bin
连接master,在sell里执行命令:
change master to master_host='192.168.1.58',
master_port=3306,
master_user='root',
master_password='root',
master_log_file='master-bin.000006',
master_log_pos=1328;
启动slave:
start slave;
查看slave状态:
SHOW SLAVE STATUS\G
4、以上已经完成了主从配置,可以在主服务器上增删测试。
注意:此文档中用的账户是root账户,在实际应用中可在Master上添加一个账号专门用于同步。