亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL 5.5主從復制實戰部署演義

發布時間:2020-04-28 10:54:00 來源:億速云 閱讀:250 作者:三月 欄目:數據庫

本文主要給大家介紹MySQL 5.5主從復制實戰部署演義,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續在億速云行業資訊里面關注我的更新文章的。

 

一、環境說明

兩臺安裝好的MySQL 5.5的數據庫。以Master與Slave區分
Master:
IP地址(172.16.1.210):

[root@Qinglin-A /]# ifconfig eth0
eth2      Link encap:Ethernet  HWaddr 00:0C:29:B4:0A:5D  
          inet addr:192.168.1.210  Bcast:172.16.1.255  Mask:255.255.255.0

MySQL版本:

[root@Qinglin-A /]# mysql -V
mysql  Ver 14.14 Distrib 5.5.32, for Linux (x86_64) using readline 5.1

Slave:
IP地址(172.16.1.220):

[root@Qinglin-B /]# ifconfig eth0
eth2      Link encap:Ethernet  HWaddr 00:0C:29:0E:20:1D  
          inet addr:192.168.1.220  Bcast:172.16.1.255  Mask:255.255.255.0

MySQL版本:

[root@Qinglin-B /]# mysql -V
mysql  Ver 14.14 Distrib 5.5.32, for Linux (x86_64) using readline 5.1

MySQL 5.5主從復制實戰部署演義

二、實戰部署

MySQL 主從同步都是異步的復制方式,即不是嚴格實時同步的數據同步。
實戰前必須知道的知識
a. 主從復制是異步的,邏輯的SQL語句級的復制。
b. 同步時,主庫有一個IO線程,從庫有兩個線程,IO和SQL線程。
c. 實現主從復制的必要條件,主庫要開啟binlog功能。
1、Master開啟binlog,并設置server-id
注:server id 是避免不同機器或實列ID重復,選擇0<server-id

[root@Qinglin-A /]# vim /etc/my.cnf
server-id       = 1
log-bin=mysql-bin
[root@Qinglin-A /]# egrep "log-bin|server-id" /etc/my.cnf 
server-id       = 1
log-bin=mysql-bin

2、Slave設置server-id
注:Slave的binlog是不開啟的,如果開啟那就是雙主同步,性能很一般。

[root@Qinglin-B /]# vim /etc/my.cnf 
server-id       = 3
[root@Qinglin-B /]#  egrep "log-bin|server-id" /etc/my.cnf 
server-id       = 3
#log-bin=mysql-bin

3、Master和Slave同步重啟mysql

[root@Qinglin-A /]# /etc/init.d/mysql restart
Shutting down MySQL. SUCCESS! 
Starting MySQL.. SUCCESS! 
[root@Qinglin-B /]# /etc/init.d/mysql restart
Shutting down MySQL. SUCCESS! 
Starting MySQL.. SUCCESS!

4、Master效驗bin-log與server-id
注:slave只需要查看server-id就可以

mysql> show variables like "log_bin";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.00 sec)
mysql> show variables like "server_id";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 1     |
+---------------+-------+
1 row in set (0.00 sec)

5、master創建并授權網段訪問的從庫個帳戶,使slave可以訪問master
下列為創建Slave用戶,刷新權限,并查看用戶權限。

mysql> grant replication slave on *.* to 'rep'@'192.168.1.%' identified by'123456';
Query OK, 0 rows affected (0.00 sec)
mysql>  flush privileges; 
Query OK, 0 rows affected (0.00 sec)
mysql>  show grants for rep@'192.168.1.%';  
+--------------------------------------------------------------------------------------------------------------------------+
| Grants for rep@192.168.1.%                                                                                               |
+--------------------------------------------------------------------------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'rep'@'192.168.1.%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
+--------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

6、記錄Master的binlog位置與點,請切記下列標黃處,后期會用到。

mysql>  show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      332 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

