关于Mysql搭建主从复制功能的步骤实现

1.描述

在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用「主从复制」。

比如:在复杂的业务系统中,有一句sql执行后导致锁表,并且这条sql的的执行时间有比较长,那么此sql执行的期间导致服务不可用,这样就会严重影响用户的体验度。

主从复制中分为「主服务器(master)「和」从服务器(slave)」,「主服务器负责写,而从服务器负责读」,Mysql的主从复制的过程是一个「异步的过程」。

这样读写分离的过程能够是整体的服务性能提高,即使写操作时间比较长,也不影响读操作的进行。

这里的描述用一张图来表示:

-1

2.开始远程连接

  1. #切换到mysql这个数据库,修改user表中的host,使其可以实现远程连接
  2. use mysql;
  3. update user set host =“%” where user =“root”;
  4. #改完之后一定要刷新信息
  5.      flush privileges;

3.开启bin-log日志

  1. #修改主服务器Master
  2. #修改配置文件
  3. vim /etc/my.cnf
  4. #主服务器唯一ID,这个id可以随便修改,只要不跟从服务器重复
  5. serverid=1
  6. #启用二进制日志
  7. logbin=mysqlbin
  1. #修改从服务器slave
  2. 修改配置文件:vim /etc/my.cnf
  3. #从服务器唯一ID
  4. serverid=2
  5. #启用中继日志
  6. relaylog=mysqlrelay

4.重启两台mysql

  1. service mysqld restart

5.授权Ⅰ

在主服务器上建立帐户并授权slave

  1. mysql>GRANT REPLICATION SLAVE ON *.* to ‘slave’@‘%’ identified by ‘123456’;

授权Ⅱ

在master上创建账户并授权slave

  1. mysql>GRANT REPLICATION SLAVE ON *.* to ‘slave’@‘%’ identified by ‘123456’;

tips
一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,
密码正确,此处可用具体客户端IP代替,如192.168.145.226,
加强安全。

6.配置从服务器

  1. mysql>change master to master_host=‘192.168.66.138’,master_user=‘slave’,master_password=‘123456’,
  2. master_log_file=‘mysql-bin.000001’,master_log_pos=438;

7.启动从库的复制功能

  1. mysql>start slave;

8.检查从库复制功能状态

  1. show slave status \G;
  2. TIPS
  3. 下图所圈的两个线程必须为yes状态,否则主从复制搭建不成功。

-2

到此这篇关于关于Mysql搭建主从复制功能的步骤实现的文章就介绍到这了,更多相关Mysql搭建主从复制功能内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

标签

发表评论