MySQL 5.7.14主从配置

     大型网站为了缓解大量的并发访问,可以在网站实现分布式负载均衡,但这是远远不够的。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,大量的数据库连接操作可能导致数据库的崩溃,如果发生数据丢失事故,后果更是不堪设想。这时候,我们会考虑如何减少数据库的压力,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached;如果资金丰厚的话,我们也可以架设服务器集群,来分担主数据库的压力。今天我们利用MySQL主从配置,可以实现读写分离,从而减轻数据库的压力。

     概述:搭设一台Master服务器(CentOS6系统,ip:10.139.8.39),搭设一台Slave服务器(CentOS6系统,ip:10.139.8.40
     原理:主服务器(Master)负责网站NonQuery操作,从服务器负责Query操作,用户可以根据网站功能模特性块固定访问Slave服务器,或者自己写个池或队列,自由为请求分配从服务器连接。主从服务器利用MySQL的二进制日志文件,实现数据同步。二进制日志由主服务器产生,从服务器响应获取同步数据库。
     具体实现:

     1、在主从服务器上都装上MySQL数据库;

     2、配置Master主服务器:

     (1)找到MySQL安装文件夹修改my.cnf文件。我们只要启动二进制日志log-bin就可以了。

      在[mysqld]下面增加下面几行,然后重启MySQL数据库。

[mysqld]
log-bin=mysql-bin
server-id=1 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
     (2) 在Master MySQL上创建一个用户‘repl’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。

mysql>create user repl; //创建新用户
//repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。说明一下192.168.0.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%' IDENTIFIED BY 'mysql';


     (3) 查看日志:


     3、Slave从服务器(Ubuntu)

    (1)找到MySQL安装文件夹修改my.cnf文件,并在[mysqld]下面增加下面几行,并重启MySQL服务。

[mysqld]
server-id=2
     (2)连接master:

mysql>CHANGE MASTER TO
    >MASTER_HOST='10.139.8.39',
    >MASTER_USER='repl',
    >MASTER_PASSWORD='Rep@1234',
    >MASTER_LOG_FILE='mysql-bin.000004',
    >MASTER_LOG_POS=730;

    (3)启动Slave

mysql>start slave;
     (4)查看是否连接成功

mysql>show slave status \G;

      至此所有配置都完成了,这时候我们可以在MasterMySQL中进行测试了,因为我们监视的是Master MySQL所有操作日志,所以,任何改变主服务器数据库的操作,都会同步到从服务器上。




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值