91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

mysql主從復制的用途及原理

發布時間:2020-05-07 16:42:48 來源:億速云 閱讀:365 作者:三月 欄目:MySQL數據庫

本文主要給大家簡單講講mysql主從復制的用途及原理,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望mysql主從復制的用途及原理這篇文章可以給大家帶來一些實際幫助。

mysql主從復制

mysql主從復制用途:

  • 實時災備,用于故障切換

  • 讀寫分離,提供查詢服務

  • 備份,避免影響業務

 

主從部署必要條件:

      主從mysql版本一致

  • 主庫開啟binlog日志(設置log-bin參數)

  • 主從server-id不同

  • 從庫云服務器能連通主庫


主從復制原理:

主sql上面開啟bin_log日志功能。它會記錄sql的數據信息,以二進制的方式存儲在磁盤內,從云服務器通過i/o線程請求讀取主云服務器的bin_log二進制日志,并將得到的日志信息寫到relay log(中繼日志)文件中;從庫的sql線程讀取relay log文件中的日志,解析成具體的sql語句操作,最終實現數據同統一,完成主從復制。



環境介紹:

HostNameOSIP作用
mastercentos6.5192.168.100.150擔任mysql主云服務器
salvecentos6.5192.168.100.151擔任mysql從云服務器
ftpcentos6.5192.168.100.100擔任ftp為主從提供yum源,軟件支持(可以使用公網yum源代替此主機)


1:主從安裝mysql:

    [root@master ~]# yum -y install mysql-server
    
    [root@slave ~]# yum -y install msyql-server

2:修改主從的配置文件,以支持bin_log日志記錄

    

[root@master ~]# vi /etc/my.cnf 
7  log-bin=mysql-bin      ##支持bin-log日志記錄,bin-log日志文件名以mysql-bin開頭
8  server-id=150         ##服務的唯一標識符號,默認是1,這里方便記憶,我使用了ip最后一段

[root@slave ~]# vi /etc/my.cnf 
7  server-id=151
[root@master ~]# /etc/init.d/mysqld start   ##重啟服務
[root@slave ~]# /etc/init.d/mysqld start

3:在主數據庫上面授權給從復制的權限:

    登陸云服務器授權

[root@master ~]# mysqladmin -uroot password 123123
[root@master ~]# mysql -uroot -p123123
mysql> grant replication slave on *.* to 'slave'@"192.168.100.%" identified by '123123';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;    ##刷新權限
Query OK, 0 rows affected (0.00 sec)
mysql>

    查看主服務的bin-log日志文件信息:

    需要記錄file 和position兩欄中內容:以查到的為準。

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

4:在從云服務器上修改自己的master的數據庫

    登入數據庫

[root@slave ~]# mysqladmin -uroot password 123123
[root@slave ~]# mysql -uroot -p123123

    設置從云服務器讀取master bin-log的相關信息

mysql> change master to 
    -> master_host='192.168.100.150',    ##master的ip
    -> master_user='slave',              ##授權允許復制的用戶名
    -> master_password='123123',         ##授權允許復制密碼
    -> master_log_file='mysql-bin.000003',   ##bin-log文件名,上一步在master上查到的信息
    -> master_log_pos=476;     ##偏移量,在master上查到的信息
Query OK, 0 rows affected (0.07 sec)

    啟動slave

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

    插卡slave狀態:    

        

            ##查到的狀態這兩個為yes,下面沒有error錯誤就正常
            Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

    

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.100.150
                  Master_User: slave
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 706
               Relay_Log_File: mysqld-relay-bin.000002
                Relay_Log_Pos: 481
        Relay_Master_Log_File: mysql-bin.000003
             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: 706
              Relay_Log_Space: 637
              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: 
1 row in set (0.00 sec)
ERROR: 
No query specified
mysql>


5:測試:

    

    在主數據庫上新建庫,查看庫

mysql> 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)
mysql> create database test_databases;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| test_databases     |
+--------------------+
4 rows in set (0.00 sec)

    在從數據庫上查看庫:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| test_databases     |
+--------------------+
4 rows in set (0.00 sec)

   (可以看到在主數據庫上新建的庫,復制過來了)


刪除操作也是可以同步的:

    主:

mysql> drop database test_databases;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)
mysql>

    從:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)
mysql>

mysql主從復制的用途及原理就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。

   

向AI問一下細節

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

AI

安新县| 龙海市| 滨海县| 封丘县| 普安县| 嵩明县| 沾化县| 沙河市| 咸阳市| 麟游县| 八宿县| 玉环县| 昆明市| 微博| 云梦县| 肃宁县| 西乡县| 宁津县| 玛纳斯县| 铜山县| 鹤山市| 东安县| 龙川县| 陆良县| 华亭县| 富民县| 乌苏市| 永寿县| 名山县| 巴南区| 寿光市| 获嘉县| 甘孜| 渭源县| 林州市| 唐山市| 永靖县| 晋江市| 萨迦县| 定襄县| 阳东县|