Linux 开源数据库Mysql-10-mysql集群一主一从

Linux 开源数据库Mysql-10-mysql集群一主一

可以使用host文件形式作为主机得域名解析
此时实验得两台主机得hosts文件中都添加了域名解析。
在这里插入图片描述
主master
准备数据(验证主从同步使用)主从未建立之前得数据不会同步到备库
在这里插入图片描述

开启二进制日志
 vim /etc/my.cnf

在这里插入图片描述

创建复制用户
grant replication slave,replication client on *.* to 'rep'@'192.168.159.%' identified by 'qwer1234QWER!@#$';
备份master数据库得数据
 mysqldump -p'qwer1234QWER!@#$' --all-databases --single-transaction --master-data=2 --flush-logs > `date +%F`-mysql.sql

在这里插入图片描述将备份主机传送给备份主机等待还原

准备数据(备份之后产生的数据)

在这里插入图片描述
备slave
测试rep用户是否可以用

mysql -h master -urep -p'qwer1234QWER!@#$'

在这里插入图片描述
启动服务器序号

vim /etc/my.cnf

在这里插入图片描述

systemctl restart mysqld

测试备份数据库是否正常

手动同步数据

set sql_log_bin=0;
souurce /root/2022-08-04-mysql.sql

设置主服务器

change master to master_host='master',master_user='rep',master_password='qwer1234QWER!@#$',master_log_file='mysql-bin.000004',master_log_pos=154;
master_host	//主服务器的主机名或者IP
master_use		//授权用户
master_password		//授权密码
master_log_file		//主库的bin_log文件,备份时提示备份到哪个具体位置
master_log_pos		//备份文件的的具体位置

在这里插入图片描述

启动从设备

start slave;

查看启动状态(IO-YES/SQL-YES)

show slave status\G;

在这里插入图片描述

show slave status\G;
*************************** 1. row ***************************//1.row现在有一个从节点
               Slave_IO_State: Waiting for master to send event   //这个是指Slave连接到Master的状态,就是当前IO线程的状态,MySQL主从复制线程状态转变。
                  Master_Host: master	//主节点的地址
                  Master_User: rep	//这个是Master上面的一个用户,用来负责主从复制的用户 ,创建主从复制的时候建立的(具有reolication slave权限)。
                  Master_Port: 3306	//Master服务器的端口,一般是3306。
                Connect_Retry: 60	//连接尝试次数,使用change master时可以使用master-connect-retry选项指定当前值。
              Master_Log_File: mysql-bin.000004	//显示当前I/O线程当前正在读取的主服务器二进制日志文件的名称,上面显示是mysql-bin.000004
          Read_Master_Log_Pos: 1210   //显示当前同步到主服务器上二进制日志的偏移量,I/O线程已经读取的位置,单位是字节,上述的示例显示当前同步到mysql-bin.000004的1210偏移量位置,即已经同步了mysql-bin.000004这个二进制日志中1210KB的内容。
               Relay_Log_File: 192-relay-bin.000002		//显示Slave的SQL线程当前正在读取和执行的中继日志文件的名称。
                Relay_Log_Pos: 1376		//显示在当前的中继日志中,Slave的SQL线程已读取和执行的中继日志的偏移量。
        Relay_Master_Log_File: mysql-bin.000004	//显示Slave中继日志同步到Master的二进制日志文件,本示例中为mysql-bin.000004。
             Slave_IO_Running: Yes	//显示I/O线程是否被启动并成功地连接到主服务器上,成功为Yes,否则为No
            Slave_SQL_Running: Yes		//显示SQL线程是否被启动,启动为Yes,否则为No。
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0		//显示Slave的SQL线程读取日志参数的的错误数量和错误消息,错误数量为0并且消息为空字符串表示没有错误;如果Last_Error值不是空值,它也会在从属服务器的错误日志中作为消息显示。
                   Last_Error: //同上
                 Skip_Counter: 0		//显示最近被使用的用于SQL_SLAVE_SKIP_COUNTER的值,就是用于跳过Slave错误的。
          Exec_Master_Log_Pos: 1210	//表示SQL线程已经执行的Relay log相对于主库二进制日志偏移量的位置。
              Relay_Log_Space: 1581	//表示所有原有的中继日志结合起来的总大小,在START SLAVE语句的UNTIL子句中指定的值,Until_Condition具有以下值:Until_Condition、Until_Log_File、Until_Log_Pos。
              Until_Condition: None		//如果没有指定UNTIL子句,则没有值。如果从属服务器正在读取,直到达到主服务器的二进制日志的给定位置为止,则值为Master,如果从属服务器正在读取,直到达到其中继日志的给定位置为止,则值为Relay。
               Until_Log_File: 	//用于指示日志文件名和位置值,日志文件名和位置值定义了SQL线程在哪个点中止执行。

Master_SSL_Allowed
                Until_Log_Pos: 0		//同上
           Master_SSL_Allowed: No		//显示了从服务器是否使用SSL连接到主服务器。如果允许对主服务器进行SSL连接,则值为Yes;如果不允许对主服务器进行SSL连接,则值为No;如果允许SSL连接,但是从服务器没有让SSL支持被启用,则值为Ignored。
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key:  //如果Slave使用SSL连接Master服务器,这里就会显示对应的证书和私钥信息。使用CHANGE MASTER与SSL相关的选项有:–master-ca,–master-capath,–master-cert,–master-cipher和–master-key等。
        Seconds_Behind_Master: 0		//表示主从之间延迟的时间,单位是秒。就是SQL线程当前执行的binlog(实际上是relay log)中的timestamp和IO线程最新的timestamp的差值。
        实质上,此字段计算Slave SQL线程和Slave i/o线程之间的时间差 (以秒为单位)。如果主节点和从服务器之间的网络连接速度较快,则Slave i/o线程非常接近主服务器,因此此字段是对从SQL线程与主服务器进行比较的后的一个很好的近似值。如果网络很慢,这不是一个好的近似;从SQL线程可能经常被从i/o线程所捕获,因此Seconds_Behind_Master通常显示值为0,即使i/o线程比主服务器慢很多。换言之,此列仅适用于快速网络。

Master_SSL_Verify_Server_Cert: No	//显示是否认证Master证书。
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1		//显示主服务器的Server_id。
                  Master_UUID: 545e5222-11fc-11ed-baeb-000c293b0d1d
             Master_Info_File: /var/lib/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 
            Executed_Gtid_Set: 
                Auto_Position: 0
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Master_TLS_Version: 
1 row in set (0.00 sec)

返回主服务器(master)更新数据,在从服务器(slave)观察是否同步

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值