Tag Archives: myisam

Percona 比較 MySQL 與 MariaDB 預設值的差異

Percona 的人花了些時間整理 MySQL 5.7 與 MariaDB 10.2 在預設值上的差異:「MySQL and MariaDB Default Configuration Differences」。 整體可以感覺到 MariaDB 10.2 相較於 MySQL 5.7 還是頗偏 MyISAM 的設計,可能跟 Monty (Michael Widenius) 的偏好有關吧... 不過技術面上來說,MariaDB 10.2 是基於 5.5 分支出來一路改出來的,當時的 InnoDB 跟現在的版本比起來的確沒那麼強... 不過這畢竟只是預設值,看過留個印象就好...

Posted in Computer, Database, MariaDB, Murmuring, MySQL, Software|Tagged , , , , , , , , , , , , |Leave a comment

小台機器上的 innodb_purge_threads 對效能的影響

雖然「MyISAM, small servers and sysbench at low concurrency」這篇標題是在講 MySQL 上的 MyISAM,但還是有提到一些 InnoDB 的東西... 其中提到了 innodb_purge_threads 對效能的影響: the default value for innodb_purge_threads, which is 4, can cause too much mutex contention and a loss in QPS on small servers. For sysbench … Continue reading

Posted in AWS, Cloud, Computer, Database, Murmuring, MySQL, Network, Software|Tagged , , , , , , , , , , , , , , |Leave a comment

不停機重設 MySQL 的 root 密碼

Percona 寫了一篇「Recover MySQL root password without restarting MySQL (no downtime!)」,利用 MyISAM 的特性直接惡搞重設 root password。 幾個重點: MyISAM 的檔案可以獨立 copy,而且因為 user table 應該很少被改到,硬碟裡的檔案應該是 not corrupted 的狀態。 由於無法下 FLUSH TABLE 的指令,蓋過去後得用 SIGHUP 讓 MySQL 重讀。

Posted in Computer, Database, Murmuring, MySQL, Software|Tagged , , , |Leave a comment

Mobile01 的 Ryan 換 InnoDB 的筆記與心得

