web-dev-qa-db-ja.com

コマンドラインからMySQLリモートデータベースにアクセスする

Rackspaceを搭載したサーバーがあります。ローカルマシンのコマンドラインからデータベースにアクセスしたいのですが。

私は試してみました:

mysql -u username -h my.application.com -ppassword

しかし、それはエラーを与えます:

エラー2003(HY000):

'my.application.com'上のMySQLサーバーに接続できません(10061)

このエラーの原因は何ですか。また、リモートデータベースに接続する方法を教えてください。

138
user1986299

リモートのMySQLコンソールに直接ログインするには、以下のコマンドを使用します。

mysql -u {username} -p {password} \
    -h {remote server ip or name} -P {port} \
    -D {DB name}

上記のデータベースに切り替えることで、直接mysqlコンソールに移動します。

199
Venkat M

my.cnfファイルを編集します。

vi /etc/my.cnf

次のことを確認してください。

bind-address=YOUR-SERVER-IP

そしてあなたがラインを持っているならば:

skip-networking

必ずコメントしてください。

#skip-networking

再起動を忘れないでください。

/etc/init.d/mysqld restart

28
alfasin

単にこれをubuntuの端末に置いてください。

mysql -u username -h Host -p

今すぐエンターを押す

端末はあなたにパスワードを尋ねるでしょう、パスワードを入力すればあなたはデータベースサーバに入ります

21
Kedar Jangir

このコマンドmysql -uuser -hhostname -PPORT -ppasswordを試してください。

私は同様の状況に直面し、その後ホスト用のMySQLポートがコマンドで入力されたとき、それは解決されました。

15
rajarajan2809

Macの場合は、次のコマンドを使用します。

mysql -u app -h hostaddress -P port -D dbname -p

プロンプトが表示されたらパスワードを入力します。

11
KayV

Sshトンネルを使用したくない場合は、 my.cnf または mysqld.cnf にローカルIPアドレス( 192.168.1.100 )を付けて 127.0.0.1 を変更する必要があります。 LAN経由でアクセスするために。ベローズの例:

Sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address in my.cnf または mysqld.cnf を検索してください。

bind-address            =  127.0.0.1

127.0.0.1 から 192.168.1.100 (ローカルIPアドレス)に変更します。

bind-address            =  192.168.1.100

変更を適用するには、次のコマンドを使用してmysqlサーバーを再起動する必要があります。

Sudo /etc/init.d/mysql restart

LANアクセス用にユーザー root を変更します(アクセスを許可したいリモートサーバーで以下のクエリを実行します)。

[email protected]:~$ mysql -u root -p

..

CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

特定のIPアドレスからのみアクセスしたい場合は、 'root' @ '%' 'root' @ '(IPアドレスまたはホスト名)' に変更します。

CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' WITH GRANT OPTION;
FLUSH PRIVILEGES;

それからあなたは接続することができます:

[email protected]:~$ mysql -h 192.168.1.100 -u root -p

ubuntu 18.04サーバーでテスト済み

8
Cornea Valentin
  1. telnet 3306を試してください。接続が開かない場合は、ファイアウォールが設定されているか、サーバーが待機していない(または機能していない)のいずれかです。
  2. サーバー上でnetstat -anを実行して、サーバーが起動しているかどうかを確認してください。
  3. リモート接続を許可しない可能性があります。

    http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.htmlを参照してください

6
user851031

あなたのマシンにMySQLがインストールされていると思います。不足している詳細情報を入力した後、以下のコマンドを実行してください。

mysql -uUSERNAME -pPASSWORD -hHOSTNAME -P3306 
6
realPK

ポート3306への着信アクセスがファイアウォールによってブロックされているかどうかを確認する必要があります。

2
Amirol Ahmad

簡単なコマンドがあります。

mysql -h {hostip} -P {port} -u {username} -p {database}

mysql -h 192.16.16.2 -P 45012 -u rockbook -p rockbookdb
1
Manish Goswami

パスワードは 'p'で入力してください

mysql -u root -u 1.1.1.1 -p'MyPass'
0
Karin Lahyani

mysqlサーバーは通常、localhost(127.0.0.1)のみをリッスンするように構成されており、Webアプリケーションで使用されます。

その場合でも、サーバーにSSHアクセスできる場合は、sshトンネルを作成し、それを介して接続できます。

ローカルマシンで、トンネルを作成します。

ssh -L 3307:127.0.0.1:3306 -N [email protected]$remote_Host

(この例では、ローカルマシンでmysqlも実行しており、標準ポート3306を使用している場合は、ローカルポート3307を使用します)

今、あなたはに接続するエールでなければなりません

mysql -u $user -p -h 127.0.0.1 -P 3307
0
mivk

私も同じエラーを受けていました。しかし、リモートのmysqlサーバー上に新しいmysqlユーザーを作成してから接続すると便利です。リモートサーバーで次のコマンドを実行します。

CREATE USER 'openvani'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'localhost WITH GRANT 
OPTION;
CREATE USER 'openvani'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

今、あなたは次のコマンドでリモートのMySQLと接続することができます。

mysql -u openvani -h 'any ip address'-p

これが全文です。

http://openvani.com/blog/connect-rem remote-mysql-server/ /

0
Davinder Snehi

この解決策は私のために働いた:

あなたのリモートマシン(例:295.13.12.53)はあなたのターゲットリモートマシン(これはmysqlサーバを実行します)にアクセスできます。

ssh -f -L 295.13.12.53:3306:10.18.81.36:3306 [email protected]

説明:

ssh -f -L your_ssh_mashine_ipaddress:your_ssh_mashine_local_port:target_ipaddress:target_port [email protected]_ip_address -N

your_ssh_mashine_ipaddress - これはローカルIPアドレスではありません。この例では、ssh先のIPアドレスです。295.13.12.53

your_ssh_mashine_local_port - これは22ではなくカスタムポートです。この例では3306です。

target_ipaddress - DBをダンプしようとしているマシンのIP。

target_port - 3306これはMySQLサーバーの実際のポートです。

user @ your_ip_address - これはあなたが接続したsshマシンのssh認証情報です

これがすべて終わったら、次にあなたのマシンに戻ってこれを行います。

mysqldump -h 295.13.12.53 -P 3306 -u username -p db_name > dumped_db.sql

パスワードを要求し、あなたのパスワードを入れればあなたはつながります。お役に立てれば。

0
violentr

これを試して、その働き:

mysql -h {ホスト名} -u {ユーザー名} -p {パスワード} -N -e "{実行するクエリ}"

0
ravi teja