Mysql高级之主从复制

时间:2023-09-29 13:25:38

原文:Mysql高级之主从复制

主从复制不就是多台服务器嘛!,一个改变另一个也改变啦,内容其实都一样!

原理:

对数据库进行操作会生成一个文件,binlog(二进制文件),从服务器配置relaylog文件,用来读取master里面binlog(有必要开启binlog,相当于备份),当然要有权限读取是吧,这就需要用到上次的权限配置啦!和普通登录没什么差别。

主做出什么动作,从也做出什么动作。

这时就需要注意主配置文件里面binlog-format ,里面值为row,二进制记录是磁盘变化;值为statusment,此时如果是执行了update语句,从服务器也会记录update语句

如果语句长而磁盘变化小,易用row

如果语句少而磁盘变化大,易用statusment

还有一种mixed,此时由系统分析决定

1 打开主服务器里面配置文件

Mysql高级之主从复制

2 配置从服务器

Mysql高级之主从复制

3分配权限,并查看master状态。记下FILE及Position的值,这个在后面配置从服务器的时候要用到

Mysql高级之主从复制

4 从服务器上通过指定要复制的主服务器

mysql>change master to aster_host='192.168.1.201',master_user='repl',master_password='q123456',

         master_log_file='mysql-bin.,000001',master_log_pos=106;

5 检查从服务器的复制状态

Mysql高级之主从复制

Slave_IO_Running: Yes       //此状态必须YES

Slave_SQL_Running: Yes       //此状态必须YES

就此ok了,很简单!

所谓的读写分离,就是sql语句的判断啦,通过程序就可以实现。