标签:
一,mysql主从同步的原理
主机器开启bin-log日志,将bin-log日志同步到从机器上,从机器根据bin-log日志转换为relay-log,从机器的sql线程根据relay-log进行数据的更新。
二,搭建mysql主从同步前的环境说明:
1,建议2台机器的mysql版本一致,或者从的版本要高于主的版本。
2,关闭selinux。
3,保证2台机器的数据一致性,如果不一致建议使用rsync进行数据的同步。
4,192.168.2.66为主mysql 192.168.2.69为从mysql。
三,搭建异步的mysql主从同步(即不是在一台机器上的)
1,分别在2台机器上安装mysql,具体安装方法如链接:http://www.cnblogs.com/lin1/p/5645761.html
2,在主机器上操作:
2.1 开启binlog日志,设置server-id,重启mysqld服务。 具体如下:
vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin //[必须]启用二进制日志
server-id=222 //[必须]服务器唯一ID,默认是1。
/etc/init.d/mysqld restart
2.2 建立账号并授权给slave。
grant replication slave on *.* to ‘192.168.2.69‘@‘repl‘ identified by ‘lin‘;
2.3,刷新权限,并锁表。
flush privileges;
flush tables with read lock;
2.4,查看master状态。
show master status;
这里标记的后面需要用到,所以,请记住。
3,在从机器上操作;
3.1 修改server_id ,但这里的server_id一定不能和主的mysql一致,这里我写的是2。这里的bin-log日志可以不用开启,重启服务。
3.2 停止slave。 stop slave
3.3 连接主mysql.
change master to master_host=‘192.168.2.66‘, master_port=3306, master_user=‘repl‘, master_password=‘lin‘, master_log_file=‘mysql-bin.000001‘, master_log_pos=624; 这里就用到show master status的值。
3.4,启动slave。start slave.
3.5, 查看从的状态。
show slave status\G;
注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!
3.6 配置成功后们不要忘记回到主上取消锁表。
unlock tables;
三,测试主从。
在主上创建一个库,库里面创建一个表,然后在从上面查看是否多出一个库和表。如果从上也多出相对应的库和表,说明主从测试OK。
标签:
原文地址:http://www.cnblogs.com/lin1/p/5690141.html