過去の【備忘録】一覧
<JavaScript>について <jQuery>に関して <Ruby>について <Ruby on Rails>に関して <PHP>について <Laravel>に関して <MariaDB/MySQL>について <Dock […]
remi-testからPHP5.5にアップデートすると、PHPからMySQLのデータベースに接続できない事態が発生した。
理由は以下の通り。
・「php-mysql」が廃止されて、「php-mysqlnd」に置き換わった
・「php-mysqlnd」でmysql_connect()系関数を使用した際、MySQLの古いパスワードフォーマット(16バイト)を使うとDBに接続できない
ソース:PHP:下位互換性のない変更点
よって対処方法としては、
1.「php-mysqlnd」を使わないで「php-mysql」を使う
※今後の事を考えれば「php-mysqlnd」を使ったほうがいいかもしれない・・・
2.MySQLのパスワードを設定し直す
SET PASSWORD FOR 'username'@'hostname' = PASSWORD('パスワード');
※ただし、「my.cnf」に
old_passwords=1
とある場合は旧パスワードが有効になっているので、
old_passwords=0
と無効にする必要あり。設定が有効の場合に旧パスワードで設定するには
SET PASSWORD FOR 'username'@'hostname' = OLD_PASSWORD('パスワード');
で設定すればOK。