原创 互聯網MySQL開發規範

摘要:基礎規範命名規範庫、表、字段開發設計規範索引規範SQL規範流程規範一基礎規範 (1) 使用INNODB存儲引擎(2) 表字符集使用UTF8(3) 所有表都需要添加註釋(4) 單表數據量建議控制在5000W以內(5) 不在數據庫中存儲圖

原创 MySQL出現Waiting for table metadata lock的原因以及解決方法

MySQL在進行alter table等DDL操作時,有時會出現Waiting for table metadata lock的等待場景。而且,一旦alter table TableA的操作停滯在Waiting for table meta

原创 Waiting for table metadata lock

MySQL5.5 中引入了 metadata lock. 顧名思義,metadata lock 不是爲了保護表中的數據的,而是保護 database objects(元數據)的。包括表結構、schema、存儲過程、函數、觸發器、mysql的

原创 sql行轉列、列轉行的方法

  如題:有一張表EMP,裏面有兩個字段:name,chengji  有三條記錄,分別表示語文(name) 70分,數學(name) 80分,英語(name) 58分,請用一條sql查詢出這三條記錄並以條件顯示出來,大於等於80表示優秀,大

原创 主從複製模式下跳過錯誤

今天我們主要看主從模式下,幾種跳過錯誤的方法,跳過事務,還是跳過event?這個在之前其實我們一直都是忽略的,這在我們維護主從過程中,很容易就導致主從數據更大的不一致。測試機器5.7.18 主從 gtid 開啓主庫數據從庫數據很明顯主從

原创 mysql 隱式轉換問題

mysql隱式轉換問題,特別在我們進行sql編寫,sql優化的時候應該特別注意,可是大部分人都只知道mysql隱式轉換,具體描述的時候卻是有點模糊!我們看上圖,yhtest 表,第三列爲c、varchar 類型,表中4行數據,當我們使用se

原创 MySQL出現Waiting for table metadata lock的原因以及解決方法

MySQL在進行alter table等DDL操作時,有時會出現Waiting for table metadata lock的等待場景。而且,一旦alter table TableA的操作停滯在Waiting for table meta

原创 mysql邏輯備份 mysqldump

MySQL邏輯備份mysqldump 是我們平時用的比較多的備份方式,那麼myqldump的備份原理是什麼?是如何保證備份數據一致性的呢?爲了觀察mysql在邏輯備份mysqldump 的時候,究竟做了哪些操作,我們開啓全量日誌!然後我們開

原创 mysql 查詢緩存優化

寫在前面:查詢緩存從MySQL 5.7.20開始已被棄用,並在MySQL 8.0中被刪除。 Query cache 作用於整個 MySQL,主要用來緩存 MySQL 中的查詢結果集,也就是一條SQL語句執行的結果集,所以僅僅只能針對sele

原创 子查詢更新操作的坑

子查詢我相信大部分人都寫過,但是昨天遇到一個比較坑的問題,由於有較好的備份,很短時間就恢復了誤操作數據,但是這個問題值得分享。首先建立如下測試表:CREATE TABLE course (student_id INT(11),course

原创 MySQL Group Replication 學習(部署篇+排錯篇)

       寫在前面:之前一直用mariadb 版本,mariadb 集成了galera插件,實現pxc部署較爲簡單。官方在5.7推出了MySQL Group Replication,之前因爲時間原因,一直沒有時間搭建,今天也是抱着學習對

原创 互聯網MySQL開發規範

摘要:基礎規範命名規範庫、表、字段開發設計規範索引規範SQL規範流程規範一基礎規範 (1) 使用INNODB存儲引擎(2) 表字符集使用UTF8(3) 所有表都需要添加註釋(4) 單表數據量建議控制在5000W以內(5) 不在數據庫中存儲圖

原创 sqlserver 2 mysql

sqlserver 數據遷移到mysql 注意事項:部分字段類型有區別,遷移過程中需要進行轉換唯一索引不同,sqlserver 中唯一索引列只能有一個null ,而mysql中卻可以有多個null存儲過程語法有較大區別,遷移完成後需要進行逐

原创 Waiting for table metadata lock

MySQL5.5 中引入了 metadata lock. 顧名思義,metadata lock 不是爲了保護表中的數據的,而是保護 database objects(元數據)的。包括表結構、schema、存儲過程、函數、觸發器、mysql的

原创 mysql 死鎖記錄

測試環境: mysql 5.7.18     RR隔離級別創建表,插入部分測試數據CREATE TABLE yhtest (  a INT (11) NOT NULL AUTO_INCREMENT,  b INT (11) DEFAULT