实现mysql主从复制的简单步骤:
主服务器:
开启二进制日志
配置唯一的server-id
获得master二进制日志文件名及位置
创建一个用于slave和master通信的用户账号
从服务器:
配置唯一的server-id
使用master分配的用户账号读取master二进制日志
启用slave服务
Mysql版本:MySQL 5.6
Master-Server : 192.168.111.201
Slave-Server : 192.168.111.197
主数据库master配置:
master(主数据库)配置文件 my.cnf 插入两行:
log-bin=mysql-bin //开启二进制
server-id=1 //设置server-id
重启mysql: service mysql restart
进入数据库:mysql -u root -p 密码
show master status; 查看配置的 file 名称和 log 对应的数字
创建登陆用户并授权:grant replication slave on *.* to '用户名'@‘%’ identified by '密码';
从服务配置:
同样修改my.cnf 的mysql配置文件:
server-id = 2 //与mysql主服务server-id 不一样
重启mysql,执行mysql会话:
change master to
master_host='mysql主服务IP',
master_user='主服务创建的登陆用户名',
master_password="密码";
master_log_file="mysql主服务对应的 File";
master_log_pos="mysql主服务对应的 Position";
执行成功,启动slave回话
start slave;
查看slave状态:
show slave status\G;
当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了。数据库即可进行主从同步测试。
如果slave的状态为connection(slave_IO_Running:connecting)状态即为从服务不能连接上主服务,检查防火前是否关闭,远程连接数据库能否连接上。
在主数据库上只需放开mysql的tcp即可 iptables -A -p tcp --dport 3306 -j ACCEPT
在从服务器上需要同时放开mysql的tcp udp: iptables -A -p tcp --dport 3306 -j ACCEPT
网友评论