• ADADADADAD

    MySQL复制之防崩溃从节点[ mysql数据库 ]

    mysql数据库 时间:2024-12-03 12:15:05

    作者:文/会员上传

    简介:

    MySQL5.6之前的版本中,运行时的数据复制信息会被保存在从节点数据目录的两个文件中,分别是master.info和relay-log.info。在MySQL5.6之后默认依然存放在数据目录,但是可以通过

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    MySQL5.6之前的版本中,运行时的数据复制信息会被保存在从节点数据目录的两个文件中,分别是master.info和relay-log.info。在MySQL5.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)
    在从节点中加入以下配置信息:
    [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: 0Duplicates: 0Warnings: 0

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

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



    MySQL复制之防崩溃从节点.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql复制之防