原创 mysql主從同步故障整理

快速簡單的解決辦法:根據錯誤日誌情況,簡單快速確認故障點,然後確認是否可以跳過這個錯誤,跳過錯誤的方法是:set global sql_slave_skip_counter=1;跳過並忽略錯誤。故障整理:在master上刪除一條記錄時出現的

原创 快速恢復slave從庫的幾張表

由於數據庫很大,只恢復幾張表既可以使用。恢復方法如下:停止slave複製,stop slave;在主庫上導出這三張表,並記錄binlog和pos點:mysqldump --single-transaction--master_data=2

原创 mysql之innodb的mvcc多版本控制

來源於mysql高性能第三版:  我們通過Innodb的簡化版行爲來說明mvcc是如何工作的。  InnoDB的MVCC,是通過每行記錄後便保存兩個隱藏的列來實現的。這兩個列,一個保存了行的創建時間,一個保存了行的過期時間(刪除時間)。當然

原创 在線更改表結構pt-onling-schema-change

pt-online-schema-change是perona公司的工具,它解決了更改表時不鎖表的問題,且不會影響到業務,其原理是:如果有外鍵,根據alter-foreign-keys-method參數的值,檢測外鍵相關的表,針對相應的設置進

原创 mysql 之my.cnf配置調優

對pre_thread_buffers優化(可以理解爲每個連接到mysql的用戶進程分配的內存):read_buffer_size 該參數表示表的順序掃描,表示每個線程分配的緩衝區的大小。如在全表掃描時,會按照數據的存儲順序依次讀取數據塊,

原创 學習mysql細節整理(一)

mysql管理之道自我整理(一)mysql5.5介紹:mysql5.5開始使用默認引擎是Innodb引擎,在mysql5.5裏InnodDB Plugin文件格式要調整爲Barracuda。Barracuda格式支持表壓縮功能,Truaca

原创 學習mysql細節整理(二)

學習mysql細節整理(二)mysql管理之道自我整理(二)半同步複製:該模式可以確保從服務器接受完主服務器發送的binlog日誌文件並寫入自己的中繼日誌relay log裏,然後給主服務器一個反饋,告訴對方已經接受完畢,這時主庫線程才返回

原创 Innodb ibdata數據文件誤刪,如何恢復

Innodb的ibdata數據文件誤刪除後的操作流程:注意:誤刪除後,你的數據庫是還可以工作的,數據照樣可以寫入,切記,千萬不要把mysqld進程殺死,否則就沒法挽救了。首先找到mysqld的進程pid,如pid是 1111ll /proc

原创 mysql之binlog格式

mysql的binlog格式分爲三種,binlog_format=mixed,statement,row三種方法簡介(自我理解):statement:binlog內存儲sql語句形式。row:binlog內存儲變化了的數據形式,非sql語句

原创 mysql邏輯備份2種方案

mysql邏輯備份方案:針對db進行邏輯備份(由於數據量較小,正在生產環境使用)。mysql_backup.sh #!/bin/bashdate=`date +%F-%H-%M`mkdir /opt/backup/${date} -puse