查詢mysql數(shù)據(jù)庫名稱,如何使用MySQL數(shù)據(jù)庫?
主從架構(gòu)— —概念
binlog日志
MySQL的二進制日志可以說是MySQL最重要的日志了,它記錄了所有的DDL和DML(除了數(shù)據(jù)查詢語句)語句,以事件形式記錄,還包含語句所執(zhí)行的消耗的時間。復制原理1. 主庫操作保留binlog日志2. 從庫的IO線程從主庫拉取binlog日志,并生成中繼日志(relay log)3. 從庫的SQL線程解析中繼日志,并在本身回放狀態(tài)檢查主要通過判斷IO線程和SQL線程是否處于Running判斷復制是否正常,判斷Seconds_Behind_Master參數(shù)代表數(shù)據(jù)同步是否延遲:mysql> show slave status\G... Slave_IO_Running: YesSlave_SQL_Running: YesSeconds_Behind_Master: 0...主從架構(gòu)— —衍生各種擴展的主從架構(gòu)1. 一主多從2. 雙主復制3. 級聯(lián)復制4. 等等讀寫分離大部分場景下,讀的頻率比寫的頻率會高很多。所以可以通過擴展多個SLAVE節(jié)點提高整體的使用性能。數(shù)據(jù)備份傳統(tǒng)的備份包括三種方式:1. lvm snapshot(LVM快照備份)2. mysqldump3. Xtarbackup那么要如何實現(xiàn)數(shù)據(jù)的一致性備份呢(一致性備份是所有數(shù)據(jù)/文件/磁盤 需要在同一個時間點進行備份)LVM SNAPSHOT1. 執(zhí)行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. 執(zhí)行l(wèi)vcreate 創(chuàng)建lv快照.3. UNLOCK TABLES解鎖MYSQLDUMP1. 開啟可重復讀事務(wù)隔離2. 開啟事務(wù)3. 建立數(shù)據(jù)快照(可以理解為select * from *)4. 結(jié)束事務(wù)XTRABACKUP1. 不是整體采用備份鎖,只有特定階段。2. indodb階段不需要加鎖,ACID的C(持續(xù)性)是通過Redo log實現(xiàn),通過線程增量記錄redo log實現(xiàn)。