MySQL Replication (MySQL的主从复制)

MySQL Replication(MySQL的主从复制)

主从数据库的工作模型: 工作要点:1、主服务器要开启二进制日志 2、从服务器要有一个用户账户,这个账户要有权限到主服务器上请求二进制事件,请求完后保存到本地。 3、从服务器上要有一个线程,从中继日志中不断的读事件,在本地replay。

Master/Slave
    Master: write/read
    Slaves: read

为什么?
    冗余:promte(提升为主),异地灾备
        人工
        工具程序:MHA
    负载均衡:转移一部分“读”请求;
    支援安全的备份操作;
    测试;
    ...

主/从架构:
    异步复制:
    半同步复制:
    一主多从;
    一从一主;
    级联复制;
    循环复制;
    双主复制;

    一从多主:
        每个主服务器提供不同的数据库;


配置:
    时间同步;
    复制的开始位置:
        从0开始;
        从备份中恢复到从节点后启动的复制;
    主从服务器mysqld程序版本不一致?

    主服务器:
        配置文件my.cnf
        server_id=#
        log_bin=log-bin

        启动服务:
        mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'USERNAME'@'HOST' IDENTIFIED BY 'YOUR_PASSWORD';
        mysql> FLUSH PRIVILEGES;

    从服务器:
        配置文件my.cnf
        server_id=#
        relay_log=relay-log 

        启动服务:
        mysql> CHANGE MASTER TO MASTER_HOST='HOST',MASTER_USER='USERNAME',MASTER_PASSWORD='YOUR_PASSWORD',MASTER_LOG_FILE='BINLOG',MASTER_LOG_POS=#;
        mysql> START SLAVE [IO_THREAD|SQL_THREAD];

        mysql> SHOW SLAVE STATUS;

    课外作业:基于SSL的复制的实现;

配置主从数据库实例

1、加入使用centos7(2)和centos7(3)这两台虚拟机当做节点,(2)做主,(3)做从。第一步先同步时间

两台主机分别执行ntpdate 10.1.0.1

MySQL  Replication  (MySQL的主从复制)

配置/etc/chrony.conf文件

MySQL  Replication  (MySQL的主从复制)

时间节点已经同步

2、在节点1(centos7(2)),配置/etc/my.cnf

log-bin=master-log 启动二进制日志 server-id=1 设置id

MySQL  Replication  (MySQL的主从复制)

启动mysql服务

systemctl start mariadb.service

验证二进制日志文件

MySQL  Replication  (MySQL的主从复制)

主节点连入数据库,执行show master status,查看是从哪个文件,哪个位置开始。即便从0开始,待会复制时也要指明从哪个文件哪个位置开始。

MySQL  Replication  (MySQL的主从复制)

3、在节点2(centos7(3)),配置从节点,vim /etc/my.cnf

MySQL  Replication  (MySQL的主从复制)

启动mysql服务

systemctl start mariadb.service

查看日志文件

MySQL  Replication  (MySQL的主从复制)

4、主服务器上,授权一个拥有连接复制权限的账号

MySQL  Replication  (MySQL的主从复制)

然后FLUSH PRIVILEGES

主从上面只需要业务同步就可以,不需要授权同步

MySQL  Replication  (MySQL的主从复制)

这时,主服务器授权已经完成,从服务器就可以连上了

MySQL  Replication  (MySQL的主从复制)

查看从服务器使用与否

show slave status

这里还没有启动复制功能,启动复制功能start slave

MySQL  Replication  (MySQL的主从复制)

MySQL  Replication  (MySQL的主从复制)

查看,已经复制过来了

MySQL  Replication  (MySQL的主从复制)

在主节点上做一些创建类的操作,创建一个mydb2数据库,通常从节点上可以查看到这个数据库

MySQL  Replication  (MySQL的主从复制)

MySQL  Replication  (MySQL的主从复制)

注意:复制是单向的,从服务器上创建数据库,主服务器无法显示

让从服务器只能读,不能写,设置成只读

MySQL  Replication  (MySQL的主从复制)

再也不释放锁,谁也写不进来

MySQL  Replication  (MySQL的主从复制)

这样的话从线程也写不了了。所有只能寄托从服务器不要误操作。

原创文章,作者:15152188070,如若转载,请注明出处:http://www.178linux.com/60261

(0)
1515218807015152188070
上一篇 2016-11-21 15:55
下一篇 2016-11-21 19:33

相关推荐

  • 磁盘管理

    一、知识整理 1、每个扇区:512字节;每个柱面:256个磁头*63个扇区*512字节,大概为8M。centos6中分区使用起始结束柱面;centos7中分区使用起始结束扇区。EBR:扩展分区的第一个扇区。 2、MBR:master root record,1982年,使用32位表示扇区数,分区不超过2T。其中,一共512bytes字节,446bytes为b…

    Linux干货 2016-08-29
  • CentOS6.7上编译安装MariaDB

    CentOS6.7上编译安装MariaDB

    系统运维 2016-06-03
  • CMDB内功心法,助我登上运维之巅

    很多70、80后甚至90后都在金庸、古龙、梁羽生先生等武林大家熏陶下成长的,这么多年过去了,我的武侠梦依然不曾散去。曾几何,梦想有一天练就一身绝学,搂着小师妹花前月下,仗剑走天涯,快意人生。可每次的酣睡美梦都被班主任大书板子给抽醒,在他们的鞭策之下,浑浑噩噩的成了一位IT骚年。我们都知道武功分为内功和招式,内功是气,而招式是形,以气御形。内功深厚,会让你的招…

    系统运维 2017-01-09
  • 压缩打包工具

    linux系统常见的压缩命令:compress、gzip、zcat、bzip2、xz、zip 打包命令:tar、cpio compress 语法:compress  [-dfvcVr]  [-b maxbits]  [file …]        …

    2017-08-12
  • God进程监控框架

    监控重启进程的方案有很多种: 最简单的方法,写个脚本fork进程运行,然后waitpid,如果获pid后就再次启动 最土的方法,配置cron任务,固定时间运行脚本检查进程是否存在,不存在则启动 百度使用qmail里的supervised程序,通过supervised监管进程。 优点:supervised可以启动daemon程序,对于非daemon需要采用no…

    Linux干货 2015-02-13
  • 178linux博客写作技巧

    为什么要写博客 为什么要写在178linux上 如何注册178linux 178linux的文章提审规则 178linux写文章的技巧 markdown 语法 为什么要写博客 写博客的好处不言而喻,也不做过多解释,眼过千遍不如手过一遍。知识的吸收需要很长的过程,这个过程越艰难越我们对知识的吸收程度也越好。对于找工作也有好处,侧面是自己工作能力的证明,大量学员…

    Linux干货 2016-09-06