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)

  • 相关阅读:
    Educational Codeforces Round 86 (Rated for Div. 2) D. Multiple Testcases
    Educational Codeforces Round 86 (Rated for Div. 2) C. Yet Another Counting Problem
    HDU
    HDU
    HDU
    HDU
    Good Bye 2019 C. Make Good (异或的使用)
    Educational Codeforces Round 78 (Rated for Div. 2) C. Berry Jam
    codeforces 909C. Python Indentation
    codeforces1054 C. Candies Distribution
  • 原文地址:https://www.cnblogs.com/OrcinusOrca/p/14792245.html
Copyright © 2011-2022 走看看