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

Linux /MacからAmazonEC2でMySQLに接続するにはどうすればよいですか?

    Linux/MacラップトップからAmazonEC2上のMySQLに接続することをお勧めします。ただし、セキュリティ上の理由から、EC2インスタンスでポートを開きたくない場合があります。代わりに、セキュアシェル(SSH)を介してローカルポートを転送できます。これで、ローカルポートに接続すると、代わりにSSH経由でAmazonEC2上のMySQLサーバーに接続するように転送されます。 EC2インスタンスでMySQLサーバーのポートを開く必要はありません。 SSH経由であるため、誰も追跡できません。 SSHトンネルを使用してLinux/MacからAmazonEC2上のMySQLに接続する方法は次のとおりです。

    SSHトンネルに慣れていない場合は、SSHを使用してLinux/MacからAmazonEC2インスタンスに接続する方法について読むことができます。

    本当に簡単です。シェル/ターミナルを開いて、構文を使用してコマンドを入力するだけです

    [sudo] ssh -i "$key" -f -N -L $local_port:127.0.0.1:$remote_port $user@$ec2

    意味:

    $ key –EC2インスタンスの作成中にAmazonからダウンロードされた秘密鍵ファイル(.pem)の場所

    $ local_port –EC2上のMySQLサーバーに転送するローカルマシンのポート。これは接続要求をリッスンするポートです

    $ remote_port –MySQLサーバーがEC2で実行されるポート。通常は3306です

    $ user

    • Amazon Linux AMIの場合、ユーザー名は ec2-user
    • RHEL AMIの場合、ユーザー名は多くの場合 root ただし、 ec2-userの可能性があります 。
    • Ubuntu AMIの場合、ユーザー名は ubuntu
    • それ以外の場合は、AMIプロバイダーに確認してください。

    $ ec2 –EC2インスタンスのパブリックIPまたはパブリックDNS名

    例:

    sudo ssh -i "/tmp/private_key.pem" -f -N -L 3100:127.0.0.1:3306 [email protected]

    これにより、ラップトップのポート3100が192.150.15.1のポート3306に転送されます。したがって、ラップトップのポート3100に接続しようとすると、192.150.15.1に送信されます。 EC2インスタンスに到達すると、127.0.0.1:3306に送信されます。この場合、127.0.0.1は192.150.15.1を参照し、ローカルマシンを参照しません。これにより、sshセッションがバックグラウンドで実行されます。 MySQLデータベースに接続しようとするときは常に実行されている必要があります。

    Linux/MacからAmazonEC2上のMySQLに接続する

    参考までに、ローカルホストに移動するMySQLAdminstratorを使用した接続例を示します。透過的に転送されるサーバーホストアドレス127.0.0.1に注意してください。

    シェル/ターミナルを開いて入力することもできます(例:パスワードは「passwd」です)

    mysql -h 127.0.0.1 --port 3100 -uroot -ppasswd

    これは、ローカルホストのポート3100に接続することを意味します。これにより、ポート3306でリッスンしているEC2インスタンスのMySQLサーバーに接続が転送されます。

    1. PostgreSQLのGROUPBYとCOUNT

    2. ClusterControlを使用したMySQL8.0の監視と運用管理

    3. WEEKDAY()の例– MySQL

    4. テーブル名が可変であるMySQLから選択する方法