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

ソケットを介してローカルMySQLサーバーに接続できません

    mysql_real_escape_string()の呼び出しによってエラーがスローされているため むしろ、mysql_connect()を呼び出さなかったことを意味します まず、有効なdbハンドルをmysql_real_escape_stringに渡します (またはmysql_connect()の呼び出し 失敗しました。

    状況によっては、mysql拡張機能は、php.iniのデフォルト設定を使用して自動的に接続を試み、これらが使用できない場合はmy.cnfにフェイルオーバーします。これは明らかに無効です。または、設定は有効であるがmysqldが実行されていない可能性があります。

    データベースに正常に接続しているスクリプトはありますか?

    データベースのユーザー名とパスワードはありますか?

    試してみてください:

    check_running();
    
    $user=''; // fill in your details
    $password=''; // fill in your details
    
    $hosts=array(
      'localhost', '127.0.0.1', $_SERVER['HTTP_HOST'], $_SERVER['SERVER_ADDR']
    );
    foreach ($hosts as $addr) {
       try_con($addr, $user, $password);
       try_con($addr . ':3306', $user, $password);
    }
    
    function try_con($host, $user, $password)
    {
     $dbh=mysql_connect($host, $user, $password);
     if ($dbh) {
         print "Connected OK with $host, $user, $password<br />\n";
     } else {
         print "Failed with $host, $user, $password<br />\n";
     }
    }
    
    function check_running()
    {
       // this assumes that you are using Apache on a Unix/Linux box
       $chk=`ps -ef | grep httpd | grep -v grep`;
       if ($chk) {
          print "Checking for mysqld process: " . `ps -ef | grep mysqld | grep -v grep` . "<br />\n";
       } else {
           print "Cannot check mysqld process<br />\n";
       }
     }
    


    1. MaxListenersExceededWarning:EventEmitterのメモリリークが検出された可能性があります。 11個のメッセージリスナーが追加されました。制限を増やすには、emitter.setMaxListeners()を使用します

    2. 大きなテーブルから列を削除

    3. MySQL now()タイムゾーンを変更

    4. PHP、php変数によるSQL制限クエリ