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

相关推荐

  • haproxy 简单实现80转后端8000

    一,安装 yum -y install gcc automake autoconf libtool make tar -xzf haproxy-1.6.8 cd haproxy-1.6.8 make TARGET=linux2628 make install 二,编辑配置文件 Haproxy配置中分成五部分内容,当然这些组件不是必选的,可以根据需要选择作为配…

    Linux干货 2016-09-19
  • haproxy

    12.1 高性能负载均衡软件HAProxy介绍 随着互联网业务的迅猛发展,大型电商平台和门户网站对系统的可用性和可靠性要求越来越高,高可用集群、负载均衡集群成为一种热门的系统架构解决方案。在众多的负载均衡集群解决方案中,有基于硬件的负载均衡设备,例如F5、Big-IP等,也有基于软件的负载均衡产品,例如HAProxy、LVS、Nginx等。在软件的负载均衡产…

    2018-01-03
  • Linux常用基础命令

    pwd显示工作目录 [root@localhost ~]# pwd/root cd 切换回家目录,注意:bash中,~表示家目录: [root@localhost ~]# cd[root@localhost ~]# cd ~USERNAME:切换至指定用户的家目录;cd ~切换回自己的家目录; cd -:在上一次所在目录与当前目录之间来回切换; […

    Linux干货 2017-06-26
  • Linux基础之sed流编辑器详解

    之前介绍了三大文本编辑器的grep,这里介绍比grep功能更强的sed流编辑器 sed是什么? sed是Stream EDitor的缩写,man中对sed的简介为 sed – stream editor for filtering and transforming text 它的主要功能是对文本的过滤与替换。 sed的工作原理 sed的工作过程:…

    Linux干货 2016-08-15
  • 7.磁盘及文件系统管理

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdisk /dev/sd…

    Linux干货 2017-08-21
  • Linux下的网络配置方法(一)

        Linux的网络配置方法有多种,而且随发行版及版本而略微不同。我目前的测试环境为CentOS6和CentOS7。     常用的网络配置命令或方法有:ifconfig,route,netstat,ip,ss,nmcli,配置文件。 一、简介   &nb…

    Linux干货 2015-12-15