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

相关推荐

  • IP地址的划分及优化

    IP地址定义:互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,所以它可以唯一标识IP网络中的每台设备,同时没台主机(计算机,网络设备,外围设备)必须具有唯一的地址。 IP地址相比于MA…

    Linux干货 2017-07-02
  • shell编程进阶

    2、编写脚本/root/bin/yesorno.sh,提示用户输入yes或no,并判断用户输入的是yes还是no,或是其它信息 read -p “Enter you choice yes|no:” Choice Choice1=`echo $Choice | tr ‘[a-z]’ ‘[A-Z]&#8…

    2017-09-16
  • 数据的游戏:冰与火

    我对数据挖掘和机器学习是新手,从去年7月份在Amazon才开始接触,而且还是因为工作需要被动接触的,以前都没有接触过,做的是需求预测机器学习相关的。后来,到了淘宝后,自己凭兴趣主动地做了几个月的和用户地址相关数据挖掘上的工作,有一些浅薄的心得。下面这篇文章主要是我做为一个新人仅从事数据方面技术不到10个月的一些心得,也许对你有用,也许很傻,不管怎么样,欢迎指…

    Linux干货 2016-08-15
  • 运维成长记

     在学校里学到的是知识,而企业更看重的是技能和能力。我们需要把知识先转化为技能,然后实践中通过总结提升,转变为自己的能力。这个过程或许会很漫长,但是时间会证明一切。成长的过程注定是痛苦的,欲戴王冠,必承其重!我们有理由相信:运气也是实力的一部分! 第一次接触linux还是在大学的课堂上,看着老师在物理机上用VM虚拟出一台Ubuntu的时候,真实感觉…

    Linux干货 2017-07-11
  • 关于大型网站技术演进的思考(七):存储的瓶颈(7)

    原文出处: 夏天的森林  本文开篇提个问题给大家,关系数据库的瓶颈有哪些?我想有些朋友看到这个问题肯定会说出自己平时开发中碰到了一个跟数据库有关的什么什么问题,然后如何解决的等等,这样的答案没问题,但是却没有代表性,如果出现了一个新的存储瓶颈问题,你在那个场景的处理经验可以套用在这个新问题上吗?这个真的很难说。 其实不管什么样的问题场景最…

    2015-03-11
  • 第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; 答:#egrp ‘^(root|fedora|user1)’ /etc/passwd | cut -f1,7 -d: 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); 答:#egrp -o &…

    Linux干货 2017-02-25