回答:
ポート上のリスナーを見つけるには、次のようにします。
netstat -tln
mysqlが実際にそのポートでリッスンしている場合は、次のような行が表示されます。
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
ポート3306はMySqlのデフォルトポートです。
接続するには、基本的なmysqlクライアントなど、必要なクライアントを使用するだけです。
mysql -h localhost -uユーザーデータベース
または、ライブラリコードによって解釈されるURL。
-p
パラメーターを参照する@bortunacの回答とマージする必要があります。プロセスを追加すると、この情報がさらに役立ちます。
man netstat
。
Mysqlクライアントの使用:
mysql> SHOW GLOBAL VARIABLES LIKE 'PORT';
netstat -tlpn
以下のようなリストが表示されます。
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1393/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1859/master
tcp 0 0 123.189.192.64:7654 0.0.0.0:* LISTEN 2463/monit
tcp 0 0 127.0.0.1:24135 0.0.0.0:* LISTEN 21450/memcached
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 16781/mysqld
すべての詳細についてrootとして使用します。-t
オプションでは、TCPコネクションへの出力を制限-l
ポート、リスニングのための-p
リストのプログラム名と-n
番組ポートの数値バージョンの代わりに、名前のバージョンを。
このようにして、プロセス名とポートを確認できます。
両方のURLが正しくありません-である必要があります
jdbc:mysql://host:port/database
言うまでもありませんが、Javaでデータベースに接続するにはJDBCドライバーが必要です。MySQL JDBCドライバーが必要です。
おそらく、TCP / IP上のソケットを使用して接続できます。MySQLのドキュメントを確認してください。
http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.htmlを参照してください
更新:
MySQL(telnet ip 3306
)にtelnetで接続しようとしましたが、機能しません。
http://lists.mysql.com/win32/253
これはあなたが考えていたものだと思います。
一部の人にとってはより単純なアプローチ:MySQLが特定のポートにあるかどうかを確認するだけの場合は、ターミナルで次のコマンドを使用できます。Macでテスト済み。3306がデフォルトのポートです。
mysql --host=127.0.0.1 --port=3306
MySQLシェルターミナルへのログインに成功したら、問題ありません。これは、ログインが成功したときに得られる出力です。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9559
Server version: 5.6.21 Homebrew
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
3306はmysqlのデフォルトのポートです。それを確認してください:
netstat -nl|grep 3306
それはこの結果を与えるはずです:
tcp 0 0 127.0.0.1:3306 0.0.0.0:*リッスン
私にとって、@ joseluisqの答えは次のとおりです。
エラー1045(28000):ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワードを使用:NO)
しかし、それはこのように機能しました:
$ mysql -u root@localhost -e "SHOW GLOBAL VARIABLES LIKE 'PORT';"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
Mac OS Xでは、2つのオプションがあります。 netstat
またはlsof
を使用netstat
してもMac OS Xでのプロセスは表示されません。したがって、netstatを使用すると、ポートでのみ検索できます。
を使用lsof
すると、プロセス名が表示されます。
ポートの競合(dockerコンテナー)が発生したため、次のことを行いました。
netstat -aln | grep 3306
出力:
tcp46 0 0 *.3306 *.* LISTEN
sudo lsof -i -P | grep -i "LISTEN" | grep -i 3306
出力:
mysqld 60608 _mysql 31u IPv6 0x2ebc4b8d88d9ec6b 0t0 TCP *:3306 (LISTEN)