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

リモートMySQLデータベースに接続する

    いいえ、チャーターはそれについて何もできません。これは、エラーが発生するためですMySQLサーバーから直接 、IPアドレスがアクセス用に構成されたホストに含まれていないため。

    Error: 1130 SQLSTATE: HY000 (ER_HOST_NOT_PRIVILEGED)
    Message: Host '%s' is not allowed to connect to this MySQL server
    

    正しい解決策には、MySQLアクセス特権システム ユーザー名+ホストのIPアドレスまたは接続が発信されている名前を「アカウント」として扱います。ユーザー名自体ではありません。

    'foo'@'localhost'   # username foo connecting from the server machine
    'foo'@'192.168.1.1' # username foo from IP address 192.168.1.1
    'foo'@'192.168.1.%' # username foo from IP address 192.168.1.*
    'foo'@'192.168.%'   # username foo from IP address 192.168.*.*
    'foo'@'%'           # username foo from any IP address
    

    MySQLの特権システムでは、これらは5つの異なる「ユーザー」であり、5つの異なるパスワードを持つ可能性があります。あなたのIPアドレスまたはあなたのIPアドレスと一致するワイルドカードアドレスからの接続がユーザーに許可されていない場合、これはあなたが受け取るメッセージになります。これについては、こちら で詳しく説明されています。 およびここ 。

    mysqlでできることは何もありません サーバーの構成を上書きするコマンドラインクライアント。ただし、SSHトンネルを使用して、サーバーがlocalhostから接続していると見なすことができます。 またはコメントで示唆されたように、別の信頼できるホスト。

    修正は、あなたのアドレスで、あなたの友人があなたに特権を与えることです。 GRANTを使用 ステートメント 。 cPanelはこれを行うためのインターフェースを提供するかもしれません-私はMySQLを直接操作しているのでわかりません-しかし、もしそうなら、それはcPanelが本質的に同じGRANTを書くことになるでしょう ステートメントを作成し、実行するためにMySQLサーバーに送信します。



    1. Oracleステートメント

    2. アプリケーションデータベースにとらわれない状態を維持する(ADO.NETとDBロジックのカプセル化)

    3. Pythonを介してリモートMySQLデータベースに接続する

    4. MySQL-アイテムを保存およびロードするための最良の方法