[mysql] 커맨드 라인에서 mysql 원격 데이터베이스에 액세스

랙 공간이있는 서버가 있습니다. 로컬 컴퓨터 명령 줄에서 데이터베이스에 액세스하고 싶습니다.

나는 다음과 같이 시도했다 :

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

그러나 오류가 발생합니다.

오류 2003 (HY000) :

‘my.application.com’에서 MySQL 서버에 연결할 수 없음 (10061)

이 오류의 원인은 무엇이며 원격 데이터베이스에 어떻게 연결할 수 있습니까?



답변

원격 mysql 콘솔에 직접 로그인하려면 아래 명령을 사용하십시오.

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

예를 들어

mysql -u root -p'root' \
        -h 127.0.0.1 -P 3306 \
        -D local

설명서에 지정된 -p 뒤에 공백이 없습니다.

언급 된 데이터베이스로 전환하여 mysql 콘솔로 직접 이동합니다.

31-07-2019-편집 된 구문


답변

my.cnf 파일을 편집하십시오.

vi /etc/my.cnf:

다음을 확인하십시오.

bind-address=YOUR-SERVER-IP

그리고 줄이 있다면 :

skip-networking

댓글을 달아야합니다.

#skip-networking

다시 시작하는 것을 잊지 마십시오 :

/etc/init.d/mysqld restart


답변

간단히 우분투 터미널에 이것을 넣으십시오.

mysql -u username -h host -p

이제 Enter 키를 누르십시오

터미널은 암호를 묻고 암호를 입력하면 데이터베이스 서버에 있습니다.


답변

이 명령을 사용해보십시오 mysql -uuser -hhostname -PPORT -ppassword.

나는 비슷한 상황에 직면했고 나중에 호스트 용 mysql 포트가 명령으로 입력되었을 때 해결되었습니다.


답변

Mac의 경우 다음 명령을 사용하십시오.

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

메시지가 표시되면 암호를 입력하십시오.


답변

ssh 터널을 사용하지 않으려면 my.cnf 또는 mysqld.cnf 에서 Lan을 통해 액세스하려면 로컬 IP 주소 ( 192.168.1.100 )로 127.0.0.1 을 변경해야합니다 . 벨로우즈 예제 :

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

my.cnf 또는 mysqld.cnf 에서 바인드 주소 검색

bind-address            =  127.0.0.1

변경 127.0.0.1192.168.1.100 (로컬 IP 주소)

bind-address            =  192.168.1.100

변경 사항을 적용하려면 다음 명령을 사용하여 mysql 서버를 다시 시작해야합니다.

sudo /etc/init.d/mysql restart

LAN 액세스에 대한 사용자 루트 수정 (액세스하려는 원격 서버에서 쿼리의 벨로우즈 실행)

root@192.168.1.100:~$ 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;

그런 다음 연결할 수 있습니다.

nobus@xray:~$ mysql -h 192.168.1.100 -u root -p

우분투 18.04 서버에서 테스트


답변

  1. 시도하십시오 telnet 3306. 연결이 열리지 않으면 방화벽 설정이 있거나 서버가 수신 대기하지 않거나 작동하지 않는 것입니다.

  2. netstat -an서버가 실행 중인지 확인하기 위해 서버에서 실행 하십시오.

  3. 원격 연결을 허용하지 않을 수 있습니다.

    http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html을 참조 하십시오