PHP mysql_connect() 出現 function not define 問題解決

Redhat MySQL 預設會將 mysql.sock 放在 /var/lib/mysql/mysql.sock, 但是另外自己 make 的 php, 預設會去拉 /tmp/mysql.sock, 所以會連不到 MySQL, 或者 mysql_connect() 會出現 function not define 等問題(php.ini 有 extension=mysql.so, 並也 restart apache, 卻還出現此錯誤).

只要去修改 my.cnf, 將 /var/lib/mysql/mysql.sock 的路徑, 改到 /tmp/mysql.sock 即可. 如同以下步驟:

  1. vi /etc/my.cnf
  2. #socket=/var/lib/mysql/mysql.sock # 註解掉
  3. socket=/tmp/mysql.sock # 設到 /tmp/mysql.sock

此完成後即可正常使用.

閱讀全文〈PHP mysql_connect() 出現 function not define 問題解決〉

MySQL MyISAM 4GB限制解除

MySQL MyISAM 有 4GB 的限制, 如果使用量超出 4GB, 有何方法能解決.

因: MySQL 用 32bits pointer 來記錄資料位置, 所以只能定址到4GB的空間, 再多就會出現此錯誤.

解法: 將原本檔案大小限制 轉換成 rows 數目限制即可. 但是特別注意, 要做此轉換前, 一定要做備份, 並對 table 做 OPTIMIZE TABLE... 千萬千萬要做 OPTIMIZE TABLE.

閱讀全文〈MySQL MyISAM 4GB限制解除〉