大批量操作可能會造成嚴重的主從延遲,主從環境中,大批量操作可能會造成嚴重的主從延遲,大批量的寫操作一般都需要執行一定長的時間,而只有當主庫上執行完成後,才會在其他從庫上執行,所以會造成主庫與從庫長時間的延遲情況。
binlog日誌為row格式時會產生大量的日誌,大批量寫操作會產生大量日誌,特別是對於row格式二進位制資料而言,由於在row格式中會記錄每一行資料的修改,我們一次修改的資料越多,產生的日誌量也就會越多,日誌的傳輸和恢復所需要的時間也就越長,這也是造成主從延遲的乙個原因,
大批量修改資料,一定是在乙個事務中進行的,這就會造成表中大批量資料進行鎖定,從而導致大量的阻塞,阻塞會對mysql的效能產生非常大的影響。
特別是長時間的阻塞會佔滿所有資料庫的可用連線,這會使生產環境中的其他應用無法連線到資料庫,因此一定要注意大批量寫操作要進行分批。
避免大表修改產生的主從延遲
避免在對表字段進行修改時進行鎖表
對大表資料結構的修改一定要謹慎,會造成嚴重的鎖表操作,尤其是生產環境,是不能容忍的。
pt-online-schema-change 它會首先建立乙個與原表結構相同的新錶,並且在新表上進行表結構的修改,然後再把原表中的資料複製到新錶中,並在原表中增加一些觸發器。把原表中新增的資料也複製到新錶中,在行所有資料複製完成之後,把新錶命名成原表,並把原來的表刪除掉。把原來乙個ddl操作,分解成多個小的批次進行。
當達到最大連線數限制時,還執行1個有super許可權的使用者連線super許可權只能留給dba處理問題的賬號使用。
程式使用資料庫賬號只能在乙個db下使用,不准跨庫 程式使用的賬號原則上不准有drop許可權,無delete許可權。
任何操作都要記錄在運維日誌。
任何操作都要經過dba審核。
mysql資料庫相關操作(持續更新)
mysqldump u使用者名稱 p密碼 h mysql主機 default character set 指定編碼 資料庫名稱 表名稱 where 查詢條件 匯出檔名.sql 例 mysqldump uroot p123456 h 127.0.0.1 default character set ut...
Sqlserver資料庫的操作(持續更新。。。。)
檢視當前的存放位置 select database id,name,physical name as currentlocation,state desc,size from sys.master files where database id db id n 資料庫名 修改檔案的存放位置下次啟動生...
資料庫基本操作(持續更新ing)
crud 增加 create 查詢 retrieve 更新 update 刪除 delete create database 資料庫名 刪除資料庫 drop database 資料庫名 use 資料庫名 create table student id int 1 notnull name varch...