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

mysql_connect():そのようなファイルまたはディレクトリはありません

    はい、そのように接続することはできません!

    @PLBと@jammypeachmysqliはv4.1以降であり、彼はv3を使用しています:)本当に助けたいのであれば、みんなが仕様を読んでください!

    ソケットファイルが少し間違っているため、接続できません。以前に古いRHでこの問題が発生したことを覚えています。ソケットは、おそらく/var/mysql/mysql.sockまたは/tmp/mysql.sockですが、1つ以上のアプリが他のアプリを探しています。

    /tmp/mysql.sockであるが、/ var / mysql / mysql.sockがない場合は、次のことを行う必要があります。

    cd /var 
    mkdir mysql
    cd mysql
    ln -s /tmp/mysql.sock mysql.sock
    

    /var/mysql/mysql.sockはあるが、/ tmp / mysql.sockがない場合:

    cd /tmp
    ln -s /var/mysql/mysql.sock mysql.sock
    

    変更を加えるには権限が必要です。上記のコマンドの前に、必要に応じてsudoを実行してください。

    別の解決策(より簡単):

    ファイルを作成し、phpinfo();を呼び出します。 'mysql.default_socket'を探します;または'pdo_mysql.default_socket';My.iniまたはMy.cnfを開いて、ソケット値を見つけます。 socket =/tmp/mysql.sockphp.iniファイル(phpinfo()ページに「ロードされた構成ファイル」としてもあります)を開き、誤ったソケット位置のすべての出現箇所をMySQLからの正しいソケット位置に変更します。

    別の解決策(最も簡単):PDOのDSN:

    mysql:unix_socket=/tmp/mysql.sock;dbname=...
    

    mysql_connect:

    $db = mysql_connect('localhost:/tmp/mysql.sock', ...
    

    セキュリティに関しては、システムが本当に怖いです。機密データをホストしている場合は、最新バージョンにアップグレードします。

    ----更新----

    AaahhhhPHP5.0およびMySQL3.23:)

    PHP 5には、バージョン4.1より前のMySQLデータベースに接続できないmysqlクライアントがパッケージ化されています。バージョン4.1以降、MySQLは、4.1より前のデータベースと互換性のない新しいパスワードハッシュ方法を使用します。構成が接続しているサーバーはバージョン3.23です。したがって、MySQLのより高いバージョンを入手する必要があります。申し訳ありませんが、あなたのケースに他の実用的な解決策はありません。私があなたなら、システム全体をアップグレードして最新のOSバージョンをインストールします。必要な場合は、Debianと最​​新の安定したバージョンのPHPとMySQLを使用します。



    1. mysqlコマンドラインの表示設定を調整するにはどうすればよいですか?

    2. SQLite集計関数

    3. WorkbenchMySQLクライアントを使用してデータベースに接続する方法

    4. 最初の文字を大文字で表示するにはどうすればよいですか?