日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

mariadb的主從復制、主主復制、半同步復制配置詳解

瀏覽:304日期:2023-03-30 13:21:16

主從服務器的時間要同步,數據庫版本最好是一致的,以免造成函數處理、日志讀取、日志解析等發生異常。

以下三個主從復制的設置是獨立的。

注意防火墻和selinux的影響。

1、簡單主從復制的實現

(1)主服務器的配置

1)安裝mariadb-server

[root@localhost ~]# yum -y install mariadb-server

2)編輯/etc/my.cnf文件

[root@localhost ~]# vim /etc/my.cnf

    在[mysqld]段的最后添加以下內容

    skip_name_resolve = ON
    innodb_file_per_table = ON
    server-id = 1 (id號不能跟從服務器相同)
    log-bin = master-log (自定義二進制日志文件名)

3)授權可以復制本地數據庫信息的主機

[root@localhost ~]# systemctl start mariadb.service (啟動mariadb server)

[root@localhost ~]# mysql
 MariaDB [(none)]> grant replication slave,replication client on *.* to "repluser"@"10.1.51.%" identified by "replpasswd";
 MariaDB [(none)]> flush privileges;

MariaDB [(none)]> show master status\G (查看主服務器的狀態信息,在從服務器中要用到)
*************************** 1. row ***************************
   File: master-log.000003 (正在使用的二進制日志文件)
  Position: 497 (所處的位置)
 Binlog_Do_DB: 
Binlog_Ignore_DB:

(2)從服務器的配置

1)安裝mariadb-server

[root@localhost ~]# yum -y install mariadb-server

2)編輯/etc/my.cnf文件

[root@localhost ~]# vim /etc/my.cnf

    在[mysqld]段的最后添加以下內容

    skip_name_resolve = ON
    innodb_file_per_table = ON
    server-id = 2 (id號不能跟主服務器相同)
    relay-log = slave-log (自定義二進制日志文件名)

3)設置要從哪個主服務器的那個位置開始同步

[root@localhost ~]# systemctl start mariadb.service

[root@localhost ~]# mysql
 MariaDB [(none)]> change master to master_host="10.1.51.60",master_user="repluser",master_password="replpasswd",master_log_file="master-log.000003",master_log_pos=497;

MariaDB [(none)]> start slave; (啟動復制功能)
MariaDB [(none)]> show slave status\G (查看從服務器的狀態,下面顯示的是部分內容)
 Master_Host: 10.1.51.60
 Master_User: repluser
 Master_Port: 3306
 Connect_Retry: 60
 Master_Log_File: master-log.000003
 Read_Master_Log_Pos: 497
 Relay_Log_File: slave-log.000002
 Relay_Log_Pos: 530
 Relay_Master_Log_File: master-log.000003
 Slave_IO_Running: Yes 
 Slave_SQL_Running: Yes
 Master_Server_Id: 1

(3)測試

1)在主服務器導入事先準備好的數據庫

[root@localhost ~]# mysql < hellodb.sql

2)在從服務器查看是否同步

MariaDB [(none)]> show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| hellodb   |(數據庫已經同步)
| mysql    |
| performance_schema |
| test    |
+--------------------+
MariaDB [(none)]> use hellodb;
MariaDB [hellodb]> show tables; (hellodb數據庫的表也是同步的)
+-------------------+
| Tables_in_hellodb |
+-------------------+
| classes   |
| coc    |
| courses   |
| scores   |
| students   |
| teachers   |
| toc    |
+-------------------+

2、雙主復制的實現

(1)服務器1的配置

1)安裝mariadb-server

[root@localhost ~]# yum -y install mariadb-server

2)編輯/etc/my.cnf文件

[root@localhost ~]# vim /etc/my.cnf

    在[mysqld]段的最后添加以下內容

    skip_name_resolve = ON
    innodb_file_per_table = ON
    server-id = 1 (id號不能跟從服務器相同)
    log-bin = master-log (自定義主服務器的二進制日志文件名)
    relay-log = slave-log (自定義從服務器的二進制日志文件名)
    auto_increment_offset = 1
    auto_increment_increment = 2

