답변:
포트에서 리스너를 찾으려면 다음과 같이하십시오.
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
모든 세부 사항에 대해 루트로 사용하십시오. 이 -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
) 에 텔넷을 시도했지만 작동하지 않습니다.
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 00 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에는 두 가지 옵션이 있습니다. netstat
또는lsof
를 사용 netstat
하면 Mac OS X에서 프로세스가 표시되지 않으므로 netstat를 사용하면 포트로만 검색 할 수 있습니다.
를 사용 lsof
하면 프로세스 이름이 표시됩니다.
포트 충돌 (도커 컨테이너)이 발생했을 때 다음을 수행했습니다.
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)