CentOS7에 MariaDB를 설치하고 외부 호스트에서 연결하는 방법
하고 싶은 일
전제 조건
절차
1. CentOS7에 MariaDB 설치
MariaDB 설치
리포지토리 설정용 스크립트 다운로드 및 실행
버전을 지정하는 경우는
-s -- --mariadb-server-version=[バージョン]
를 말미에 추가$ curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
MariaDB 서버 · MariaDB 클라이언트 설치
$ yum install MariaDB-server MariaDB-client
mariadb.service
가 서비스에 추가되었는지 확인$ systemctl list-unit-files | grep maria
mariadb.service enabled
2. MariaDB 시작
MariaDB 서비스
mariadb.service
를 시작합니다.$ systemctl start mariadb
서비스 상태
Active: active (running)
확인$ systemctl status mariadb
● mariadb.service - MariaDB 10.3.10 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/mariadb.service.d
└─migrated-from-my.cnf-settings.conf
Active: active (running)
...
...
3. 로컬에서 MariaDB에 로그인
기본적으로 제공되는 루트 사용자로 로컬에서 MariaDB에 로그인합니다.
$ mysql -u root -h localhost
기본적으로 로그인 비밀번호는 설정되지 않습니다.
보안 향상을 위해 mysql_secure_installation을 실행하는 것이 좋습니다.
4. 외부 호스트용 MariaDB 사용자 생성
외부 호스트의 IP를 연결 소스 호스트로 지정하여 사용자를 만듭니다.
CREATE USER [ユーザ名]@[接続元ホスト] IDENTIFIED BY [パスワード];
샘플
-- ユーザ名 : user1
-- 接続元IP : 172.112.0.0 〜 172.112.0.255
-- パスワード : password
CREATE USER 'user1'@'172.112.0.%' IDENTIFIED BY 'password';
사용자에게 권한 부여
(건너뛰기 가능. 연결 확인은 기본 권한으로 가능합니다)
GRANT [権限種別] ON [データベース名].[テーブル名] TO [ユーザ名]@[接続元ホスト] [WITH オプション];
샘플
-- 権限種別 : ALL
-- 権限範囲 : 全てのデータベースの、全てのテーブル
GRANT ALL ON *.* TO 'user1'@'172.112.0.%';
ALL로 부여되는 권한에는 다음이 포함되지 않습니다. 필요에 따라 별도 부여
· 데이터베이스 레벨 · 글로벌 레벨 권한 (파일 조작 권한 등)
· GRANT OPTION 권한
사용자가 추가되었는지 확인
-- ユーザ名・接続元ホストを確認
SELECT User,Host FROM mysql.user;
-- 権限も含め全てのユーザ情報を確認
SELECT * FROM mysql.user;
5. 포트 3306 개방
MariaDB의 기본 포트 3306을 엽니다.
방화벽에 포트 3306 추가(영구 대응)
$ firewall-cmd --zone=public --add-port=3306/tcp --permanent
방화벽 서비스 재로드
$ firewall-cmd --reload
포트 3306이 방화벽에 추가되었는지 확인
$ firewall-cmd --list-ports
3306/tcp
6. 외부 호스트에서 MariaDB에 로그인
방금 만든 사용자로 외부 호스트에서 MariaDB에 로그인합니다.
$ mysql -u [ユーザ名] -h [MariaDBサーバのIP] -p
샘플
$ mysql -u user1 -h 172.112.0.201 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 5.5.5-10.3.10-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Welcome to the MySQL monitor. 라고 표시되면 연결 성공
참고문헌
MariaDB Package Repository Setup and Usage - MariaDB Knowledge Base
CREATE USER - MariaDB Knowledge Base
GRANT - MariaDB Knowledge Base
mysql_secure_installation - MariaDB Knowledge Base(en)
mysql_secure_installation - MariaDB Knowledge Base(ko)
curl option 기억
CentOS 7 firewalld 자주 사용하는 명령
Reference
이 문제에 관하여(CentOS7에 MariaDB를 설치하고 외부 호스트에서 연결하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/NoriIka/items/cccaf60eacee6fb6951b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)