首先配置两台机器,一台作为master,一台作为slave
master: 192.168.1.95:3306
slave: 192.168.1.96:3306
配置master
1、设置mysql用户,为其创建一个用来数据同步的用户。
mysql>create user jun;
mysql> grant replication slave on *.* to 'jun'@'%' identified by 'Xie79218#';
mysql> flush privileges;
2、配置my.cnf文件
#基本的配置
[mysqld]
server-id=1 #数据库服务的唯一标识
log-bin=mysql-bin # 开启bin日志
#其他配置
expire_logs_days= 10 #日志有效期
binlog-do-db= qin #需要记录二进制日志的数据库
binlog-ignore-db= mysql #不需要记录二进制日志的数据库
replicate-ignore-db=mysql #不需要同步的数据库
3、重启mysqld
service mysqld restart
4、进入mysql查看master的状态, 获得pos点的值
mysql> show master status;
配置slave
1、配置my.cnf
[mysqld]
server-id=300 #与服务器的ID不一样,一般可以配置大一点
slave-net-timeout=60
2、重启Mysqld
service mysqld restart
3、进入mysql命令行,开始连接master
stop slave;
change master to master_host='192.168.1.95',master_user='jun',master_password='Xie79218#',master_port=3306, master_log_file='mysql-bin.000001',master_log_pos=27636;
start slave;
4、验证成功,要看到下面两个值都是YES才算主从配置成功
show slave status;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
当从机宕机时要重复以下步骤
1、查看主机当前POS点
show master status
2、停止IO线程
STOP SLAVE IO_THREAD;
3、将主机的当前节点写入从机
change master to master_host='192.168.1.95',master_user='jun',master_password='Xie79218#',master_port=3306, master_log_file='mysql-bin.000002',master_log_pos=327636;
4、重启线程
START SLAVE IO_THREAD;
5、重启mysql服务并查看从机状态
show slave status\G;