What is MySQL? | How to Create Database and Tables in MySQL | MySQL Tutorial For Beginners | Edureka
차례:
기본적으로 MySQL 서버는 로컬 호스트에서만 연결을 수신하므로 동일한 호스트에서 실행되는 응용 프로그램에서만 액세스 할 수 있습니다.
그러나 일부 상황에서는 원격 위치에서 MySQL 서버에 액세스해야합니다. 예를 들어 로컬 시스템에서 원격 MySQL 서버에 연결하거나 응용 프로그램이 데이터베이스 서버와 다른 컴퓨터에서 실행되는 다중 서버 배포를 사용하는 경우. 한 가지 옵션은 SSH 터널을 통해 MySQL 서버에 액세스하는 것이고 다른 하나는 원격 연결을 허용하도록 MySQL 서버를 구성하는 것입니다.
이 가이드에서는 MySQL 서버에 대한 원격 연결을 허용하는 데 필요한 단계를 진행합니다. MariaDB에도 동일한 지침이 적용됩니다.
MySQL 서버 구성
첫 번째 단계는 MySQL 서버가 머신의 특정 IP 주소 또는 모든 IP 주소를 수신하도록 설정하는 것입니다.
MySQL 서버와 클라이언트가 개인 네트워크를 통해 서로 통신 할 수있는 경우 가장 좋은 방법은 MySQL 서버가 개인 IP에서만 수신하도록 설정하는 것입니다. 그렇지 않으면 공용 네트워크를 통해 서버에 연결하려면 MySQL 서버를 설정하여 머신의 모든 IP 주소를 수신하십시오.
이렇게하려면 MySQL 구성 파일을 편집하고
bind-address
옵션의 값을 추가하거나 변경해야합니다. 단일 IP 주소 및 IP 범위를 설정할 수 있습니다. 주소가
0.0.0.0
이면 MySQL 서버는 모든 호스트 IPv4 인터페이스의 연결을 수락합니다. 시스템에 IPv6을 구성한 경우
0.0.0.0
대신
::
사용하십시오.
MySQL 구성 파일의 위치는 배포판에 따라 다릅니다. 우분투와 데비안에서 파일은
/etc/mysql/mysql.conf.d/mysqld.cnf
에 있고 CentOS와 같은 Red Hat 기반 배포에서는 파일이
/etc/my.cnf
있습니다.
텍스트 편집기로 파일을여십시오.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address
시작하는 행을 검색하고 해당 값을 MySQL 서버가 청취해야하는 IP 주소로 설정하십시오.
기본적
127.0.0.1
값은
127.0.0.1
로 설정되어 있습니다 (localhost에서만 나타남).
이 예에서는 값을
0.0.0.0
으로 변경하여 모든 IPv4 인터페이스에서 수신하도록 MySQL 서버를 설정
0.0.0.0
bind-address = 0.0.0.0 # skip-networking
skip-networking
포함하는 행이 있으면 해당 행의 시작 부분에
#
을 추가하여 삭제하거나 주석 처리하십시오.
MySQL 8.0 이상에서는
bind-address
지시문이 없을 수 있습니다. 이 경우에는
부분.
완료되면 MySQL 서비스를 다시 시작하여 변경 사항을 적용하십시오. sudo 권한을 가진 루트 또는 사용자 만 서비스를 다시 시작할 수 있습니다.
데비안 또는 우분투에서 MySQL 서비스를 다시 시작하려면 다음을 입력하십시오.
sudo systemctl restart mysql
CentOS와 같은 RedHat 기반 배포에서 서비스 실행을 다시 시작하십시오.
원격 컴퓨터에서 사용자에게 액세스 권한 부여
다음 단계는 원격 사용자에게 데이터베이스에 대한 액세스를 허용하는 것입니다.
다음을 입력하여 MySQL 서버에 루트 사용자로 로그인하십시오.
sudo mysql
mysql -uroot -p
MySQL 셸 내부에서
GRANT
문을 사용하여 원격 사용자에게 액세스 권한을 부여하십시오.
GRANT ALL ON database_name.* TO user_name@'ip_address' IDENTIFIED BY 'user_password';
어디:
-
database_name
은 사용자가 연결할 데이터베이스의 이름입니다.user_name
은 MySQL 사용자의 이름입니다.ip_address
는 사용자가 연결할 IP 주소입니다. 사용자가 모든 IP 주소에서 연결할 수있게하려면%
를 사용하십시오.user_password
는 사용자 비밀번호입니다.
예를 들어 IP가
10.8.0.5
인 클라이언트 시스템에서 비밀번호가
my_passwd
인
foo
라는 사용자에게 데이터베이스
dbname
에 대한 액세스 권한을 부여하려면 다음을 실행하십시오.
GRANT ALL ON dbname.* TO foo@'10.8.0.5' IDENTIFIED BY 'my_passwd';
방화벽 구성
마지막 단계는 원격 시스템에서 포트
3306
(MySQL 기본 포트)의 트래픽을 허용하도록 방화벽을 구성하는 것입니다.
IP 테이블
sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
특정 IP 주소에서의 액세스를 허용하십시오.
sudo iptables -A INPUT -s 10.8.0.5 -p tcp --destination-port 3306 -j ACCEPT
UFW
UFW는 우분투의 기본 방화벽 도구입니다. 인터넷의 모든 IP 주소 (매우 안전하지 않은)에서 액세스를 허용하려면 다음을 실행하십시오.
sudo ufw allow 3306/tcp
특정 IP 주소에서의 액세스를 허용하십시오.
sudo ufw allow from 10.8.0.5 to any port 3306
방화벽
FirewallD는 CentOS의 기본 방화벽 관리 도구입니다. 인터넷의 모든 IP 주소 (매우 안전하지 않은)에서 액세스를 허용하려면 다음을 수행하십시오.
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
특정 포트의 특정 IP 주소에서 액세스 할 수 있도록 새 FirewallD 영역을 만들거나 풍부한 규칙을 사용할 수 있습니다.
mysqlzone
이라는 새 영역을
mysqlzone
.
sudo firewall-cmd --new-zone=mysqlzone --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlzone --add-source=10.8.0.5/32
sudo firewall-cmd --permanent --zone=mysqlzone --add-port=3306/tcp
sudo firewall-cmd --reload
변경 사항 확인
원격 사용자가 MySQL 서버에 연결할 수 있는지 확인하려면 다음 명령을 실행하십시오.
mysql -u user_name -h mysql_server_ip -p
여기서
user_name
은 액세스 권한을 부여한 사용자 이름이고
mysql_server_ip
는 MySQL 서버가 실행되는 호스트의 IP 주소입니다.
모든 것이 올바르게 설정되면 원격 MySQL 서버에 로그인 할 수 있습니다.
ERROR 2003 (HY000): Can't connect to MySQL server on '10.8.0.5' (111)"
아래 오류는 로그인하려는 사용자에게 원격 MySQL 서버에 액세스 할 수있는 권한이 없음을 나타냅니다.
"ERROR 1130 (HY000): Host '10.8.0.5' is not allowed to connect to this MySQL server"
결론
기본적으로 가장 널리 사용되는 오픈 소스 데이터베이스 서버 인 MySQL은 localhost에서만 들어오는 연결을 수신합니다.
MySQL 서버에 대한 원격 연결을 허용하려면 다음 단계를 수행해야합니다.
- 모든 또는 특정 인터페이스에서 수신하도록 MySQL 서버를 구성합니다. 원격 사용자에게 액세스 권한을 부여합니다. 방화벽에서 MySQL 포트를 엽니 다.
불법 감시를 주장하는 일부 소송에서 운송인이 면제를받을 수 있도록 허용하는 미국 법률은 위헌이다. 미국 샌프란시스코 연방 지방 법원에 제출 된 한 전자 민간 재단 (Electronic Frontier Foundation)은 "통신 회사가 불법적 인 정부 감시를 이유로 소송에서 면책권을 부여받을 수 있도록 허용하는 미국의 법은 위헌이다" 미국 시민 자유 연맹 (FAA)의 현지 계열사들은 FISA 수정안 (FAA) 개정안이 미국 정부의 권력 분열을 대통령, 국회의원 및 법원에 위배한다고 주장했다. FAA는 국가 보안에 대한 특정 종류의 감시를 승인하기 위해 비밀 법원에 제공하는 외부 정보 감시 법 (Foreign Intelligence Surveillance Act)의 연장입니다. 부시 행정부가 AT & T의 도움을 받아 불법적이고 영장없는 도청 프로그램을 진행하고 있다고 주장하면서 EFF는 2006 년 AT & T를 상대로 소송을 제기했다. 이 소송은 EFF가 프라이

Michael Mukasey 법무 장관은 지난달 공개 및 비밀 인증서를 모두 제출했으며 부시 행정부는 Walker 판사에게 소송을 기각하도록 요청했다. EFF와 ACLU 계열사는 소송에서 다른 당사자들과 함께 목요일에 사건을 살아있게하기 위해 간략히 제출했다. 12 월 2 일 청문회 후 Bankston은 Walker 판사가 소송을 기각 할 것인지를 적시에 결정할 것으로 기대합니다. Bankston은 법무 장관에게이 인증을 발급 할 권한을 부여함으로써 그를 판사와 배심원으로 바꿀 수 있다고 Bankston은 덧붙였다. 불법 감시에 대한 혐의로 AT & T가 소송을 제기 할 수 있는지 여부를 결정하는 것은 의회 나 행정부가 아닌 법원의 임무라고 그는 덧붙였다. "면책 특권을 주장하는 법무 장관 앤 브릭 (Ann Brick) EFF 직원은 준비된 성명서를 통해 밝혔다.
오라클과 썬에 대한 이의 제기는 오라클이 데이터베이스 소프트웨어 시장을 공략 할 것으로 전망했기 때문에 월요일 늦게 발표됐다. 오라클은 경쟁사 인 IBM과 Microsoft보다 앞서 데이터베이스 시장에서 가장 큰 업체입니다. 썬과의 거래는 오픈 소스 데이터베이스 툴인 썬의 MySQL을 통해 모든 시장 점유율을 뺏어 간다. "

"MySQL이 오픈 소스 임에도 불구하고 오라클은 MySQL 코드에 대한 독점권을 보유하게 될 것이며, 조나단 토드 (Jonathan Todd)는 경쟁 관계에 관한위원회의 대변인은 화요일에 말했다 : "오라클은 독점적 인 데이터베이스 벤더이지만 MySQL은 선도적 인 오픈 소스 벤더이며, 오라클은 지난 월요일 발표 한 이의 제기에 대해 "이번 거래가 데이터베이스 시장을 포함 해 경쟁을 최소화 할 것이라고 위협하지 않는다"고 주장했다.
서버에 유튜브 안드로이드 연결을 해결하는 방법 오류를 잃었습니다.

서버 연결이 끊어 졌다는 YouTube Android 오류를 수정하는 단계는 여기를 터치하여 다시 시도하십시오.