亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > MySQL數據庫主從復制原理及作用分析

MySQL數據庫主從復制原理及作用分析

熱門標簽:沈陽外呼系統有效果嗎 百度地圖標注信息怎么修改 電話機器人接口是什么樣的 溫州語音外呼系統排名 四川穩定外呼系統公司 商家地圖標注圖片 AI智能云呼電話機器人怎么注冊 怎么在高德地圖標注多個點 福州外呼系統招商

1.數據庫主從分類:

主從分為倆種:傳統主從/GTID主從

2.mysql主從介紹由來

現實生活中,數據極其重要,存儲數據庫的方式很多,但是數據庫存在著一種隱患。
隱患:

用一臺數據庫存放數據,若數據庫服務器宕機了導致數據丟失數據多了,訪問量大了,一臺服務器無法保證服務質量

因此數據庫主從誕生

3.主從作用

故障切換,實現預備讀寫分離,提供查詢服務數據庫管理系統備份(DBSM),避免影響業務

4.主從復制原理

bin log:二進制日志,記錄寫操作(增刪改查)

Relay log:中繼日志

  1. 主庫會將所有的寫操作記錄到binlog日志下生成一個log dump線程,將binlog日志傳給從庫的I/O線程。
  2. 從庫有倆個線程:
    I/O線程
    sql線程
  3. 從庫的I/O線程會請求主庫得到binlog日志寫到relay log(中繼日志)中
  4. sql線程,會讀取relay log日志文件中的日志,并解析具體操作,來實現主從的操作一樣,達到數據一致

5.主從復制配置(數據一致時)

步驟:

  • 確保主數據庫與從數據的數據一樣
  • 主數據庫里創建一個同步賬號授權給從數據庫使用
  • 配置主數據庫(修改配置文件)
  • 配置從數據庫(修改配置文件)

環境需求:

倆臺mysql服務器,一臺主服務器(寫功能),一臺從服務器(讀功能)

主數據庫(centos8)  ip地址:192.168.136.145  centos8.0/mysql5.7  相同數據
                   第六節:數據不相同 (可能在公司之前有數據的情況)
從數據庫(centos8)  ip地址:192.168.136.191  centos7.0/mysql5.7  相同數據

5.1主從服務器分別安裝mysql5.7

可看相關教程教程(超詳細):https://www.jb51.net/article/221946.htm

#二進制安裝:https://blog.csdn.net/qq_47945825/article/details/116848970?spm=1001.2014.3001.5501
#或者網絡倉庫安裝:(一般二進制安裝)
https://blog.csdn.net/qq_47945825/article/details/116245442?spm=1001.2014.3001.5501

5.2主數據庫與從數據庫數據一致

[root@mysql01 ~]# mysql -uroot -e 'show databases;'
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
[root@mysql02 ~]# mysql -uroot -e 'show databases;'
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

5.3在主數據庫里創建一個同步賬號授權給從數據庫使用

replication:復制 slave:從 192.168.136.191:從數據庫ip地址

mysql> create user 'vvv'@'192.168.136.191' identified by 'vvv0917';
Query OK, 0 rows affected (0.00 sec)
mysql> grant replication slave on *.*to 'vvv'@'192.168.136.191';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

5.4在從庫上測試連接

[root@mysql02 ~]# mysql -uvvv -vvv0917 -h192.168.136.145
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)

5.5配置主數據庫

[root@mysql01 ~]# cat /etc/my.cnf 
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
log-bin=mysql_bin #啟動binlog日志
server-id=10   #數據庫服務器唯一標識,id必須比從數據庫小
#重啟服務 (此重啟方式,前提已配置mysqld.service文件)
[root@mysql01 ~]# systemctl restart mysqld
觀察主數據庫狀態:
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql_bin.000004 |      962 |              |                  |                   |
+------------------+----------+--------------+------------------+---

5.6配置從數據庫

