How to use mariaDB in CentOS 7

1 minute read

MariaDB CentOS 7에 설치 및 사용하기

CentOS 7에 mariaDB 설치

1. yum 이용해 서버 및 클라이언트 설치

$ sudo yum install mariadb mariadb-server



2. 설정 변경

$ sudo vim /usr/share/mysql/my-medium.cnf
  • ‘[client]’ 위치에 default-character-set = utf8 추가하기
  • ‘[mysqld]’ 위치에 init_connect="SET collation_connection = utf8_general_ci" init_connect="SET NAMES utf8" default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci 추가하기
  • ‘[mysqldump]’, ‘[mysql]’ 위치에 default-character-set = utf8 추가하기

** 설정 확인 방법

MariaDB > show variables like 'c%';

이때, 결과에 ‘utf8’이 아닌 ‘latin1’이 있다면 다음을 참조한다.

MariaDB > set session  = utf8;

=> 나의 경우, set session character_set_server = utf8;을 입력하였다. collation_* 의 경우, utf8_general_ci로 바꾸어줘야 한다.



3. mariadb server start

$ service mariadb start

AUTHENTICATING FOR... 여기서는 현재 local에서의 패스워드를 입력한다. AUTHENTICATION COMPLETE 이 뜨면 성공!



4. 초기 패스워드 변경

$ sudo mysql_secure_installation

‘Enter current password for root (enter for none) :’ 이렇게 뜨면 그냥 엔터를 친다. 그리고 패스워드를 설정하면 된다.



5. Done!!

$ mysql -u root -p

** mariadb 이지만, mysql을 입력한다는 것 주의!




mariaDB 원격 접속 허용

1. 사용자 호스트 추가

MariaDB > CREATE USER '[user_name]'@'[host_name]' IDENTIFIED BY '[password]';
Query OK, 0 rows affected (0.00 sec)

MariaDB > GRANT ALL PRIVILEGES ON *.* TO '[user_name]'@'[host_name]';
Query OK, 0 rows affected (0.00 sec)

MariaDB > FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

=> 대게 USER_NAME에 ‘root’를 쓰며, HOST_NAME은 나의 경우 ‘192.168.%’를 기입했다. %는 그 뒤로 어떠한 숫자가 와도 무방하다는 뜻과 같다.

$ service mariadb restart



2. CentOS 방화벽에서 3306 port 열어주기

check your firewall rules

$ sudo iptables -L --line-numbers
Chain INPUT (policy ACCEPT)
.............

modify your firewall rules

$ sudo iptables --insert INPUT [line_number] -p tcp --dport 3306 -j ACCEPT

=> iptables를 --line-numbers 옵션을 통해 방화벽 규칙들을 행번호가 출력되게 하였다.
Chain INPUT에서 가장 밑에 있는 REJECT 보다 위에 3306 포트를 ACCEPT하는 설정이 있어야 한다.
나의 경우 11번에 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited가 있었기 때문에
$ sudo iptables --insert INPUT 11 -p tcp --dport 3306 -j ACCEPT 를 삽입했고 (여기서 11이 11번 라인에 삽입한다는 의미이다. REJECT는 자연스럽게 12번으로 내려간다.) iptables를 재시작하면 끝!

$ sudo service iptables save
$ sudo service iptables restart

** 만약 위의 명령이 먹히지 않는다면, 혹시 iptables가 설치되지 않았는지 의심해야 된다.
$ sudo yum install iptables, $ sudo yum install iptables-services 하여 재설치 해보도록 한다.



3. HeidiSQL 같은 툴에서 접속이 가능하다면 성공한 것이다.

Categories:

Updated: