mysql服务器主从分离

参考:http://www.php.cn/code/19580.html

原理:

  1. 数据库有个bin-log二进制文件,记录了所有sql语句。
  2. 我们的目标就是把主数据库的bin-log文件的sql语句复制过来。
  3. 让其在从数据的relay-log重做日志文件中再执行一次这些sql语句即可。
    在这里插入图片描述
    首先先两台服务器安装好mysql,同时都开启log-bin写日志功能

主从分离就是主服务器负责写【innodb】,多台从服务器负责读【myisam】就好了。
关闭防火墙service iptables stopsetenforce 0
show global variables like '%log%'; 查看log_bin启动状态

在my.cnf里面:
添加server-id=1(主)
注释掉 bind-address = 127.0.0.1和binlog_do_db 和 binlog_ignore_db(主)
server-id=76(从)

同步两个数据库和表

主服务器执行:

grant replication slave on *.* to 'mysqlroot'@'%' identified by '111111';// 创建个账号专门用来同步数据
show master status; // 显示日志状态,对应的填到下面的语句中000003和896

从服务器执行:
change master to master_host=‘39.108.172.xxx’,master_user=‘mysqlroot’,master_password=‘111111’,master_log_file=‘mysql-bin.000003’,master_log_pos=896;// 注意加黑体的参数

start slave;// 开启从服务
show slave status\G  // 查看从服务状态,下面两个选项都要为Yes (Slave_IO_Running,Slave_SQL_Running)

最后测试,主服务器插入数据,再查看从服务器,OK了

原理参考:
https://www.cnblogs.com/gl-developer/p/6170423.html
https://blog.csdn.net/daicooper/article/details/79905660
https://blog.csdn.net/doupei2006/article/details/8004781
https://www.cnblogs.com/zhangjianbing/p/9039767.html

posted @ 2019-02-24 12:30  蜗牛使劲冲  阅读(3)  评论(0编辑  收藏  举报  来源