0

リモートサーバー以外のデータベースをセットアップしています。

私がやろうとしているのは、PHPを使用して接続を確立することです。

次の詳細を使用してMySQLワークベンチを使用してテストしたため、サーバー上のすべての設定は問題ありません: ホスト名: xxx.xx.xx.xxx ポート - デフォルトとして:3306

ワークベンチの詳細タブで、「利用可能な場合は SSL を使用する」が選択されています。接続テストは成功です。

ただし、単純な mysq_connect('IP','user','pass') を使用して接続しようとすると、次のエラーが発生します: 行 2: $c = mysql_connect('IP','USER','PASS');

警告: mysql_connect() [function.mysql-connect]: C:\wamp\www\sql\index.php オンラインのデータ (mysqlnd_wireprotocol.c:553) の途中終了

警告: mysql_connect() [function.mysql-connect]: OK パケットが予想より 1 バイト短い > C:\wamp\www\sql\index.php の 2 行目

警告: mysql_connect() [function.mysql-connect]: mysqlnd は古い安全でない認証を使用して MySQL 4.1+ に接続できません。管理ツールを使用して、コマンド SET PASSWORD = PASSWORD('your_existing_password') でパスワードをリセットしてください。これにより、新しい、より安全なハッシュ値が mysql.user に保存されます。このユーザーが PHP 5.2 以前で実行される他のスクリプトで使用されている場合、C:\wamp\www\sql\index.php の 2 行目の my.cnf ファイルから old-passwords フラグを削除する必要がある場合があります。

この接続を確立しようとしてから数日が経ちました。助けてください!

4

3 に答える 3

1

試す..

mysql_connect('IP','USER','PASS', false, MYSQL_CLIENT_SSL);
于 2012-05-22T11:41:51.933 に答える
0

クイックガイド:

  1. サーバーmy.cnf(通常は/etc)を開きます。
  2. コメントアウトold-passwords = 1
  3. MySQL を再起動します
  4. mysql_fix_privilege_tables必要に応じて実行
  5. mysqlclientとしてユーティリティを使用して接続しますroot
  6. use mysql
  7. update user set password=password('new password') where user='the user'

その後、もう一度やり直してください

于 2012-05-22T11:41:54.167 に答える
0

これがphp マニュアル mysql 接続です

クライアントフラグを見る

于 2012-05-22T11:44:45.757 に答える