Ubuntu에서 MySQL에 대한 원격 액세스를 설정하는 방법

PHPz
풀어 주다: 2023-04-20 13:44:06
원래의
2355명이 탐색했습니다.

MySQL은 서버에서 로컬 또는 원격으로 액세스할 수 있고 웹 애플리케이션을 개발하는 데 자주 사용되는 널리 사용되는 데이터베이스 관리 시스템입니다. 그러나 때로는 다른 시스템에서 MySQL에 원격으로 액세스해야 하므로 MySQL을 올바르게 구성해야 합니다. 이 기사에서는 Ubuntu 18.04 운영 체제에서 MySQL에 대한 원격 액세스를 설정하는 방법을 소개합니다.

1단계: MySQL에 원격 액세스가 활성화되어 있는지 확인

구성을 시작하기 전에 MySQL에 원격 액세스가 활성화되어 있는지 확인해야 합니다. 먼저 MySQL 서버에 로그인하여 원격 액세스가 활성화되어 있는지 확인해야 합니다. 터미널을 열고 다음 명령을 입력하세요:

sudo mysql -u root -p
로그인 후 복사

이 명령은 MySQL에 루트 사용자로 로그인합니다. 이 명령을 입력하면 비밀번호를 묻는 메시지가 나타납니다. 올바른 비밀번호를 입력하면 MySQL 서버의 명령줄 인터페이스에 액세스할 수 있는 MySQL 쉘로 들어가게 됩니다. 원격 액세스가 활성화되어 있는지 확인하려면 MySQL 셸에서 다음 명령을 입력해야 합니다.

SELECT user,authentication_string,host FROM mysql.user;
로그인 후 복사

원격 액세스가 활성화된 경우 다음 출력이 표시됩니다.

+------------------+-------------------------------+-----------+
| user             | authentication_string         | host      |
+------------------+-------------------------------+-----------+
| root             | *E0AAECBBB187B27AAF667AEC86667 | localhost |
| root             | *E0AAECBBB187B27AAF667AEC86667 | %         |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHAT | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHAT | localhost |
| debian-sys-maint | *456D0C7680DF288F66F7401EABC4B | localhost |
+------------------+-------------------------------+-----------+
로그인 후 복사

여기서 "%"는 MySQL이 모든 것을 허용한다는 의미입니다. 호스트 사용자 액세스. 이 출력이 표시되면 MySQL은 원격 액세스가 활성화된 것입니다.

위 출력이 표시되지 않거나 위 출력과 다른 출력이 표시되면 MySQL에 원격 액세스가 활성화되어 있지 않다는 의미입니다. 이 경우 원격 액세스를 허용하도록 MySQL을 구성해야 합니다.

2단계: MySQL용 새 원격 액세스 계정 설정

원격 액세스를 활성화하기 전에 MySQL용 새 원격 액세스 계정을 만들어야 합니다. 그 이유는 MySQL에서는 기본적으로 루트 사용자만 로컬로 서버에 액세스할 수 있도록 허용하고, 다른 사용자는 액세스하려면 공개 인증을 사용해야 하기 때문입니다.

새 원격 액세스 계정을 설정하려면 MySQL 셸에서 다음 명령을 실행해야 합니다.

CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
로그인 후 복사

이 명령은 "newuser"라는 새 사용자를 생성하고 모든 액세스 권한을 할당합니다. "%"는 사용자가 모든 호스트에서 MySQL 서버에 액세스할 수 있음을 의미합니다. 특정 IP 주소나 호스트 이름을 사용하여 허용된 호스트를 지정할 수도 있습니다. 예를 들어, "newuser"@"10.0.0.2"는 IP 주소가 "10.0.0.2"인 호스트에서만 MySQL 서버에 대한 액세스가 허용된다는 의미입니다.

3단계: MySQL 트래픽을 허용하도록 방화벽 구성

일반적으로 MySQL 서버는 방화벽으로 보호될 수 있습니다. MySQL 서버에 대한 원격 액세스를 허용하려면 방화벽에서 MySQL 포트를 열어야 합니다(기본값은 3306). 이를 위해서는 다음 명령을 입력해야 합니다:

sudo ufw allow 3306/tcp
로그인 후 복사

이 명령은 "3306"이라는 포트를 열어 TCP 트래픽이 방화벽을 통과할 수 있도록 합니다. 그러나 이 단계를 진행하기 전에 방화벽이 설치되어 있고 활성화되어 있는지 확인해야 합니다.

4단계: MySQL 구성 파일 업데이트

MySQL 서버에 대한 원격 로그인을 허용하려면 MySQL 구성 파일에서 이를 설정해야 합니다. 기본적으로 MySQL 구성 파일은 "/etc/mysql/mysql.conf.d/mysqld.cnf"에 있습니다. 관리자 권한으로 파일을 열고 다음과 같이 몇 가지 값을 편집해야 합니다.

bind-address = 0.0.0.0
로그인 후 복사

위 명령을 사용하면 MySQL 서버가 모든 IP 주소의 연결 요청을 수락할 수 있습니다. MySQL 서버가 무단 액세스에 취약해지기 때문에 이는 안전하지 않을 수 있습니다. MySQL에 대한 원격 액세스를 더욱 안전하게 만들려면 액세스를 허용하는 IP 주소 또는 CIDR 범위를 지정해야 합니다.

5단계: MySQL 서버 다시 시작

MySQL 구성 파일을 수정한 후 변경 사항을 적용하려면 MySQL 서버를 다시 시작해야 합니다. MySQL을 다시 시작하려면 다음 명령을 사용할 수 있습니다.

sudo systemctl restart mysql
로그인 후 복사

다음 출력이 표시되면 MySQL 서버가 성공적으로 다시 시작되었음을 의미합니다.

mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-01-21 15:40:22 EST; 17s ago
로그인 후 복사

이 시점에서 MySQL 서버에 대한 원격 액세스가 성공적으로 설정되었습니다. .

결론

MySQL은 서버에서 로컬 또는 원격으로 액세스할 수 있는 강력한 데이터베이스 관리 시스템입니다. 이 기사에서는 Ubuntu 18.04 운영 체제에서 MySQL에 대한 원격 액세스를 설정하는 방법을 설명합니다. 위의 단계를 수행하면 서로 다른 시스템 간에 MySQL 원격 액세스를 쉽게 수행할 수 있습니다. 하지만 보안에 주의를 기울이고 MySQL 서버를 무단 액세스로부터 보호해야 한다는 점에 유의하세요.

위 내용은 Ubuntu에서 MySQL에 대한 원격 액세스를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!