[root@mysql02 ~]# cat /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql 
datadir = /opt/data 
socket = /tmp/mysql.sock 
port = 3307
user = mysql
pid-file = /opt/data/mysql.pid
skip-name-resolve
#skip-grant-tables 
server-id=20               #服務器id,大于主數據庫id
relay-log=mysql_relay_log  #啟動中繼日志
#log-bin=mysql-bin 
#重啟服務:
[root@mysql02 ~]# systemctl restart mysqld

5.7配置并啟動主從復制的功能(mysql02從數據庫上)

[root@slave02 ~]# mysql -uroot -p
mysql> change master to
    -> master_host='192.168.136.145',
    -> master_user='vvv',
    -> master_password='vvv0917',
    -> master_log_file='mysql_bin.000004',
    -> master_log_pos=962;
Query OK, 0 rows affected, 2 warnings (0.01 sec)
mysql> start slave;   #stop slave為關閉
Query OK, 0 rows affected (0.01 sec)
#查看配置狀態:
mysql> show slave status\G; 
   Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.136.145
                  Master_User: vvv
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql_bin.000004
          Read_Master_Log_Pos: 962
               Relay_Log_File: mysql_relay_log.000002
                Relay_Log_Pos: 320
        Relay_Master_Log_File: mysql_bin.000004
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
            #此處必須倆個都是yes,就是配置成功,否則失敗

5.8測試:

主庫:

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

從庫:

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


主庫創建數據庫clq并且加入數據:

mysql> create database clq;
Query OK, 1 row affected (0.00 sec)
mysql> create table clq01(id int(11)not null primary key auto_increment,name varchar(100)not null,age tinyint(4)); 
mysql> insert clq01(name,age) values('A',20),('B',21),('C',22);
Query OK, 3 rows affected (0.00 sec)

從庫中查看:

mysql> select * from clq01;
+----+------+------+s
| id | name | age  |
+----+------+------s+
|  1 | A    |   20 |
|  2 | B    |   21 |
|  3 | C    |   22 |
+----+------+------+
                              #主從復制完成!


6.主從配置(數據不一致時)

6.1一般全備主庫需要另開一個終端,給數據庫加上讀鎖(只讀不寫)

避免其他人在寫入數據導致不一樣

flush tables with read lock:
quit:退出即可為解鎖(備份完之后才能解鎖)

6.2確保主主數據庫與從數據庫的數據一樣

#先對主庫進行全備
[root@mysql01 ~]# mysqldump -uroot -A > all-databases.sql 
#拷貝數據到從數據庫上
[root@mysql01 ~]# ls /clq
all-databases.sql
[root@mysql01 ~]# scp /clq/all-databases.sql root@192.168.136.193:/clq/
The authenticity of host '192.168.136.193 (192.168.136.193)' can't be established.
ECDSA key fingerprint is SHA256:XIAQEoJ+M0vOHmCwQvhUdw12u5s2nvkN0A4TMKLaFiY.
Are you sure you want to continue connecting (yes/no/[fingerprint])yes
root@192.168.136.193's password: 
all-databases.sql                                                 100%  853KB 115.4MB/s   00:00  
[root@mysql02 clq]# ll
總用量 896                       #從庫上查看
-rw-r--r--. 1 root root 873266 5月  17 19:36 all-databases.sql

6.3在從庫上查看主庫有哪些庫,確保一致

[root@mysql02 clq]# mysql -uroot -pHuawei0917@  all-databases.sql 
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@mysql02 clq]# mysql -uroot -pHuawei0917@ -e 'show databases;'
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| clq                |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
主庫:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| clq                |
| mysql              |
| performance_schema |
| sys                |
+--------------------+


6.4確保倆庫的配置文件已經配置了相應的文件

