How to use mariaDB in CentOS 7
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
하여 재설치 해보도록 한다.