原创 MYSQL 髒頁刷新

起因 昨天看了CSDN推送的一篇《騰訊面試:一條SQL語句執行得很慢的原因有哪些?》 裏面主要提到了 1.數據庫在刷新髒頁的時候會導致SQL很慢 2.鎖的問題 3.sql本身的問題 下面主要對刷髒頁理解,自己總結下 mysql 刷髒塊的幾

原创 MySQL中InnoDB髒頁刷新機制Checkpoint

我們知道InnoDB採用Write Ahead Log策略來防止宕機數據丟失,即事務提交時,先寫重做日誌,再修改內存數據頁,這樣就產生了髒頁。既然有重做日誌保證數據持久性,查詢時也可以直接從緩衝池頁中取數據,那爲什麼還要刷新髒頁到磁盤呢?

原创 Error: semaphore wait has lasted 大於 600 seconds導致數據庫實例重啓

生產數據庫實例在晚上的時候突然重啓(真是悲劇的事情)~ 1.環境: DB version:mariadb 10.0.28 x64 OS version:centos6.6 x64 kernel:2.6.32-504.el6.x86_64

原创 Waiting for Slave Workers to free pending events

今天處理一個主備延遲的問題,看到有這個狀態 Slave_SQL_Running_State : Waiting for Slave Workers to free pending events 除了大事務外,這個等待狀態的意思是: 當事

原创 MySQL 8.0.18 InnoDB Cluster 主從(MGR)完整安裝配置

提示: MySQL InnoDB Cluster底層依賴Group Replication模式,至少3臺機器 1.  準備3臺 CentOS Linux 7 (Core), 修改各主機名:db-host1, db-host2, db-ho

原创 Semaphore wait has lasted 600 seconds

 解決方案:set global innodb_adaptive_hash_index=0; 轉載於:https://www.cnblogs.com/igoodful/p/8872025.html

原创 mysql死鎖,等待資源,事務鎖,Lock wait timeout exceeded try restarting transaction解決

前面已經瞭解了InnoDB關於在出現鎖等待的時候,會根據參數innodb_lock_wait_timeout的配置,判斷是否需要進行timeout的操作,本文檔介紹在出現鎖等待時候的查看及分析處理; 在InnoDB Plugin之前,一般

原创 技術分享 | MySQL 字段長度限制的計算方法

一、MySQL 限制回顧 之前在《MySQL Text 字段的限制》一文中講過了關於 MySQL 在 Server 層和 InnoDB 層的限制,但是限制的算法沒有詳細展開,這裏進行補充說明,先回顧一下 MySQL 的兩個限制   1.M

原创 mysql錯誤:Row size too large ( 8126).

mysql版本:mysql 5.6 mysql引擎:默認InnoDB 問題原因:由於一張定義角色信息表有接近300列,並且多數是blog的數據類型,數據存儲時報這個錯: Row size too large (> 8126). Chan

原创 innodb_rollback_on_timeout

一、innodb_rollback_on_timeout變量 有時侯會發生事務超時的情況,MySQL會返回類似這樣的錯誤:   1 ERROR 1205 (HY000): Lock wait timeout exceeded; tr

原创 MySql “Row size too large (大於 8126)”

今天在對MySQL數據庫進行數據處理時,遇到一個錯誤: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNA

原创 AMQ- mysql後臺數據庫 Row size too large(大於8126)

公司amq消息隊列存數據用的 mysql數據庫。5.6.32  近期應用方反應報錯: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Row siz

原创 SSD技術特點

NOR和NAND都是閃存技術的一種,NOR是Intel公司開發的,它有點類似於內存,允許通過地址直接訪問任何一個內存單元,缺點是:密度低(容量小),寫入和擦除的速度很慢。NAND是東芝公司開發的,它密度高(容量大),寫入和擦除的速度都很快

原创 MySQL TEXT 字段的限制

一、背景說明 項目中有一個數據交換的場景,由於使用了很多個 varchar(1000)、varchar(2000),導致在創建表的時候,MySQL 提示:   ERROR 1118 (42000): Row size too large

原创 mysql中內存表和臨時表的區別

1.133.1 創建格式 內存表 CREATE TEMPORARY TABLE tmp_table ( name VARCHAR(10) NOT NULL,       value INTEGER NOT NULL )  TYPE = H