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
下一篇 2016-11-21

相关推荐

  • Hadoop Hive sql语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需 要的内容,这套SQL 简称Hive SQL,使不熟悉mapredu…

    Linux干货 2015-04-13
  • yum使用和源码编译进程

    yum 是通过分析RPM的标头数据,根据各软件的依赖关系制作出有依赖关系时的解决方案,然后自动处理软件的依赖性问题,以解决软件安装或升级的问题。  yum使用方法: yum [options] [command] [packages …] install package .. 通过yum安装软件包 update package .. 更新软件包 u…

    Linux干货 2016-08-24
  • lamp安装配置详细过程(把以前的笔记贴上来)

    准备; 首先进入/usr/local/目录 #cd /usr/local 删除所有安装过的php mysql apache 以及libxml 首先查看目前 /usr/local目录下面的内容 #ls –l 如果看到php5 php apache2 apache mysql mysql5 libxml libxml2字样的目录都将其删除具体命令如下 #rm –…

    Linux干货 2015-05-01
  • CentOS 系统启动流程

    CentOS 系统启动流程 一、Linux系统的组成部分:内核+根文件系统 1.内核: 进程管理:进程之间的通信为:IPC(Inter Process Communication)机制,有消息队列、semerphor、shm、socket(跨主机之间的通信) 内存管理; 网络管理; 文件系统; 驱动程序; 安全功能; 2.运行中的系统环境可分为两层:内核空间…

    Linux干货 2016-09-13
  • Linux新增磁盘分区

    磁盘的分区        主分区与扩展分区最多可以有4个(分区表64字节,每分区占16字节);        扩展分区最多只能有一个;        逻辑分区是由扩展分区持续分出来的分区;       &nbs…

    Linux干货 2016-05-29
  • 第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@centos6 ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf         &…

    Linux干货 2017-01-16