Ubuntu를 사용하여 원격 MySQL 서버에 연결하는 다양한 방법

Mehvish Ashiq 2024년2월15일
  1. Ubuntu를 사용하여 원격 MySQL 서버에 연결하는 다양한 방법
  2. 데이터 조작을 위해 Ubuntu 20.04 클라이언트 시스템에서 Ubuntu 20.04 서버 시스템으로 연결
  3. Ubuntu 20.04 클라이언트 시스템에서 Ubuntu 20.04 서버 시스템으로 연결하여 서버 시작, 중지 및 다시 시작
Ubuntu를 사용하여 원격 MySQL 서버에 연결하는 다양한 방법

오늘은 Ubuntu를 사용하여 원격 MySQL 서버에 연결하여 데이터를 조작하고 MySQL 서버를 시작 및 중지하는 방법에 대해 알아보겠습니다.

Ubuntu를 사용하여 원격 MySQL 서버에 연결하는 다양한 방법

  1. 데이터 조작을 위해 Ubuntu 20.04 클라이언트 시스템에서 Ubuntu 20.04 서버 시스템으로
  2. 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에 주석을 다는 대신 다음을 수행할 수 있습니다.

  1. bind-address 값을 127.0.0.1에서 0.0.0.0으로 변경할 수 있습니다.
  2. bind-address 옵션이 없으면 skip-networkingskip-bind-address로 작성할 수 있습니다.

우분투에서 우분투 주석 바인드 주소를 사용하여 원격 mysql 서버에 연결하는 다양한 방법

다음 옵션을 사용하여 vim 텍스트 편집기를 사용하여 구성 파일을 편집하고 저장할 수 있습니다.

  1. I를 눌러 파일을 편집합니다.
  2. Esc를 눌러 편집 모드를 종료합니다.
  3. Esc를 누르고 :w를 입력한 다음 Enter를 눌러 파일을 저장합니다.
  4. Esc를 누르고 :q를 입력한 다음 Enter를 눌러 파일을 종료합니다.
  5. Esc를 누르고 :wq를 입력한 다음 Enter를 눌러 한 번에 파일을 저장하고 종료합니다.
  6. 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;

출력:

우분투를 사용하여 원격 mysql 서버를 연결하는 다양한 방법 - 우분투의 사용자 호스트

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 사용자의 호스트는 %이며 이는 우리가 루트 계정에 원격으로 연결할 수 있음을 보여줍니다.

우분투를 사용하여 원격 mysql 서버에 연결하는 다양한 방법 - 우분투에서 원격 액세스 권한이 있는 루트

이제 다음 쿼리를 사용하여 데이터 읽기/쓰기를 사용하여 로컬 컴퓨터에서 root 사용자를 연결할 수 있습니다.

$ mysql -h 192.168.56.102 -u root -p ******

MySQL 서버를 시작, 중지 및 다시 시작하려면 어떻게 해야 합니까? 이를 위해서는 MySQL 서버의 셸에 있어야 합니다. 즉, 시스템에서 서버의 셸을 여는 방식으로 연결해야 합니다.

어떻게 할 수 있습니까? 다음 장을 보자.

Ubuntu 20.04 클라이언트 시스템에서 Ubuntu 20.04 서버 시스템으로 연결하여 서버 시작, 중지 및 다시 시작

보안 쉘(보안 소켓 쉘이라고도 함)을 사용하여 원격 서버에 연결하려면 주어진 단계를 따라야 합니다.

  1. ssh를 설치하여 Ubuntu Machine에서 호스팅되는 MySQL 서버에 대한 셸 액세스 권한을 얻습니다.

  2. 이제 ssh 구성. 그런 다음 호스트 시스템(로컬 시스템)에서 터미널을 열고 올바른 자격 증명을 작성하여 원격 서버에 연결합니다.

    상황에 따라 다음 중 하나를 사용할 수 있습니다.

    2.1. ssh remote_host 명령을 사용합니다. 원격 및 로컬 시스템에 동일한 사용자 이름이 있을 때 가장 간단하고 사용됩니다.
    2.2. 사용자 이름이 로컬 시스템과 비교하여 원격 시스템에서 다른 경우 ssh remote_username@remote_host를 사용하십시오. 이렇게 하면 서버 시스템의 셸에 액세스할 수 있습니다.

  3. 다음 명령을 사용하여 요구 사항에 따라 작동할 수 있습니다.

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
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

관련 문장 - MySQL Linux