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

mysqlサーバーへの接続の問題:ERROR 2003(HY000)

    このエラーメッセージは、サーバーへの接続が試行されたがサーバーに到達できなかったため、クライアント(サーバーではなく)によって生成されます。

    これにはさまざまな原因が考えられます:

    1)mysqldがサーバーで実行されていることを確認します:

    ps -ef | grep mysqld
    

    次のようなものを返す必要があります:

    root      2435  2342  0 15:49 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/var/ --user=mysql  
    mysql     2480  2435  0 15:49 pts/1    00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/var/ --user=mysql ...
    

    デーモンサービスを実行するには、redhat / fedora / centosで実行します:

    service mysqld start
    

    または、systemdに依存するFedoraリリース> =16の場合:

    systemctl start mysqld.service
    

    システム起動時にデーモンの自動起動を有効にする場合:

    systemctl enable mysqld.service
    

    2)サーバー上でmysqldが実行されているポートを確認します:

    netstat -lnp | grep mysql
    

    戻る必要があります:

    tcp        0      0 0.0.0.0:3306 0.0.0.0:* LISTEN 2480/mysqld 
    unix  2      [ ACC ]     STREAM     LISTENING     8101   2480/mysqld /tmp/mysql.sock
    

    後者はローカル接続用のソケットであり、最初はネットワーキング用のtcpポートです(デフォルトは3306)。ポートがデフォルトのポートでない場合は、クライアントで接続ポートを設定する必要があります。 mysqlクライアントを使用している場合:

    mysql dbname -uuser -ppasswd -P<port> ...
    

    3)別のネットアドレスを使用している場合は、サーバーが接続元のネットアドレスをリッスンしていることを確認します:ファイル/etc/my.cnf 次の行を検索します:

    bind_address=127.0.0.1
    

    アドレスが127.0.0.1の場合、ローカル接続のみが許可されます。 172.16.1.0の場合、172.16.2.xxxから接続できませんでした

    4)サーバー上にファイアウォールが実行されておらず、mysqlポート(3306がデフォルトのポート)への接続をブロックしていないことを確認します。 redhat / fedora/centosの実行の場合

    service iptables status
    


    1. MSAccess呼び出しSQLServerストアドプロシージャ

    2. MySQLがレコードを削除しない

    3. SQLのTCLコマンド

    4. 文字列からMySQLSETを作成する