터미널(ssh)을 통해 fortrabbit mysql db에 액세스할 수 없습니다.
-
21-12-2019 - |
문제
Fortrabbit의 터미널을 통해 mysql에 액세스할 수 없습니다.모든 단계를 수행했지만 비밀번호가 거부되었습니다.그러나 SSH를 통해 일반 로그인을 하고 애플리케이션을 편집할 수 있습니다.누구든지 그 문제가 있었나요?감사해요.
해결책
나는 과거에 이것을 사용하여 이것을 해결했습니다. SSH 터널.서버에 대한 SSH 터널을 연 다음 해당 터널의 끝점에서 MySQL 서버에 연결합니다.따라서 MySQL에는 로컬로 연결되는 것처럼 보입니다.
터미널에서:
먼저 터널을 열어야 합니다. 다음과 같이 할 수 있습니다.
ssh -N -L8889:127.0.0.1:3306 username@your.fortrabbit.domain.com &
이렇게 하면 포트 8889가 열리고 다음으로 터널이 열립니다. your.fortrabbit.domain.com
, 그런 다음 해당 로컬 포트를 전달합니다. ~을 통해 IP 127.0.0.1 및 포트 3306에 대한 터널 상대적인 서버에 your.fortrabbit.domain.com
.
자세한 옵션은 다음과 같습니다.
-N
:원격 명령을 실행하지 마십시오.
-L
:포트(로컬 및 원격)를 지정합니다.
8889
:전달되는 로컬 포트입니다.
127.0.0.1
:SSH가 연결하는 서버를 기준으로 전달하려는 원격 IP
3306
:전달하려는 원격 포트.
username@your.fortrabbit.domain.com
:fortrabbit의 사용자 이름과 도메인입니다.
이제 연결을 열 준비가 되었습니다.동일한 터미널에서 다음 명령을 사용합니다.
mysql -h 127.0.0.1 -P 8889 -u mysql-username -p
포트 8889는 이제 fortrabbit 측 MySQL 서버의 포트와 IP로 전달되고 있으므로 그냥 바꾸십시오. mysql-username
mysql 서버에 사용자 이름을 입력하면 연결됩니다!
GUI에서:
귀하의 의견에서 Ubuntu를 사용하고 있다고 언급하셨으므로 소프트웨어 센터에서 MySQL Workbench를 설치하거나 여기, 생성 New Connection
연결 유형을 "로 선택하십시오.Standard TCP/IP over SSH
".
다음을 구성해야 합니다.
SSH Hostname
:fortrabbit을 사용하여 SSH 계정의 호스트 이름 또는 IP
SSH Username
:당신의 사용자 이름은 그들과 함께
SSH Password
:당신의 비밀번호는 그들과 함께
SSH Keyfile
:인증에 키를 사용하는 경우 여기에서 개인 키를 선택하세요.
MySQL Hostname
:127.0.0.1(터널 끝점에 로컬이기 때문입니다.
MySQL Server Port
:일반적으로 "3306"입니다.
Username
:DB의 사용자 이름
Password
:DB의 비밀번호
Default Schema
:이 DB의 기본 스키마는 무엇이든 됩니다(비워둘 수 있음).
그러면 당신이 어디에 있든 연결될 것입니다!