去年(2012) WikiPedia 也捨棄 MySQL 轉向 MariaDB: Wikipedia moving from MySQL to MariaDB (註: 不過應該還不是全部轉過去)
今年 Google 也將大規模採用 MariaDB 囉~
註: 我現在是全部都轉向 Percona
個人筆記, 記錄關於 系統、程式、新聞 與 日常生活 等資訊
去年(2012) WikiPedia 也捨棄 MySQL 轉向 MariaDB: Wikipedia moving from MySQL to MariaDB (註: 不過應該還不是全部轉過去)
今年 Google 也將大規模採用 MariaDB 囉~
註: 我現在是全部都轉向 Percona
MySQL Replication 遇到 error 1236 就有點麻煩了~ 通常都是 binlog 出問題造成的~ (Master 或 Slave 的 binlog 壞掉都有可能造成此錯誤)
通常遇到這個狀況, 都是 Slave 的 binlog 壞掉, 就 Slave DB 的資料重倒來解決, 但是此次遇到是 Master 的 binlog 壞掉, 就有點苦了~
錯誤訊息如下:
- Last_IO_Errno: 1236
- Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin.003583' at 45997491, the last event read from './mysql-bin.003583' at 4, the last byte read from './mysql-bin.003583' at 4.'
閱讀全文〈MySQL Replication 遇到 Got fatal error 1236 from master 修復〉
MySQL 於 Master 砍個不存在的 Table, Slave 沒有此 Table 的話, 就會造成 Replication 停擺, 會出現下述錯誤訊息: (有些不需要看到的訊息我先刪掉了)
Replicate_Wild_Ignore_Table: Last_Errno: 1146 Last_Error: Error 'Table 'phpmyadmin.pma_table_info' doesn't exist' on query. Default database: ''. Query: 'DELETE FROM `phpmyadmin`.`pma_table_info` WHERE db_name = 'test' AND table_name = 'item'' Skip_Counter: 1 Seconds_Behind_Master: NULL Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 1146 Last_SQL_Error: Error 'Table 'phpmyadmin.pma_table_info' doesn't exist' on query. Default database: ''. Query: 'DELETE FROM `phpmyadmin`.`pma_table_info` WHERE db_name = 'test' AND table_name = 'item''
上述發生的狀況是 Master 有 phpMyAdmin, Slave 沒有(所以 Slave 一開始同步也沒去建立 phpMyAdmin DB), 但是 phpMyAdmin 新版會建立自己的 DB, 於 phpMyAdmin 頁面上砍 Table 時, 他也要從自己的 pma_table_info 砍資料, 於是就造成 Replication 停擺, 就出現上述錯誤訊息.
MySQL 要複製 整個 Table, 要怎麼做呢?
MySQL 的 Table 要搬到另外一個 DB、Table 重新命名、兩個 Table 要互換名字 等, 要怎麼做?
於 MySQL 設定同步 Replication, 將下述命令拆成兩組輸入, 如下述:
設定 Replication 完成後, start slave 無法啟動, 出現下述錯誤訊息:
Could not initialize master info structure, more error messages can be found in the MySQL error log
要怎麼解決呢?
閱讀全文〈MySQL 出現 Could not initialize master info structure 修復〉
於 MySQL 要計算抓取 6個月前的日期, 要如何做?
MySQL 支援的 Storage Engine 很多, 如下述:
PHP 出現下述錯誤訊息:
PHP Warning: mysql_connect(): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (99)
但是追蹤起來, 程式執行時, 機器、DB 都沒有什麼 Loading, 於是從設定追, 程式大概都跑約 60秒就掛掉, 於是把設定於60秒的都抓出來看, 再測試看看, 也沒有任何差異, 一樣會掛掉.
於 MySQL 內, 資料格式如下:
id name
1 A
1 B
1 C
2 D
想要一行指令: "SELECT * FROM TABLE WHERE id = 1 GROUP BY id", 取得 GROUP BY id 的所有資料集合, 要怎麼做?
註: 想要內容列出 id=1, name=A,B,C