7、鎖表備份Master的所有數據庫
-A 備份全部數據庫
-B 導出幾個數據庫
-F –flush-logs 開始導出之前刷新日志 注意:假如一次導出多個數據庫(使用選項–databases或者–all-databases),將會逐個數據庫刷新日志
-x 鎖表,保證數據的一致性
–events 導出事件
–master-data=2 如果=2就生成就是注釋,不執行。

[root@Qinglin-A /]#  mysqldump -uroot -p'123456' --events -A -B -F --master-data=2 -x |gzip >/home/bak_`date +%F`.sql.gz
[root@Qinglin-A /]# ll /home/bak_2016-08-02.sql.gz 
-rw-r--r-- 1 root root 144365 Aug  2 15:16 /home/bak_2016-08-02.sql.gz

8、slave恢復數據庫,因為我加大B參數,所以不需要指定庫恢復
注:從master的備份文件到slave可以考慮用scp傳到slave中,這里不做演示。

[root@Qinglin-B guanqinglin]# gzip -d bak_2016-08-02.sql.gz      
[root@Qinglin-B guanqinglin]# ls
bak_2016-08-02.sql
[root@Qinglin-B guanqinglin]# mysql -uroot -p123456

9、導入slave的master信息(slave操作)
操作前,請使用如下方法測試一下,用戶和遠程登陸是否OK,執行如下命令,登錄到那mysq>界面為成功。

[root@Qinglin-B /]# mysql -h 192.168.1.210 -urep -p123456
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.5.32-log Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

退出上面執行的mysql 界面,重新使用root登錄Slaver的mysql界面執行導入Master信息操作。

[root@Qinglin-B /]# mysql -uroot -p123456                
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.32 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CHANGE MASTER TO
    -> MASTER_HOST='192.168.1.210',
    -> MASTER_PORT=3306,
    -> MASTER_USER='rep',
    -> MASTER_PASSWORD='123456',
    -> MASTER_LOG_FILE='mysql-bin.000001',
    -> MASTER_LOG_POS=332;
Query OK, 0 rows affected (0.12 sec)

10、slave查看master info信息

[root@Qinglin-B /]# cat /application/mysql/data/master.info 
18
mysql-bin.000001
332
192.168.1.210
rep
123456
3306
60
0
0
1800.000
0

11、slave開啟slave開啟

[root@Qinglin-B /]# mysql -uroot -p123456                          
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.5.32 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> start slave; 
Query OK, 0 rows affected (0.01 sec)

12、檢查,有兩個標黃的OK,則是正常啟動(Seconds_Behind_Master 0 是落后主庫的秒數,0是正確)

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.210
                  Master_User: rep
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 107
               Relay_Log_File: Qinglin-B-relay-bin.000004
                Relay_Log_Pos: 253
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 107
              Relay_Log_Space: 456
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
1 row in set (0.00 sec)

三、測試環節

1、Master創建一個數據庫

mysql> create database qinglin;
Query OK, 1 row affected (0.09 sec)

2、slave 查看從庫relay文件中是否存在主庫創建的create數據庫qinglin
注:下列是截取的內容

[root@Qinglin-B data]# mysqlbinlog Qinglin-B-relay-bin.000004 
SET @@session.collation_database=DEFAULT/*!*/;
create database qinglin
/*!*/;
DELIMITER ;

3、檢查salve是否已經創建了一個數據庫

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| qinglin            |
+--------------------+

4 rows in set (0.00 sec)

看了以上關于MySQL 5.5主從復制實戰部署演義,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

慈利县| 桂平市| 玛多县| 衡水市| 柏乡县| 清苑县| 合作市| 安西县| 武定县| 上饶市| 西乌珠穆沁旗| 贵南县| 平潭县| 庄河市| 九寨沟县| 福建省| 日土县| 巴林右旗| 张掖市| 嘉兴市| 当涂县| 湘阴县| 隆子县| 麻城市| 廉江市| 商城县| 淮北市| 海兴县| 航空| 玉树县| 增城市| 宣城市| 通辽市| 巧家县| 松溪县| 巨鹿县| 韶山市| 呼玛县| 云安县| 清苑县| 广宁县|