MySql主从复制实现

1.概况:

          1:主机(master):47.94.145.XX(阿里云)

          2:从机(slave):  49.232.141.XXX(腾讯云)

2.步骤:

        一.主机配置 

            1. 在/etc/my.cnf的[msqld]下加上   log_bin=mysql_bin_log(配置二进制日志) server-id=1

            2.service mysqld restart重启

            3.创建用于主机从机通信的账户 

                     mysql> CREATE USER Repl@10.100.141.XXX IDENTIFIED BY '123qweasdzxc'; //创建用户
                     mysql> GRANT REPLICATION SLAVE ON . TO Repl@49.232.141.XXX; //分配权限

           4.SHOW MASTER STATUS;

                     记录二进制文件名(mysql-bin.000001)和位置(546):

         主机配置完毕

          二.从机配置

           1. 在/etc/my.cnf的[msqld]下 配置server-id=2

           2.service mysqld restart重启

           3.mysql> CHANGE MASTER TO
-> MASTER_HOST='47.94.145.XX',
-> MASTER_USER='Repl',
-> MASTER_PASSWORD='123qweasdzxc',
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=546;

        4.start slave

        5.show slave staus

       当当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了

   三.常见错误

       Slave_SQL_Running为No,报以下错误:

        Last_SQL_Errno: 1594
        Last_SQL_Error: Relay log read failure: Could not parse relay log event entry. The possible remysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlSQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their n
  Replicate_Ignore_Server_Ids:

    解决方案:

    打开mysl错误日志,找到最后一次报错的二进制bin文件和pos位置,然后change master to
    -> master_log_file='XXXXXXX'
    -> ,master_log_pos=XXX;

 四.原理及作用:

作用:
(1) 可以作为备用数据库进行操作,当主数据库出现故障之后,从数据库可以替代主数据库继续工作,不影响业务流程
 
(2) 读写分离,将读和写应用在不同的数据库与服务器上。一般读写的数据库环境配置为,一个写入的数据库,一个或多个读的数据库,各个数据库分别位于不同的服务器上,充分利用服务器性能和数据库性能

(3) 吞吐量较大,业务的查询较多,并发与负载较大。
 

原理:

 


1.从库生成两个线程,一个i/o线程,一个SQL线程;
 
2.i/o线程去请求主库的二进制日志binlog,并且得到的binlog日志写道relay log(中继日志)文件中,
 
3.主库会生成一个log dump线程,用来给从库的i/o线程传二进制日志binlog;
 
4.SQL线程,会读取中继日志文件,并解析成具体的操作执行,这样主从的操作就一致了,而最终的数据也就一直了。
 

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值