Ip地址 | 主机名 | 角色 | 数据管理员密码 | 公共配置 |
---|---|---|---|---|
192.168.88.50 | Host50 | Master服务器 | 123qqq…A | 关闭防火墙 禁用selinux |
192.168.88.51 | Host51 | Slave服务器 | 123qqq…A | 关闭防火墙 禁用selinux |
192.168.88.52 | Host52 | Slave服务器 | 123qqq…A | 关闭防火墙 禁用selinux |
1、50主机配置Master
2、51主机配置Slave
3、备份50主机的sql到52主机上
4、52主机配置Slave
[root@host50 ~]# vim /etc/my.cnf
[mysqld]
server_id=50 # 指定server_id
log_bin=master50 # 定义日志名
:wq
[root@host50 ~]# systemctl restart mysqld
# 进入mysql服务
[root@host50 ~]# mysql -uroot -p123qqq...A
# 创建用户并授权
mysql> grant replication slave on *.*
-> to repluser@"%" identified by "123qqq…A";
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show master status;
+-----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------+----------+--------------+------------------+-------------------+
| master50.000001 | 154 | | | |
+-----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
[root@host51 ~]# vim /etc/my.cnf
[mysqld]
server_id=51 # 指定server_id
:wq
[root@host51 ~# systemctl restart mysqld
[root@host51 ~]# mysql -uroot -p123qqq...A
mysql> change master to
-> master_host="192.168.88.50", # 主服务器Ip地址
-> master_user="repluser" , # 主服务器添加用户名
-> master_password="123qqq...A", # 用户密码
-> master_log_file="master50.000001" , # 主服务器binlog日志名
-> master_log_pos=154 ; # 偏移量
mysql> start slave;
mysql> show slave status \G
--master-data
完全备份完成时,把保存命令使用的日志名和偏移量保存到备份文件里[root@host50 ~]# mysqldump -uroot –p123qqq…A
--master-data -B db1 > /root/db1.sql
[root@host50 ~]# scp /root/db1.sql 192.168.88.52:/opt/
[root@host52 ~]# mysql -uroot -p123qqq...A < /opt/db1.sql
# 进入sql环境
[root@host52 ~]# mysql -uroot -p123qqq...A
# 查看导入是否完成
Mysql> select count(*) from db1.t1;
[root@host52 ~]# grep master50 /opt/db1.sql
CHANGE MASTER TO MASTER_LOG_FILE='master50.000001',
MASTER_LOG_POS=2000;
[root@host54 ~]# mysql -uroot -p123qqq...A
# 指定主服务器信息
mysql> change master to
-> master_host="192.168.88.50", # 主服务器Ip地址
-> master_user="repluser" , # 主服务器添加用户名
-> master_password="123qqq...A", # 用户密码
-> master_log_file="master50.000001" , # 主服务器binlog日志名
-> master_log_pos=2000 ; # 偏移量
mysql> start slave;
mysql> show slave status \G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
# 在主服务器50插入新数据
mysql> insert into db1.t1 values(99988);
# 两台从服务器可以看到一样的数据
[root@host51 mysql]# mysql -uroot -p123qqq...A
Mysql> select * from db1.t1;
[root@host52 mysql]# mysql -uroot -p123qqq...A
Mysql> select * from db1.t1;