主从服务器IP配置:
master:192.168.88.10
slavel:192.168.88.11
slaver:192.168.88.12
1.master服务器配置
a.创建repl新用户,并授权:
mysql> create user 'repl'@'192.168.88.%' IDENDIFIED BY "Tfcyjm1314@";
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.88.%' IDENTIFIED BY 'Tfcyjm1314@';
b.配置 /etc/my.cnf 文件
将如下内容加入到/etc/my.cnf
server-id=10
log-bin=master-bin
log-bin-index=master-bin.index
c.重启mysql
[root@master etc]# systemctl restart mysqld;
d.查看master状态:
记住Position 号码,与File 文件名。
2.slave 配置
a.配置slave服务
将下列参数加入到/etc/my.cnf
#master-slave repl
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
登录mysql
[root@slavel ~]# mysql -u root -p
b.配置master链接
mysql>CHANGE MASTER TO
MASTER_HOST='192.168.88.10',
MASTER_USER='repl',
MASTER_PASSWORD='Tfcyjm1314@',
MASTER_LOG_FILE='master-bin.000004',
MASTER_LOG_POS=2962;
c.重启,查看slave状态:
mysql> stop slave;
mysql> start slave;
mysql> show slave status;
3.验证
a.在master 创建数据库
mysql> CREATE DATABASE replDB DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
b.在slave 查看是否同步
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| replDB |
| sys |
+--------------------+
5 rows in set (0.00 sec)
几个注意的地方:
1.repl 用户GRANT REPLICATION SLAVE 即可;
2.用show slave status 查看同步状态,遇到链接失败,可能是密码错误,权限不过,或者iptables(我被iptables 强奸了好几回….)
3.在slave 中,用mysql> show slave status\G;查看同步状态,确认 Slave_IO_Running: Yes Slave_SQL_Running: Yes
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.88.10
Master_User: repl
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: master-bin.000004
Read_Master_Log_Pos: 3320
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 518
Relay_Master_Log_File: master-bin.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
如果出现 Slave_SQL_Running: No,则要进行如下重新配置:
1.在master 查看状态,记住position号。
2.停止slave
mysql> stop slave
3.运行master 链接配置
mysql> CHANGE MASTER TO
MASTER_HOST=’192.168.88.10’,
MASTER_USER=’repl’,
MASTER_PASSWORD=’Tfcyjm1314@’,
MASTER_LOG_FILE=’master-bin.000004’,
MASTER_LOG_POS=3302;
4.重启slave
mysql> start slave
即可!