sql >> データベース >  >> RDS >> Mysql

ユーザー'www-data'@'localhostのアクセスが拒否されました-これに対処するにはどうすればよいですか?

    www-data apacheとphpを実行するDebianユーザーです。有効な接続がないときにクエリを試行すると、php/mysqlは<unix-user>@localhostを使用して接続を作成しようとします。 パスワードなし。ここで、[email protected] (using password:NO) から来ています。

    これが今発生し始めた最も可能性の高い理由は(2年前は正常に実行されていましたが)、一部の接続が成功できないポイントまでデータベースの負荷が増加したことです(おそらく、max_connectionsまたはmax_user_connectionsが原因です。これは、メモリ、スレッドなどの他の制限からも発生する可能性があります)。これが発生した場合、mysql_connectへの呼び出し エラーメッセージを出力し、FALSEを返します 。この失敗を検出できない場合は、次のmysql呼び出し(おそらくmysql_queryまたはmysql_select_db)が [email protected] -したがって、あなたが見ている問題を引き起こします。

    エラー報告とエラー表示を有効にすることをお勧めします(@DarkMantisが提案):

    ini_set('error_reporting', E_ALL|E_STRICT);
    ini_set('display_errors', 1);
    

    また、mysql_connectの呼び出しがではないことを確認してください。 @が前に付いている サイン;必ず戻り値を確認してください。次のようになります:

    $cxn = mysql_connect('localhost','yourusername','yourpassword');
    if( $cxn === FALSE ) {  die('mysql connection error: '.mysql_error()); }
    


    1. フォームを介してデータベースに絵文字を追加するときの不正な文字列エラー

    2. MySQLでSQLモードを更新する

    3. Word、Excel、PowerPointでのキーボードのみのナビゲーションの使用(パート2:ダイアログボックス)

    4. サブクエリを使用したmysqlベースでの非常に遅い削除