통합검색

Linux

[centOS] MariaDB 5.5 설치 후 기본 설정 (언어셋, MaxConnections 변경)

  • 2022.12.13 08:41:58
 


CentOS 7.5에 MariaDB  5.5 설치 후 기본 환경 셋팅 방법을 안내한다.
세부 설정 내용은 다루지 않고 있으며, MariaDB 서버 언어셋과 MaxConnections 조정 방법만 다룬다.


[!]MariaDB 현재 언어셋 확인[/!] 
MariaDB 최초 설치시 설정되어 있는 언어셋은 'latin'으로 되어있다.
타 MariaDB 로부터 마이그레이션 하게 되는 경우 언어셋이 상이하면 한글이 깨지는 문제가 발생 하므로
기존 DB서버와 동일한 언어셋으로 셋팅해야 한다(UTF-8)

언어셋 설정에 앞서 현재 MariaDB의 설정되어 있는 언어셋을 확인한다.
 
#mysql -u root -p

로 mysql에 접속한다.
 
MariaDB [(none)] > use mysql;

Mysql에 접속 되면 위와 같이 mysql DB를 선택한다.
 
MariaDB [mysql]> show variables like 'c%';

위 명령어로 현재 MariaDB 서버의 기본 언어셋을 확인한다.
출력되는 결과는 아래와 같다.
현재 내 MariaDB는 언어셋이 설정되어 있기 때문에 utf8로 출력되고 있으나, 초기 설정을 하지 않은 상황이라면 latin으로 노출될 것이다.




[!]MariaDB 기본 언어셋 변경[/!] 
현재 MariaDB 언어셋이 utf8이 아니라면 언어셋 변경을 수행한다.
mariaDB 설정파일들이 위치한 /etc/my.cnf.d/ 디렉토리 내의 각 설정파일을 열어 개별 수정해도 되지만,
/etc/my.cnf 파일에서 언어셋 설정 구문을 추가하여 한번에 설정할 수도 있다.
 
#vi /etc/my.cnf

vi 에디터로 my.cnf 설정 파일을 연다.
 
[client]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqldump]
default-character-set = utf8


...

[mysqld_safe]

my.cnf 내용 중 [mysqld_safe] 를 찾아 바로 위에 위 내용을 추가하고 저장한다.


[!]Max Connections (동시 접속자 수) 변경[/!] 
웹상에서 동시에 MariaDB에 Connection 할 수 있는 동시 접속자 수를 늘리기 위해 아래와 같이 설정한다.
Max Connection 수는 서버 사양에 맞게 적절한 수치로 설정한다.
 
#vi /etc/my.cnf

vi 에디터로 my.cnf 설정 파일을 연다.
 
[mysqld]

...

max_connections = 500
collation-server = utf8_unicode_ci
character-set-server = utf8
skip-character-set-client-handshake

[mysqld]를 찾아 바로 아래에 내용을 추가한다.
위 내용은 500 Connection 까지 허용시킨 예시다.


[!]root 패스워드 변경[/!] 
MariaDB의 최초 root 계정에는 패스워드가 설정되어 있지 않다.
즉, 외부에서 root 아이디를 패스워드 없이 접속 할 수가 있는 상태이기 때문에 반드시 root 계정에 패스워드를 설정해야 한다.
 
#mysql -u root -p

로 mysql에 접속한다.
 
MariaDB [(none)] > use mysql;

Mysql에 접속 되면 위와 같이 mysql DB를 선택한다.
 
MariaDB [(none)] > update user set password=password('원하는 패스워드') where user='root';

위와 같이 root 에게 패스워드를 부여한다.
 
MariaDB [(none)] > flush privileges;

바로 적용될 수 있도록 flush privileges 로 변경 내용을 업데이트 한다.



[!]root 아이디 외부 접속 허용[/!] 
root 아이디가 외부에서 접속 가능하도록 허용한다.
 
MariaDB [(none)] > grant all privileges on *.* to 'root'@'%' identified by ' root 비밀번호';



[!]특정 계정에 전역 권한 부여(root권한)[/!] 
root 아이디가 아닌, 다른 아이디에게 root와 동일한 전역권한을 부여하려는 경우
아래 명령어로 가능하다.
 
// localhost에서 접근하는 경우 권한 부여
MariaDB [(none)] > grant all privileges on *.* to 부여받을아이디@'localhost' with grant option;

// 외부에서도 권한 부여
MariaDB [(none)] > grant all privileges on *.* to 부여받을아이디@'%' with grant option;