[root@mysql01 ~]# cat /etc/my.cnf 
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
log-bin=mysql_bin     #日志文件
server-id=10          #唯一標識服務id
[root@mysql02 ~]# cat /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql 
datadir = /opt/data 
socket = /tmp/mysql.sock 
port = 3307
user = mysql
pid-file = /opt/data/mysql.pid
skip-name-resolve
#skip-grant-tables 
server-id=20                #唯一標識服務id(大于主庫)
relay-log=mysql_relay_log     #中繼日志
#log-bin=mysql-bin 


此后步驟和5.5之后一模一樣!

小結:

主庫修改數據,從庫的數據隨之改變!
反之,從庫修改數據,主庫的數據不會發生改變

查看數據庫運行的命令進程

mysql> show processlist;
+----+------+-----------------------+------+-------------+------+---------------------------------------------------------------+------------------+
| Id | User | Host                  | db   | Command     | Time | State                                                         | Info             |
+----+------+-----------------------+------+-------------+------+---------------------------------------------------------------+------------------+
|  5 | repl | 192.168.136.219:39788 | NULL | Binlog Dump | 1575 | Master has sent all binlog to slave; waiting for more updates | NULL             |
|  7 | root | localhost             | NULL | Query       |    0 | starting                                                      | show processlist |
+----+------+-----------------------+------+-------------+------+---------------------------------------------------------------+------------------+
2 rows in set (0.00 sec)

以上就是MySQL數據庫主從復制原理及作用分析的詳細內容,更多關于MySQL數據庫主從復制的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • 詳解MySQL實現主從復制過程
  • Mysql主從同步的實現原理
  • Mysql主從復制作用和工作原理詳解
  • MySQL數據庫主從同步實戰過程詳解
  • MySQL主從復制與讀寫分離原理及用法詳解

標簽:無錫 汕尾 來賓 邯鄲 七臺河 寶雞 西寧 營口

