MySQL主从复制及问题
源起:在项目中,有主从两个服务器。主服务器对外开放,从服务器同步主服务器的代码及数据。但非时时的,每晚定时将主服务器代码、数据备份,然后拉到从服务器中,最后在从服务器中还原备份。
这样做,少了一天的数据,也一直没有改,现在看到了相关的配置文章,学后,将过程记录下来。
- 复制的基本原理
-
复制的基本原则
每个slave只有一个master
每个slave只能有一个唯一的服务器ID
每个master可以有多个slave 一主一从常见配置步骤
注:这里测试时,主机为windows,从机为linux。主从都配置在[mysqld]结点下,都是小写
前提:主从MySQL版本一致且后台以服务运行
a、主机修改配置文件my.ini,
[必须]主服务器唯一ID:server-id=1,一般IP地址最后一位
server-id = 1
b、[必须]启用二进行日志:log-bin=自己本地的路径/mysqlbin/
log-bin=D:/Program Files/mysql-advanced-5.6.15-winx64/mysqlbin
c、修改从机的配置my.cnf,[必须]从服务器唯一ID:
server_id = 2
d、关闭防火墙
windows手动关闭
Linux:service iptables stop
e、在windows上建立账户并授权
GRANT REPLICATION SLAVE ON *.* TO 'LinuxSlave'@'从机IP' IDENTIFIED BY '密码';
flush privileges;
f、查看master的状态,记录下File和Position的值,记录后,不要再操作主机
show master status
g、在Linux从机上配置需要复制的主机
CHANGE MASTER TO MASTER_HOST='主机IP', MASTER_USER='LinuxSlave', MASTER_PASSWORD='密码', MASTER_LOG_FILE='.000001', MASTER_LOG_POS=120;
start slave;
h、查看从机状态:
show slave status\G
当出现以下结果时,表示配置成功
Slave_IO+Running:yes
Slave_SQL_Running:yes
i、此时可以在主机新建库、新建表、insert记录,从机复制
j、停止从服务器复制功能:
stop slave;
http://www.cnblogs.com/superfat/p/5267449.html
http://369369.blog.51cto.com/319630/790921
常见问题及解决方法:http://blog.itpub.net/29870867/viewspace-1304862/