BashでMySQLに接続する(MySQLがインストールされていない場合)


11

BashでリモートのMySQLデータベースに接続しようとしています。データベースをホストしているサーバーで、次のように入力します。

mysql -u _username_ -p

接続する。

入力できるようにしたい:

mysql -h _host_ -u _username_ -p

別のサーバーから接続します。クライアントにMySQLがインストールされていないため、コマンドが見つかりません。MySQLサーバー全体のほかにインストールできるもの(apt-get優先)があるので、bashでmysqlコマンドを使用できますか?


1
apt-get install mysql-client GUIクライアント専用であると思った。
user722307 2012年

あなた自身の質問に答えることができ、しばらくするとそれを受け入れることもできます。
enzotib 2012年

回答:


21

コマンドラインMySQLクライアントをインストールするには、次のようにする必要があります。

sudo apt-get install mysql-client

そしてあなたはできる

mysql -h HOST -P PORT_NUMBER -u USERNAME -p

ただし、MySQLサーバーの設定を変更する必要がある場合があります。ubuntuのデフォルトでは、MySQLサーバーはローカルサーバーからの接続のみを受け入れます。設定が呼び出されbind-address、で設定され/etc/mysql/my.cnfます。デフォルトでは、これは127.0.0.1サーバーのIPアドレスに変更する必要があります。サーバーに複数のIPアドレスがある場合は、1つのIPアドレス(たとえば、内部ネットワーク)を選択するか、MySQLに値を設定してすべてのIPアドレスをリッスンさせることができます。0.0.0.0

MySQLユーザーがデータベースにアクセスできることを確認する必要もあります。インターネット上の指示に従って、ユーザーを作成した可能性があります'myname'@'localhost'-そのユーザーはリモート接続できなくなります。クライアントのIPアドレスから接続できる新しいユーザーを作成するには、次のようにする必要があります。

GRANT ALL PRIVILEGES ON database_name TO 'username'@'192.168.0.51' IDENTIFIED BY 'password';

MySQLが使用するアドレス指定についてもう少し読んでください

最後に、サーバーのファイアウォールがMySQLポートへのアクセスを許可することを確認することを忘れないでください-デフォルトは3306です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.