3)在服務器2上查看的master狀態

MariaDB [(none)]> show master status\G
*************************** 1. row ***************************
   File: master-log.000003
  Position: 422
 Binlog_Do_DB: 
Binlog_Ignore_DB:

4)啟動mariadb server并進行如下配置

[root@localhost ~]# systemctl start mariadb.service

[root@localhost ~]# mysql

 MariaDB [(none)]> grant replication slave,replication client on *.* to "repluser"@"10.1.51.%" identified by "replpasswd";

 MariaDB [(none)]> change master to master_host="10.1.51.50",master_user="repluser",master_password="replpasswd",master_log_file="master-log.000003",master_log_pos=422;

 MariaDB [(none)]> start slave;

 MariaDB [(none)]> SHOW SLAVE STATUS\G (僅是部分內容)
  Master_Host: 10.1.51.50
  Master_User: repluser
  Master_Port: 3306
  Connect_Retry: 60
  Master_Log_File: master-log.000003
  Read_Master_Log_Pos: 422
  Relay_Log_File: slave-log.000002
  Relay_Log_Pos: 530
  Relay_Master_Log_File: master-log.000003
  Slave_IO_Running: Yes
  Slave_SQL_Running: Yes
  Master_Server_Id: 2

(2)服務器2的配置

1)安裝mariadb-server

[root@localhost ~]# yum -y install mariadb-server

2)編輯/etc/my.cnf文件

[root@localhost ~]# vim /etc/my.cnf
    skip_name_resolve = ON
    innodb_file_per_table = ON
    server-id = 2
    relay-log = slave-log
    lob-bin = master-log
    auto_increment_offset = 2
    auto_increment_increment = 2

3)在服務器1查看master狀態

MariaDB [(none)]> show master status\G
*************************** 1. row ***************************
            File: master-log.000003
        Position: 245
    Binlog_Do_DB:
Binlog_Ignore_DB:

4)啟動mariadb server并配置

[root@localhost ~]# systemctl start mariadb.service

[root@localhost ~]# mysql

 MariaDB [(none)]> grant replication slave,replication client on *.* to "repluser"@"10.1.51.%" identified by "replpasswd";

 MariaDB [(none)]> change master to master_host="10.1.51.60",master_user="repluser",master_password="replpasswd",master_log_file="master-log.000003",master_log_pos=245;

 MariaDB [(none)]> start slave;

 MariaDB [(none)]> show slave status\G (僅是部分內容) 
  Master_Host: 10.1.51.60
  Master_User: repluser
  Master_Port: 3306
  Connect_Retry: 60
  Master_Log_File: master-log.000003
  Read_Master_Log_Pos: 422
  Relay_Log_File: slave-log.000003
  Relay_Log_Pos: 530
  Relay_Master_Log_File: master-log.000003
  Slave_IO_Running: Yes
  Slave_SQL_Running: Yes
  Master_Server_Id: 1

(3)測試

1)在任意一臺服務器上創建mydb數據庫

MariaDB [(none)]> create database mydb;

2)在另一臺服務器上查看

MariaDB [(none)]> show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| mydb    |
| mysql    |
| performance_schema |
| test    |
+--------------------+

3、半同步復制的實現

(1)在主服務器上的配置

1)安裝mariadb-server

[root@localhost ~]# yum -y install mariadb-server

2)編輯/etc/my.cnf

[root@localhost ~]# vim /etc/my.cnf
    skip_name_resolve = ON
    innodb_file_per_table = ON
    server-id = 1
    log-bin = master-log

3)授權可以復制本地數據庫信息的主機

[root@localhost ~]# systemctl start mariadb.service (啟動mariadb server)

[root@localhost ~]# mysql
 MariaDB [(none)]> grant replication slave,replication client on *.* to "repluser"@"10.1.51.%" identified by "replpasswd";
 MariaDB [(none)]> flush privileges;

