PHP 遇到 Headers and client library minor version mismatch

Percona MySQL 升級 5.6 後, PHP 的 mysql_connect() 就出現下述警告(Warning)訊息:

PHP Warning:  mysql_connect(): Headers and client library minor version mismatch. Headers:50531 Library:50613 ...

要如何解決?

閱讀全文〈PHP 遇到 Headers and client library minor version mismatch〉

MySQL Percona 由 5.5 升級到 5.6 設定問題解法

MySQL Percona 5.6 GA Release, 詳見: Percona Server 5.6.13-61.0 first GA release is now available

Debian 若是 APT 設定 Percona Repository 的話, apt-get dist-upgrade 就會自動升級了, 但是若 my.cnf 有些額外設定, 可能會無法啟動, 此篇紀錄遇到的問題解法.

閱讀全文〈MySQL Percona 由 5.5 升級到 5.6 設定問題解法〉

好文 - Google棄甲骨文MySQL,將大規模導入MariaDB

去年(2012) WikiPedia 也捨棄 MySQL 轉向 MariaDB: Wikipedia moving from MySQL to MariaDB (註: 不過應該還不是全部轉過去)

今年 Google 也將大規模採用 MariaDB 囉~

註: 我現在是全部都轉向 Percona

閱讀全文〈好文 - Google棄甲骨文MySQL,將大規模導入MariaDB〉

MySQL Replication 遇到 Got fatal error 1236 from master 修復

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 砍不存在的 Table 造成 Replication 停擺解法

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 造成 Replication 停擺解法〉

MySQL 出現 Could not initialize master info structure 修復

於 MySQL 設定同步 Replication, 將下述命令拆成兩組輸入, 如下述:

  1. mysql> CHANGE MASTER TO MASTER_HOST='master.example.com', MASTER_USER='repl', MASTER_PASSWORD='repl_password';
  2. mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;

設定 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 修復〉