沒記錯的話,Mobile01 應該是去年暑假左右從 MyISAM 換成 InnoDB 的?一切的起頭應該是蔣大「現在SSD硬碟可以拿來跑資料庫嗎?」這篇。 使用DRBD與Heartbeat建構高可靠性的MySQL資料庫伺服器 (1/4: DRBD安裝與設定) 使用DRBD與Heartbeat建構高可靠性的MySQL資料庫伺服器 (2/4: 資料庫伺服器) 使用DRBD與Heartbeat建構高可靠性的MySQL資料庫伺服器 (3/4: Heartbeat) 使用DRBD與Heartbeat建構高可靠性的MySQL資料庫伺服器 (4/4: Replication) 另外同場加映,使用 Percona 的工具讓管理上更方便: 使用Percona Tool Kit修復MySQL Replication資料不同步 使用Percona XtraBackup備份MySQL資料庫 MyISAM 是 MySQL 5.0 與 5.1 預設的 storage engine (到 5.5+ 預設的 storage … Continue reading

Posted in Computer, Database, Hardware, Murmuring, MySQL, Software|Tagged , , , , , , , , , , , , |1 Comment

把 MySQL MyISAM 換到 Galera Cluster 的 InnoDB 上...

在「Switching from MySQL/MyISAM to Galera Cluster」這邊看到一個 script 可以檢查 MySQL MyISAM 換到 InnoDB,而且預定要換成 Galera Cluster 時的問題。 常見的問題都有檢查到,還蠻有用的: 針對沒有 Primary Key 的表格提出警告,讓管理者規劃補上 Primary Key。 針對 MyISAM 換成 InnoDB 後造成 Primary Key 太長的表格提出警告,讓管理者想辦法修改。 Galera Cluster 無法處理沒有 Primary Key 表格的刪除動作:(可以參考「MariaDB Galera Cluster - Known … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Software|Tagged , , , , , , , , , |Leave a comment

MySQL 內 JOIN 的應用...

「Common use cases for the MySQL Join statement」這篇給的範例與把 MySQL 上常用到的幾種 JOIN 提出來分析,包括 index 與 explain。另外在「Managing hierarchical data with MySQL」也提到了要怎麼處理階層式資料。 對於 JOIN 大概分幾個階段: 在使用 MyISAM 的時候會儘量避免 JOIN,因為當 SQL 執行時間久的時候會有好幾個 table 同時卡住無法寫入。 改用 InnoDB 後一直用 JOIN,不論是報表或是 web SQL query,造成 CPU bound (雖然不是 … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Network, Software|Tagged , , , , , , , |Leave a comment

測試 MariaDB 後的一些感想...

Monty Program AB 是 MySQL 的發起人 Monty 在離開 Sun 之後所創辦的公司 (他同時也是 MySQL AB 的創辦人),這家公司目前以 MariaDB 為發展主力。 先說對 MariaDB 目前的看法:暫時還是會用 Percona 所提供的版本,以及 XtraDB (基於 InnoDB 的產品)。 MariaDB 發展的重點在於 Aria storage Engine,但目前的 1.5 版只支援 crash-safe,要到 2.0 才會支援 InnoDB 主要功能,而到了 2.5 才會針對效能調整,看起來要到「能用」必須要到 2.5 … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Network, Software|Tagged , , , , , , , , , , , |Leave a comment

從 MySQL (單機) 轉到 Galera Cluster 的前置作業...

codership (Galera Cluster 背後的公司) 剛剛發了一篇文章,說明將 MySQL 轉換到 Galera Cluster 有哪些事情要先處理:「5 Tips for migrating your MySQL server to a Galera Cluster」。 純粹技術上的事情大致上是這樣: 先轉到 InnoDB。 每個 Table 都加上 Primary Key。 檢查 Event,確認在 Galera Cluster 裡面會怎麼跑,或是直接拆到 cron server 跑... 另外幾點不是技術上的問題,而是 policy 應該規劃的事情... 把事情列出來,多隻眼睛檢查後再一步一步照表操課。 … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Software|Tagged , , , , , , , , , , , |Leave a comment

MySQL 中,MyISAM 與 InnoDB 帶來的差異...

標題所提到的兩個 engine 是在 MySQL 中最常用到的兩個 engine。其中 MyISAM 是在 MySQL 5.1 之前的 default engine,InnoDB 則是 MySQL 5.5 之後的 default engine。 這篇主要是講 MySQL 5.1 + InnoDB Plugin,或是 MySQL 5.5 後的情況。 MyISAM 是 Table-level lock,當有寫入時其他人無法讀取 (有少數例外,像是 bulk insert)。而 InnoDB 設計成 Row-level lock,在寫入時有很大機會還是可以讀取。 另外,InnoDB … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Software|Tagged , , , , , |3 Comments

長野雅廣 (Masahiro Nagano) 的 MySQL Beginners Talk

長野雅廣的「MySQL Beginners Talk で LT してきました」這篇 slide 對不熟悉 MySQL 的人講了兩個幾乎不會錯的觀念: 不要用 MyISAM,用 InnoDB Plugin。 建立監控機制。 先討論後面這點,算是任何 database 都通用的法則:當你遇到效能問題時,監控機制可以提供毛線球的線頭,讓你知道慢在哪裡:什麼時間滿載 (於是可以猜測是 cron job 造成,或是對應 MRTG 圖時知道是一般使用者造成的流量造成),另外可以知道瓶頸是在 CPU (是單顆 CPU 滿載,還是整台機器都被吃滿),I/O (是讀取滿載,還是寫入造成滿載),或是網路。 前面這點解釋成「如果你不知道你在做什麼,就用 InnoDB Plugin 吧」,對於初學者 (slide 的標題),就簡化成「既然你是初學者,你就用 InnoDB Plugin 吧」。原因是: InnoDB 是 … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Network, Software|Tagged , , , , , , |3 Comments