MariaDB [(none)]> show master status\G (查看主服務器的狀態信息,在從服務器中要用到)
*************************** 1. row ***************************
   File: master-log.000003 (正在使用的二進制日志文件)
  Position: 245 (所處的位置)
 Binlog_Do_DB: 
Binlog_Ignore_DB:

4)安裝rpl semi sync_master插件,并啟用

[root@localhost ~]# mysql

MariaDB [(none)]> install plugin rpl_semi_sync_master soname "semisync_master.so";
MariaDB [(none)]> set global rpl_semi_sync_master_enabled = ON;

補充:

MariaDB [(none)]> show plugins;(可查看插件是否激活)
MariaDB [(none)]> show global variables like "rpl_semi%";(可查看安裝的插件是否啟用)
MariaDB [(none)]> show global status like "%semi%";(可查看從服務器的個數,此時是0個)

(2)從服務器的配置

1)安裝mariadb-server

[root@localhost ~]# yum -y install mariadb-server

2)編輯/etc/my.cnf文件

[root@localhost ~]# vim /etc/my.cnf

    在[mysqld]段的最后添加以下內容

    skip_name_resolve = ON
    innodb_file_per_table = ON
    server-id = 2 (id號不能跟主服務器相同)
    relay-log = slave-log (自定義二進制日志文件名)

3)設置要從哪個主服務器的那個位置開始同步

[root@localhost ~]# systemctl start mariadb.service

[root@localhost ~]# mysql

 MariaDB [(none)]> change master to master_host="10.1.51.60",master_user="repluser",master_password="replpasswd",master_log_file="master-log.000003",master_log_pos=245;

4)安裝rpl semi sync_slave插件并啟用

[root@localhost ~]# mysql 

 MariaDB [(none)]> install plugin rpl_semi_sync_slave soname "semisync_slave.so";
 MariaDB [(none)]> set global rpl_semi_sync_slave_enabled = ON;
 MariaDB [(none)]> start slave;

完成上面配置后,可以在主服務器上查看半同步復制的相關信息,命令如下:

MariaDB [(none)]> show global status like "%semi%";
 Rpl_semi_sync_master_clients 1 (從服務器有一臺)

(3)測試

測試以個人實際情況而定
1)在主服務器上導入事先準備好的數據庫hellodb.sql

MariaDB [hellodb]> source /root/hellodb.sql;

2)在主服務器上查看半同步復制的狀態

MariaDB [hellodb]> show master status;
+-------------------+----------+--------------+------------------+
| File    | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-log.000003 |  8102 |    |     |
+-------------------+----------+--------------+------------------+

MariaDB [hellodb]> show global status like "%semi%";
+--------------------------------------------+-------+
| Variable_name| Value |
+--------------------------------------------+-------+
| Rpl_semi_sync_master_clients    | 1  |
| Rpl_semi_sync_master_net_avg_wait_time  | 1684 |
| Rpl_semi_sync_master_net_wait_time   | 60630 |
| Rpl_semi_sync_master_net_waits    | 36 |
| Rpl_semi_sync_master_no_times    | 1  |
| Rpl_semi_sync_master_no_tx     | 1  |
| Rpl_semi_sync_master_status    | ON |
| Rpl_semi_sync_master_timefunc_failures  | 0  |
| Rpl_semi_sync_master_tx_avg_wait_time  | 1884 |
| Rpl_semi_sync_master_tx_wait_time   | 65965 |
| Rpl_semi_sync_master_tx_waits    | 35 |
| Rpl_semi_sync_master_wait_pos_backtraverse | 0  |
| Rpl_semi_sync_master_wait_sessions   | 0  |
| Rpl_semi_sync_master_yes_tx    | 35 |
+--------------------------------------------+-------+

3)在從服務器上查看是否同步

MariaDB [(none)]> show databases;
MariaDB [(none)]> use hellodb;
MariaDB [hellodb]> select * from students;

補充:基于上面的半同步復制配置復制的過濾器,復制過濾最好在從服務器上設置,步驟如下

