Ubuntu를 사용하여 원격 MySQL 서버에 연결하는 다양한 방법
- Ubuntu를 사용하여 원격 MySQL 서버에 연결하는 다양한 방법
- 데이터 조작을 위해 Ubuntu 20.04 클라이언트 시스템에서 Ubuntu 20.04 서버 시스템으로 연결
- Ubuntu 20.04 클라이언트 시스템에서 Ubuntu 20.04 서버 시스템으로 연결하여 서버 시작, 중지 및 다시 시작
오늘은 Ubuntu를 사용하여 원격 MySQL 서버에 연결하여 데이터를 조작하고 MySQL 서버를 시작 및 중지하는 방법에 대해 알아보겠습니다.
Ubuntu를 사용하여 원격 MySQL 서버에 연결하는 다양한 방법
- 데이터 조작을 위해 Ubuntu 20.04 클라이언트 시스템에서 Ubuntu 20.04 서버 시스템으로
- Ubuntu 20.04 클라이언트 시스템에서 Ubuntu 20.04 서버 시스템으로 MySQL 서버 중지/시작
데이터 조작을 위해 Ubuntu 20.04 클라이언트 시스템에서 Ubuntu 20.04 서버 시스템으로 연결
사용자 지정 사용자와 연결
여기서는 원격 MySQL 서버에 있는 사용자 지정 사용자를 연결하는 방법을 알아봅니다. 원격 MySQL 서버에 mehvish
라는 사용자를 생성하고 모든 권한을 부여했습니다.
mysql> CREATE USER "mehvish"@"%" IDENTIFIED BY "PASSWORD";
#here % sign shows that this user can be connected remotely
원격 MySQL 서버에 연결하려면 머신에 mysql-client
가 설치되어 있어야 합니다. Microsoft Windows 10에서는 MySQL 서버를 설치할 때 mysql-client
가 자동으로 설치됩니다.
클라이언트 컴퓨터에 MySQL을 설치하려면 이 문서를 따를 수 있습니다.
원격 연결을 하려면 MySQL 서버가 호스팅되는 호스트 시스템의 IP 주소, 사용자 이름 및 특정 사용자 계정의 암호가 필요합니다. 해당 IP 주소를 검색하려면 MySQL 서버가 있는 Ubuntu에서 ip a
또는 ifconfig
명령을 사용합니다.
IP 주소, 사용자 이름 및 암호를 알고 있으면 다음 명령을 사용하여 원격 MySQL 서버에 연결할 수 있습니다.
# Syntax
# mysql -h hostIP -u username -p password
$ mysql -h 192.168.56.102 -u mehvish -p ******
처음으로 원격 연결을 시도하면 다음과 같은 오류가 발생할 수 있습니다.
ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.2.15:3306' (10060)
이 오류를 제거하려면 MySQL 서버에서 구성 파일을 수정해야 합니다. vim
텍스트 편집기를 사용하여 구성 파일을 편집하지만 원하는 항목을 사용할 수 있습니다.
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
파일이 열리면 [mysqld]
섹션에서 bind-address
를 찾고 다음 스크린샷에 제공된 대로 이에 대해 설명합니다. bind-address
옵션에 대해 설명하는 이유는 무엇입니까?
MySQL 서버는 기본 동작으로 인해 원격 연결을 허용하지 않습니다. 그것은 단지 localhost
가 MySQL 서버와 연결되도록 합니다. 이것이 bind-address
에 주석을 달고 원격 클라이언트 시스템이 MySQL 서버와 연결을 설정하도록 허용하는 이유입니다.
또는 bind_address
에 주석을 다는 대신 다음을 수행할 수 있습니다.
bind-address
값을127.0.0.1
에서0.0.0.0
으로 변경할 수 있습니다.bind-address
옵션이 없으면skip-networking
및skip-bind-address
로 작성할 수 있습니다.
다음 옵션을 사용하여 vim
텍스트 편집기를 사용하여 구성 파일을 편집하고 저장할 수 있습니다.
- I를 눌러 파일을 편집합니다.
- Esc를 눌러 편집 모드를 종료합니다.
- Esc를 누르고
:w
를 입력한 다음 Enter를 눌러 파일을 저장합니다. - Esc를 누르고
:q
를 입력한 다음 Enter를 눌러 파일을 종료합니다. - Esc를 누르고
:wq
를 입력한 다음 Enter를 눌러 한 번에 파일을 저장하고 종료합니다. - Esc를 누르고
:q!
를 입력한 다음 Enter를 눌러 모든 변경 사항을 취소하고 파일을 종료합니다.
MySQL 서버가 호스팅되고 있는 머신에서 다음과 같이 서비스를 다시 시작해야 합니다.
$ sudo systemctl restart mysql
이제 다음 명령을 다시 사용하여 원격 MySQL 서버에 있는 mehvish
사용자 계정에 성공적으로 연결하십시오. 로컬 컴퓨터에서 다음 쿼리를 사용하고 있음을 기억하십시오.
$ mysql -h 192.168.56.102 -u mehvish -p ******
root
사용자와 연결
자세한 내용을 살펴보기 전에 root
사용자가 원격 연결을 수락하는지 확인하십시오. MySQL 서버가 호스팅되는 Ubuntu에서 다음 명령을 사용할 수 있습니다.
mysql> SELECT USER, HOST from mysql.user;
출력:
root
사용자는 localhost
에서만 연결할 수 있다는 것을 보셨습니까? 원격으로 연결하려면 다음 명령을 사용하여 원격 액세스 권한을 부여해야 합니다.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
mysql> UPDATE mysql.user SET host='%' WHERE user='root';
또한 다음 명령을 사용하여 MySQL 서버를 다시 시작합니다.
$ sudo systemctl restart mysql
이제 root
사용자가 원격 연결을 수락하는지 여부를 확인하십시오. 서버 머신에서 root
사용자의 호스트는 %
이며 이는 우리가 루트 계정에 원격으로 연결할 수 있음을 보여줍니다.
이제 다음 쿼리를 사용하여 데이터 읽기/쓰기를 사용하여 로컬 컴퓨터에서 root
사용자를 연결할 수 있습니다.
$ mysql -h 192.168.56.102 -u root -p ******
MySQL 서버를 시작, 중지 및 다시 시작하려면 어떻게 해야 합니까? 이를 위해서는 MySQL 서버의 셸에 있어야 합니다. 즉, 시스템에서 서버의 셸을 여는 방식으로 연결해야 합니다.
어떻게 할 수 있습니까? 다음 장을 보자.
Ubuntu 20.04 클라이언트 시스템에서 Ubuntu 20.04 서버 시스템으로 연결하여 서버 시작, 중지 및 다시 시작
보안 쉘(보안 소켓 쉘이라고도 함)을 사용하여 원격 서버에 연결하려면 주어진 단계를 따라야 합니다.
-
ssh
를 설치하여 Ubuntu Machine에서 호스팅되는 MySQL 서버에 대한 셸 액세스 권한을 얻습니다. -
이제
ssh
구성. 그런 다음 호스트 시스템(로컬 시스템)에서 터미널을 열고 올바른 자격 증명을 작성하여 원격 서버에 연결합니다.상황에 따라 다음 중 하나를 사용할 수 있습니다.
2.1.
ssh remote_host
명령을 사용합니다. 원격 및 로컬 시스템에 동일한 사용자 이름이 있을 때 가장 간단하고 사용됩니다.
2.2. 사용자 이름이 로컬 시스템과 비교하여 원격 시스템에서 다른 경우ssh remote_username@remote_host
를 사용하십시오. 이렇게 하면 서버 시스템의 셸에 액세스할 수 있습니다. -
다음 명령을 사용하여 요구 사항에 따라 작동할 수 있습니다.
MySQL 서버 시작:
$ sudo systemctl start mysql
MySQL 서버 중지:
$ sudo systemctl stop mysql
MySQL 서버를 다시 시작합니다.
$ sudo systemctl restart mysql
MySQL 서버의 상태 확인:
$ sudo systemctl status mysql
MySQL 서버 이름이 mysqld
로 지정되면 다음과 같이 명령을 사용해야 할 수 있습니다.
$ sudo /etc/init.d/mysql restart