ウェブ

「参照リンクめいか~ β1」を作成

ブログなどで他の記事から引用するリンクを作成するために作ってみた。 URLを張るだけでOK。 自分用の書式だが […]

Smartyにおけるテンプレート側での多次元配列の書き方

下記の2通りは同じ結果になる。 PLAIN TEXT HTML: {$val['one']['two']} { […]

JavaScriptによるforループの入れ子変数の罠!

JavaScriptで、forのループ変数にiを使い、 そのforの中でforを実行したらなかなか結果が帰って […]

サイト更新:電卓相性チェッカー

「電卓相性チェッカー」を更新した! ※更新内容  ・相性にランクとアドバイスメッセージ???を付けた ★電卓相 […]

apacheによるリダイレクト設定

apacheのconfファイルのvirtual host設定を以下のように書く

<virtualhost xxx.xxx.xxx.xxx>
  ServerName redirect-domain.sample.com
  Redirect permanent / http://migration-domain.sample.jp/
</virtualhost>

xxx.xxx.xxx.xxx ・・・ 自分のウェブサーバーのIPアドレス
redirect-domain.sample.com ・・・ リダイレクト元になるドメイン
http://migration-domain.sample.jp/ ・・・ リダイレクト先のURL

これにより、

http://redirect-domain.sample.com/

http://redirect-domain.sample.com/abc.html

http://redirect-domain.sample.com/abc/abc.html

http://migration-domain.sample.jp/

http://migration-domain.sample.jp/abc.html

http://migration-domain.sample.jp/abc/abc.html

にリダイレクトされます。

apacheによるリダイレクト設定

apacheのconfファイルのvirtual host設定を以下のように書く <virtualhost […]

サイト制作:正確な年齢チェッカー alpha1

小数点を含めた正確な年齢を知りたい! そんなあなたの為に作りました^^ ★正確な年齢チェッカー (alpha1 […]

「mysqlnd」を使ったPHPによるMySQL接続方法

前回の記事にも書いたが、PHPを5.5にアップデートすると、
「php-mysql」が「php-mysqlnd」に置き換わるため、
以前のMySQLで作られていたユーザーのパスワードが古い形式のままの場合、
DBへ接続できない現象
が発生する。

※yumによるアップデート

php-mysqlnd  i686  5.5.0-0.28.beta4.el6.remi  remi-test  248 k
  replacing  php-mysql.i686 5.4.14-1.el6.remi

DB(mysql-userテーブル)を見てみると、
rootのパスワードは新形式の長いタイプのパスワードだが、
その他は短い古い形式のパスワードだった。

★ユーザーパスワードの確認 (DB:mysql / table:user)
image

★旧形式と新形式のパスワードの違い
image image

よってパスワードを新形式へアップデートする事で解決できる!
 ※DB変更後は、必ずMySQLのサービスを再起動!

SQL:
  1. SET PASSWORD FOR '対象のユーザー名'@'対象のホスト名' = PASSWORD('対象となるユーザのパスワード');

※上記SQLでOKだが直接updateしても変更できる、というか上の方がスマートだと知らなかった^^

SQL:
  1. UPDATE
  2.     `mysql`.`user`
  3. SET
  4.     `Password` = PASSWORD ('対象となるユーザのパスワード')
  5.     WHERE
  6.         `user`.`Host` = '対象のホスト名' --(ユーザー名がユニークの場合は必要なし)
  7.     AND `user`.`User` = '対象のユーザー名'
  8. ;

「mysqlnd」を使ったPHPによるMySQL接続方法

前回の記事にも書いたが、PHPを5.5にアップデートすると、 「php-mysql」が「php-mysqlnd […]

PHPからMySQLに接続できない:mysqlnd

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。

PHPからMySQLに接続できない:mysqlnd

remi-testからPHP5.5にアップデートすると、PHPからMySQLのデータベースに接続できない事態が […]
タイトルとURLをコピーしました