(1)從服務器的配置

1)關閉mariadb server

[root@localhost ~]# systemctl stop mariadb.service

2)編輯/etc/my.cnf文件

[root@localhost ~]# vim /etc/my.cnf
 skip_name_resolve = ON
 innodb_file_per_table = ON
 server-id = 2
 relay-log = slave-log
 replicate-do-db = mydb (只復制mydb數據庫的內容)

補充:常用的過濾選項如下

    Replicate_Do_DB=
    Replicate_Ignore_DB=
    Replicate_Do_Table=
    Replicate_Ignore_Table=
    Replicate_Wild_Do_Table=
    Replicate_Wild_Ignore_Table=

3)重啟mariadb server

[root@localhost ~]# systemctl start mariadb.service

4)重啟mariadb server后,半同步復制功能將被關閉,因此要重新啟動

MariaDB [(none)]> show global variables like "%semi%";
+---------------------------------+-------+
| Variable_name     | Value |
+---------------------------------+-------+
| rpl_semi_sync_slave_enabled  | OFF |
| rpl_semi_sync_slave_trace_level | 32 |
+---------------------------------+-------+

MariaDB [(none)]> set global rpl_semi_sync_slave_enabled = ON;
MariaDB [(none)]> stop slave;(需先關閉從服務器復制功能再重啟)
MariaDB [(none)]> start slave;

(2)測試

1)主服務器上的hellodb數據庫創建一個新表semitable

MariaDB [hellodb]> create table semitable (id int);

2)在從服務器上查看hellodb數據庫是否有semitable

MariaDB [(none)]> use hellodb
MariaDB [hellodb]> show tables;(并沒有)
+-------------------+
| Tables_in_hellodb |
+-------------------+
| classes   |
| coc    |
| courses   |
| scores   |
| students   |
| teachers   |
| toc    |
+-------------------+

3)在主服務器上創建mydb數據庫,并為其創建一個tbl1表

MariaDB [hellodb]> create database mydb;

4)在從服務器上查看mydb數據庫的是否有tbl1表

