二个服务器,我这里用虚拟机.131为主数据库,135为从数据库
1.配置ip地址,关闭防火墙systemctl disable firewalld
2.进入主数据库的my.cnf文件(每个人安装的目录可能不同,一般在/etc目录下面,如果不知道可以find / -name my.cnf查找位置)
添加二个参数
log-bin=mysql-bin(主从复制依赖于二进制日志文件,简称为binlog)
server-id= 1( mysql的同步的数据中是包含server-id的,用于标识该语句最初是从哪个server写入的,所以server-id一定要有的并且要是唯一的,我这里设置为1一般可以设置ip地址后缀)
设置完毕后保存退出 重启mysql
3.进入从数据库的my.cnf文件添加四个参数
log-bin=mysql-bin
server-id=2
read_only (设置只读)
replicate-do-db= lampol_test(设置数据库)保存退出重启数据库
4.进入主数据库 设置 从数据库账号读取
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.26.135' IDENTIFIED BY '99repl';
5.查看是否设置完成
show master status;
6.进入从数据库设置 主数据库账号读取
CHANGE MASTER TO MASTER_HOST ='192.168.26.131',MASTER_USER ='repl',MASTER_PASSWORD='99repl',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=331;
7.启动io线程
start slave;
8最后查看是否配置成功
show slave status\G;