오늘 간단히 MariaDB를 Ubuntu에 설치하고, 원격으로 접근하는 방법을 정리해 보았다.
1. Install MariaDB
가장 먼저 진행할 부분은 MariaDB를 설치하는 것이다.
설치 방법은 apt 명령을 이용하면 서비스 등록까지 간편하게 등록되어 설치를 마무리 할 수 있다.
$sudo apt update
$sudo apt install mariadb-server
이후 진행해야 하는 부분은 기본 보안 설정이다. MariaDB가 설치된 상황에서는 root 패스워드가 없다. root 패스워드를 설정하고, 기본적으로 권고하는 보안 설정등을 진행하는데 도움을 주는 mysql_secure_installation 를 실행하자.
2. Start default mariadb config for root and secure
$ sudo mysql_secure_installation
3. Change localhost to any network access
위 구성까지 완료하고 Database의 상태를 보면, 127.0.0.1로 구성되어 있어 원격에서 접근이 불가능하다 이를 /etc/mysql/my.cnf 를 수정하여 원격지에서 접근이 가능하도록 수정이 가능하다.
아래 내용을 my.cnf에 추가하여 파일을 저장하자.
sudo nano /etc/mysql/my.cnf
[mysqld]
skip-networking=0
skip-bind-address
그리고 다시 서비스를 재시작하고 netstat -nlp | grep 3306을 통해 확인해보면 네트워크 전체에서 접근이 가능하도록 변경되는 것을 확인할 수 있다.
sudo service mysql restart
netstat -nlp | grep 3306
4. Make SQL User and remote access by client
이제 Database에 계정을 만들어서 Database를 원격으로 사용하거나 관리하는 방법이다.
먼저 계정을 만들어야 한다. 계정은 기본적으로 특정 위치에서 접근이 가능하도록 하는 것이 좋다.
하여 접속하고자 하는 클라이언트(여기에서는 클라이언트를 HeidiSQL을 사용했다.)의 IP를 허용하는 방식으로 진행하자.
sudo mysql 콘솔을 열고, 먼저 현재 계정 상태를 확인해보자.
명령은 SELECT 명령을 통해 가능하다.
SELECT * FROM mysql.user;
또는
SELECT User FROM mysql.user;
그리고 계정을 생성하도록 하자.
CREATE USER 'jshan'@192.168.154.1 IDENTIFIED BY 'password1';
만약 IP를 제한하지 않고 허용해야 한다면, IP 대신 % 을 입력하면 된다.
현재 계정은 Database를 관리할 수 있는 권한이 없다. 따라서 PRIVILEGES 명령을 통해 Database 관리 권한을 줄 수 있다.
GRANT ALL PRIVILEGES ON *.* TO 'jshan'@192.168.154.1 IDENTIFIED BY 'password1';
만약 계정을 잘못 생성했다면, DROP 명령을 통해 계정을 삭제할 수 있다.
DROP USER 'jshan'@192.168.154.1;
이제 SQL 관리 클라이언트를 통해 접근하여 GUI를 통해서 편하게 관리가 가능하므로, 실제 사용 계정을 만들거나, 권한을 조정하고 Database등을 만들어 관리하기 바란다.
참고용 자료
https://phoenixnap.com/kb/how-to-create-mariadb-user-grant-privileges
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-18-04
https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/
'Linux' 카테고리의 다른 글
.Net/core - make service for auto-start when boot on Ubuntu (0) | 2020.11.12 |
---|---|
NGINX - File Upload, Error 413 Request Entity Too Large (0) | 2020.11.12 |
MariaDB - Specified key was too long (0) | 2020.11.06 |
ElasticSearch Size Management – Shards, logstash (0) | 2020.11.05 |
PART 1 INSTALL ELASTICSEARCH 6 CLUSTER FOR CENTRALIZED SYSLOG (0) | 2020.11.04 |