MariaDB [hellodb]> use mydb;
MariaDB [mydb]> show tables; (可以查看到)
+----------------+
| Tables_in_mydb |
+----------------+
| tbl1   |
+----------------+
標簽: MariaDB
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久青草久久| 亚洲精品视频一二三区| 欧美一区影院| 久久精品99国产国产精| 高清av一区| 亚洲成人av观看| 亚洲综合二区| 国产私拍福利精品视频二区| 免费在线观看一区| 黑人精品一区| 婷婷中文字幕一区| 首页欧美精品中文字幕| 青草综合视频| 色一区二区三区| 蜜桃视频在线观看一区| 国产欧美日韩| а√天堂8资源在线| 免费日韩视频| 久久不卡国产精品一区二区| 欧美亚洲国产激情| 综合亚洲自拍| 国产在线不卡一区二区三区| 亚洲精品一二三区区别| 国产免费播放一区二区| 91精品韩国| 日韩一区网站| 精品欠久久久中文字幕加勒比| 日韩欧美一区二区三区在线观看| 爽爽淫人综合网网站| 国产精品久久久久久久久免费高清| 色偷偷偷在线视频播放| 蜜桃久久久久久久| 国产传媒av在线| 亚洲人成网站在线在线观看| 国产成人久久精品麻豆二区 | 日韩欧美综合| 免费在线观看成人| 国产va免费精品观看精品视频| 日韩亚洲国产欧美| 久久精品欧洲| 夜久久久久久| 精品国产精品久久一区免费式| 午夜在线播放视频欧美| 九九久久国产| 亚洲精品高潮| 国产一区清纯| 成人在线黄色| 久久精品72免费观看| 午夜久久美女| 成人亚洲一区| 欧美日韩视频免费看| 亚洲黄页一区| 欧美日韩国产观看视频| 91国内精品| 鲁大师影院一区二区三区| 欧美成a人片免费观看久久五月天| 亚洲深夜影院| 欧美日韩免费观看视频| 国产精品对白久久久久粗| 亚洲女人av| 久久久夜精品| 精品国产一区二区三区2021| 亚洲1区在线| 国产综合视频| 黑人精品一区| 久久av网址| 亚洲精品九九| 在线精品视频在线观看高清| 中文字幕在线视频网站| 国产精品网在线观看| 老司机久久99久久精品播放免费| 日韩成人亚洲| 色婷婷色综合| 久久精品国产成人一区二区三区| 天堂久久av| 蜜桃久久av一区| 亚洲激情不卡| 女同性一区二区三区人了人一| 波多视频一区| 久久久久久网| 成人国产精品久久| 精品中文在线| 国产精品v一区二区三区| 日韩动漫一区| 日韩欧美美女在线观看| 在线成人动漫av| 久久久久免费av| 成人va天堂| 日韩欧美午夜| 久久美女性网| 99精品视频在线| 久久精品影视| 日韩精品一卡| 婷婷精品视频| 亚洲高清影视| 亚洲激情国产| 日韩中文字幕区一区有砖一区| 日韩亚洲国产欧美| 最新日韩欧美| 黄色成人91| 国产一区清纯| 在线国产一区二区| 久久av一区| 亚洲麻豆一区| 91成人精品观看| 国产精品nxnn| 欧美激情另类| 色综合www| 欧美精品一二| 亚洲综合日本| 日本精品在线播放| 国产精品乱战久久久| 国产精品高清一区二区| 精品久久国产一区| 天堂av在线| 精品免费av在线| 好看的亚洲午夜视频在线| 美日韩精品视频| 亚洲精品福利| 国产伦理一区| 国产盗摄——sm在线视频| 99精品视频在线| 亚洲一区二区免费看| 四虎在线精品| 久久不卡国产精品一区二区| 91一区二区三区四区| 999国产精品永久免费视频app| av不卡在线| 日本伊人久久| 国产精品66| 精品国产乱码久久久久久1区2匹| 国产在线观看www| 国产成人精品一区二区三区在线| 精品伊人久久久| 亚洲最新无码中文字幕久久| 精品国产免费人成网站| 四虎影视精品| 欧美在线网站| 亚洲欧美久久精品| 综合一区在线| 欧美日本久久| 精品九九在线| 久久精品国产68国产精品亚洲| 亚洲福利久久| 久久香蕉精品| 亚洲精品护士| 日本强好片久久久久久aaa| 国产亚洲一区| 精品视频自拍| 日韩深夜视频| 狠狠色狠狠色综合日日tαg| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲精品一二三**| 国产精品一区二区三区av| 精品视频一二| 神马午夜久久| 免费日本视频一区| 久久国内精品| 日韩在线欧美| 亚洲色诱最新| 日韩激情精品| 精品国产不卡一区二区| 久久麻豆精品| 石原莉奈一区二区三区在线观看| 日本视频一区二区| 国产suv精品一区二区四区视频| 免费视频一区三区| 97精品资源在线观看| 久久麻豆视频| 国产综合亚洲精品一区二| 亚洲69av| 成年男女免费视频网站不卡| 激情婷婷综合| 欧美有码在线| 日韩精品影视| 亚洲人成亚洲精品| 国产在线观看91一区二区三区| 欧美日韩国产一区二区三区不卡| 亚洲2区在线| 亚洲精品88| 综合欧美亚洲| 欧美xxxx中国| 男人的天堂亚洲一区| 欧美国产另类| 一区在线免费观看| 国产精久久久| 亚洲自拍另类| 欧美国产小视频| 亚洲精品动态| 蜜桃精品在线| 日韩国产一二三区| 一区二区三区四区日本视频| 免费国产亚洲视频| 精品国产a一区二区三区v免费| 一区在线免费| 精品久久一区| 免费在线视频一区| а√天堂中文在线资源8| 少妇高潮一区二区三区99| zzzwww在线看片免费|