巨人網絡通訊聲明:本文標題《MySQL數據庫主從復制原理及作用分析》,本文關鍵詞  MySQL,數據庫,主從,復制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL數據庫主從復制原理及作用分析》相關的同類信息!
  • 本頁收集關于MySQL數據庫主從復制原理及作用分析的相關信息資訊供網民參考!
  • 推薦文章
    亚欧成人乱码一区二区| 国产网站免费| 欧美国产日韩一区二区三区| 国产精品123| 99热热久久| 亚洲 男人 天堂| 日本乱中文字幕系列| 精品国产三级a∨在线观看| 国产视频久久久久| 亚洲www美色| 国产不卡高清在线观看视频| 黄视频网站在线看| 国产伦精品一区二区三区无广告| 深夜做爰性大片中文| 毛片电影网| 亚州视频一区二区| 久久福利影视| 精品视频在线观看免费| 欧美日本韩国| 国产一区二区福利久久| 国产a毛片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚洲女初尝黑人巨高清在线观看| 黄色免费三级| 精品视频在线观看视频免费视频| 成人在免费观看视频国产| 国产一区二区精品| 91麻豆精品国产综合久久久| 亚洲精品久久久中文字| 日韩字幕在线| 欧美一级视频免费观看| 毛片电影网| 成人免费一级毛片在线播放视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 青青青草影院| 日韩在线观看视频黄| 久久国产影院| 97视频免费在线| 日韩免费在线观看视频| 国产视频一区在线| 日韩中文字幕在线播放| 二级特黄绝大片免费视频大片| 国产成人精品在线| 亚洲www美色| 欧美1区| 国产一区二区精品久久91| 国产麻豆精品视频| 四虎影视久久久| 91麻豆国产福利精品| 你懂的国产精品| 精品视频在线观看一区二区| 日韩一级黄色| 亚洲天堂一区二区三区四区| 国产成人欧美一区二区三区的| 国产欧美精品| 国产国语对白一级毛片| 国产麻豆精品视频| 亚洲精品影院久久久久久| 欧美激情影院| 毛片电影网| 亚洲女人国产香蕉久久精品| 午夜欧美成人久久久久久| 午夜欧美成人久久久久久| 欧美a免费| 99色视频在线观看| 毛片成人永久免费视频| 色综合久久天天综合绕观看| 99久久精品国产国产毛片| 999精品在线| 91麻豆tv| 精品在线免费播放| 青草国产在线| 99热热久久| 国产视频久久久| 天天做日日干| 国产一级强片在线观看| 国产伦理精品| 国产精品自拍在线观看| 免费的黄视频| 日韩欧美一二三区| 国产精品123| 日韩中文字幕一区二区不卡| 国产不卡精品一区二区三区| 黄色福利| 欧美激情中文字幕一区二区| 91麻豆爱豆果冻天美星空| 欧美日本二区| 97视频免费在线| 美女免费毛片| 欧美激情伊人| 国产91精品露脸国语对白| 成人在免费观看视频国产| 免费的黄色小视频| 国产伦精品一区二区三区在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人av在线播放| 一级毛片视频免费| 91麻豆爱豆果冻天美星空| 久久久成人影院| 成人免费网站久久久| 精品视频在线看| 日韩专区第一页| 国产一级强片在线观看| 国产国产人免费视频成69堂| 国产不卡高清在线观看视频| 黄色免费网站在线| 日韩专区在线播放| 久草免费在线观看| 欧美a免费| 国产激情视频在线观看| 国产一级生活片| 国产亚洲男人的天堂在线观看| 久久久久久久久综合影视网| 深夜做爰性大片中文| 日韩免费在线观看视频| 国产不卡福利| 四虎影视库| 国产成人啪精品视频免费软件| 欧美大片毛片aaa免费看| 日韩免费在线视频| 成人免费观看的视频黄页| 青青青草影院 | 在线观看成人网 | 99色视频在线观看| 精品视频在线看| 99色视频在线观看| 一级女性全黄久久生活片| 成人高清视频在线观看| 精品久久久久久中文字幕一区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产91素人搭讪系列天堂| 一级女性全黄生活片免费| 99久久精品国产高清一区二区| 国产激情一区二区三区| 韩国三级香港三级日本三级la| 国产不卡精品一区二区三区| 久久99这里只有精品国产| 国产麻豆精品| 色综合久久手机在线| 一a一级片| 黄色福利| 国产精品1024在线永久免费| 精品在线免费播放| 中文字幕Aⅴ资源网| 成人a大片高清在线观看| 日本在线不卡视频| a级黄色毛片免费播放视频| 九九九在线视频| 国产精品免费久久| 免费一级片在线观看| 九九免费高清在线观看视频| 日韩中文字幕在线亚洲一区| 韩国毛片免费大片| 国产伦久视频免费观看 视频| 欧美日本免费| 国产一区二区精品在线观看| 精品视频一区二区| 人人干人人草| 精品国产一区二区三区精东影业 | 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 可以在线看黄的网站| 人人干人人草| 欧美1卡一卡二卡三新区| 91麻豆精品国产高清在线| 天堂网中文字幕| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 黄色福利| 国产伦久视频免费观看 视频| 欧美电影免费| 精品久久久久久中文| 黄视频网站免费看| 国产高清视频免费观看| 青青青草影院 | 日韩中文字幕一区| 国产一区二区高清视频| 四虎影视精品永久免费网站| 青草国产在线| 国产一级生活片| 欧美激情一区二区三区视频| 国产不卡精品一区二区三区| 国产不卡精品一区二区三区| 韩国毛片 免费| 国产91丝袜在线播放0| 免费国产一级特黄aa大片在线| 精品视频在线看| 999精品视频在线| 四虎论坛| 国产伦理精品| 亚洲第一色在线| 久久国产影院| 91麻豆精品国产综合久久久| 国产伦久视频免费观看视频| 国产美女在线一区二区三区| 国产a毛片| 青青久在线视频| 在线观看成人网 | 黄视频网站在线免费观看| 日本特黄特色aaa大片免费| 91麻豆精品国产自产在线| 欧美1区|