欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql 查詢結果建表,如何使用MySQL數據庫

張吉惟2年前31瀏覽0評論
mysql 查詢結果建表,如何使用MySQL數據庫?

主從架構— —概念

binlog日志

MySQL的二進制日志可以說是MySQL最重要的日志了,它記錄了所有的DDL和DML(除了數據查詢語句)語句,以事件形式記錄,還包含語句所執行的消耗的時間。

復制原理

1. 主庫操作保留binlog日志

2. 從庫的IO線程從主庫拉取binlog日志,并生成中繼日志(relay log)

3. 從庫的SQL線程解析中繼日志,并在本身回放

狀態檢查

主要通過判斷IO線程和SQL線程是否處于Running判斷復制是否正常,判斷Seconds_Behind_Master參數代表數據同步是否延遲:

mysql> show slave status\G... Slave_IO_Running: YesSlave_SQL_Running: YesSeconds_Behind_Master: 0...

主從架構— —衍生各種擴展的主從架構

1. 一主多從

2. 雙主復制

3. 級聯復制

4. 等等

讀寫分離

大部分場景下,讀的頻率比寫的頻率會高很多。所以可以通過擴展多個SLAVE節點提高整體的使用性能。

數據備份

傳統的備份包括三種方式:

1. lvm snapshot(LVM快照備份)

2. mysqldump

3. Xtarbackup

那么要如何實現數據的一致性備份呢(一致性備份是所有數據/文件/磁盤 需要在同一個時間點進行備份)

LVM SNAPSHOT

1. 執行FTWRL(FLUSH TABLES WITH READ LOCK)

1.1上全局讀鎖(lock_global_read_lock)

1.2清理表緩存(close_cached_tables)

1.3上全局COMMIT鎖(make_global_read_lock_block_commit)

2. 執行lvcreate 創建lv快照.

3. UNLOCK TABLES解鎖

MYSQLDUMP

1. 開啟可重復讀事務隔離

2. 開啟事務

3. 建立數據快照(可以理解為select * from *)

4. 結束事務

XTRABACKUP

1. 不是整體采用備份鎖,只有特定階段。

2. indodb階段不需要加鎖,ACID的C(持續性)是通過Redo log實現,通過線程增量記錄redo log實現。