zoukankan      html  css  js  c++  java
  • 【MySQL】MySQL复制之防崩溃从节点

      MySQL 5.6之前的版本中,运行时的数据复制信息会被保存在从节点数据目录的两个文件中,分别是master.info和relay-log.info。在MySQL 5.6之后默认依然存放在数据目录,但是可以通过设置存放在数据库的表中。
    master-info-repository:当这个变量值设置为table时候,主节点info日志信息存放在mysql.slave_master_info数据表中。当这个变量值为file时,默认文件名为master.info的文件会在文件系统中创建。
    relay-log-info-repository:当这个变量的值设为table时,中继日志信息会被保存在mysql.slave_relay_log_info数据表中。当这个变量的值设置为file时,默认文件名为relay-log.info的文件会在文件系统中被创建。
      默认情况下,这两个表并不包含任何信息,如下:
    mysql> select * from mysql.slave_master_info;
    Empty set (0.00 sec)
    mysql> select * from mysql.slave_relay_log_info;
    Empty set (0.00 sec)


    在从节点中加入以下配置信息:

    [root@localhost ~]# vim /etc/my.cnf
    [mysqld]
    master-info-repository=table
    relay-log-info-repository=table


    mysql> select * from mysql.slave_master_info G
    *************************** 1. row ***************************
    Number_of_lines: 25
    Master_log_name: mysql-bin.000020
    Master_log_pos: 344
    Host: 192.168.8.57
    User_name: repl
    User_password: mysql
    Port: 3306
    Connect_retry: 10
    Enabled_ssl: 0
    Ssl_ca: /usr/local/mysql/certs/ca-cert.pem
    Ssl_capath:
    Ssl_cert: /usr/local/mysql/certs/client-cert.pem
    Ssl_cipher:
    Ssl_key: /usr/local/mysql/certs/client-key.pem
    Ssl_verify_server_cert: 0
    Heartbeat: 30
    Bind:
    Ignored_server_ids: 0
    Uuid: 9ad24233-aeef-11e7-aa1b-080027768e58
    Retry_count: 86400
    Ssl_crl:
    Ssl_crlpath:
    Enabled_auto_position: 0
    Channel_name:
    Tls_version:
    1 row in set (0.00 sec)


    mysql> select * from mysql.slave_relay_log_info G
    *************************** 1. row ***************************
    Number_of_lines: 7
    Relay_log_name: ./relay-log.000003
    Relay_log_pos: 510
    Master_log_name: mysql-bin.000020
    Master_log_pos: 344
    Sql_delay: 0
    Number_of_workers: 0
    Id: 1
    Channel_name:
    1 row in set (0.00 sec)
      slave_master_info和slave_relay_log_info默认的存储引擎是MyISAM,为了让数据复制具有崩溃预防的特性,需要将这两个表的存储引擎修改为InnoDB。
    mysql> stop slave;
    Query OK, 0 rows affected (0.03 sec)


    mysql> alter table mysql.slave_master_info engine=innodb;
    Query OK, 0 rows affected (0.31 sec)
    Records: 0 Duplicates: 0 Warnings: 0


    mysql> alter table mysql.slave_relay_log_info engine=innodb;
    Query OK, 0 rows affected (0.09 sec)
    Records: 0 Duplicates: 0 Warnings: 0


    mysql> start slave;
    Query OK, 0 rows affected (0.01 sec)

  • 相关阅读:
    JS知识点整理
    CSS3疑难问题---6、伪类和伪元素的区别
    人物志---宋霭龄
    范仁义js课程---4、js基本注意点
    legend3---24、软件更新的时候记得保留上两个版本的软件和数据
    心得体悟帖---200215(被动录课效率太低了)
    Java中迭代列表中数据时几种循环写法的效率比较
    Win10
    Java字符串的最大长度
    Android Application对象必须掌握的七点
  • 原文地址:https://www.cnblogs.com/OrcinusOrca/p/14792245.html
Copyright © 2011-2022 走看看