MySQL主从复制

MySQL主从复制的原理
MySQL复制是从一个MySQL实例(Master)复制到另一个MySQL实例(Slave)。要实现MySQL主从复制,首先必须打开Master端的Binary Log,主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环。当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后等待主服务器通知下一次更新。
MySQL主从复制的基本过程
MySQL使用3个线程来执行复制功能(其中一个在主服务器上,两个在从服务器上。当从服务器发出START SLAVE时,从服务器创建一个I/O线程,以连接主服务器并让主服务器发送二进制日志。主服务器创建一个线程将二进制日志中的内容发送到从服务器。从服务器I/O线程读取主服务器Binlog Dump线程发送的内容并将该数据拷贝到从服务器数据目录中的本地文件中,即中继日志。第三个线程是SQL线程,从服务器使用此线程读取中继日志并执行日志中包含的更新。SHOW PROCESSLIST语句可以查询在主服务器上和从服务器上发生的关于复制的信息。
MySQL主从复制的优点
Mysql数据库支持主从复制功能,使用主数据库进行数据的插入、删除与更新操作,而从数据库则专门用来进行数据查询操作,这样可以将更新操作和查询操作分担到不同的数据库上,从而提高了查询效率。
设置主从复制
1.确保在主服务器和从服务器上安装的MySQL版本相同
2.在主服务器上为复制设置一个连接账户。该账户必须授予REPLICATION SLAVE权限。如果账户仅用于复制(推荐这样做),则不需要再授予任何其它权限
GRANT REPLICATION SLAVE ON *.* to 'replication'@'10.1.1.50' identified by '123456';
3.配置主服务器
[mysqld]
server-id=1 #每一个数据库服务器都要制定一个唯一的server-id,通常主服务器制定为1
log-bin=mysql-bin #mysql进行主从复制是通过二进制的日志文件来进行的,所以必须开启mysql的日志功能
4.配置从服务器
[mysqld]
server-id=2
master-host=10.1.3.168
master-user=replication
master-password=123456
replicate-do-db=drupal
5.重启主从服务器
监控服务器状态
1.监控主服务器的状态
通过show master status查看
2.监控从服务器的状态
通过show slave status\G查看
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果两个都是Yes,说明已经成功了。
从数据库服务器的通常操作命令有:
start slave; #启动复制线程
stop slave; #停止复制线程
reset slave; #重置复制线程
change master to; #动态改变到主服务器的配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值