MariaDB/README

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기


MariaDB



제한 사항



MariaDB 설치


<code class="bash">#--- MariaDB 설치
# yum  -y  install  mariadb  mariadb-server
yum  -y  install  mariadb103  mariadb103-server  mariadb103-backup
# yum  -y  install  mariadb103-server-galera

systemctl  enable   mariadb.service
systemctl  restart  mariadb.service

mysql_secure_installation

vi   /etc/my.cnf
    [mysqld]
    #--- Charset Setting
    init_connect="SET collation_connection=utf8_general_ci"
    init_connect="SET NAMES utf8"
    character-set-server=utf8
    collation-server=utf8_general_ci
    skip-character-set-client-handshake
    innodb_log_file_size=5M

    #--- InnoDB Setting
    default-storage-engine=InnoDB
    innodb_file_per_table=1

    #--- binlog setting
    log-bin=/var/lib/mysql/binlog
    max_binlog_size=1G                  #--- 로그 파일 하나당 크기
    # expire_log_days=30                  #--- 30일간 보관

vi  /etc/my.cnf.d/client.cnf
    [client]
    default-character-set=utf8

    [client-mariadb]
    default-character-set=utf8

vi  /etc/my.cnf.d/mysql-clients.cnf
    [mysql]
    default-character-set=utf8

    [mysqldump]
    default-character-set=utf8

systemctl  restart  mariadb.service

mysql  -uroot  -p${PASSWD}  mysql  -e  "show variables like 'c%'"
mysql  -uroot  -p${PASSWD}  mysql  -e  "show variables like 'log_bin'"
mysql  -V


#--- 방화벽 설정
firewall-cmd  --permanent  --add-service=mysql
firewall-cmd  --reload
firewall-cmd  --list-all</code>


Monitoring

<code class="mariadb">-- scadadb 데이터베이스에 포함된 테이블별 크기

SELECT TABLE_NAME, round(((data_length + index_length) / 1024 / 1024), 2) "MB"

 FROM information_schema.TABLES
WHERE table_schema = "scadadb"
ORDER BY (data_length + index_length) DESC;

-- scadadb 데이터베이스에 포함된 테이블별 레코드 수 SELECT TABLE_NAME, TABLE_ROWS

 FROM information_schema.TABLES
WHERE table_schema = "scadadb"
ORDER BY TABLE_ROWS DESC;</code>



Connection 갯수 설정

<code class="bash">#--- 최대 접속 수 확인과 Online 설정
mysql  -uroot  -p비밀번호  mysql
    #--- open_files_limit >= 10 + max_connections + table_cache_size * 2
    #---     open_files_limit가 1024이고 table_cache_size가 400인 경우 
    #---     최대 214 max_connections이 가능
    show  variables  like  'open_files_limit';
    show  variables  like  'table_open_cache';

    show  variables  like  'max_connections';
    set  global  max_connections=256;          #--- Online에서 최대 접속 수 설정
    exit;

#--- 설정 파일에서 최대 접속 수 설정
vi  /etc/my.cnf.d/server.cnf
    [mysqld]
    max_connections = 256

#--- open_files_limit 수정 방법
ulimit -a | grep 'open files'

vi  /etc/security/limits.conf
    *            soft    nofile          65536
    *            hard    nofile          65536

vi  /lib/systemd/system/mariadb.service
    [Service]
    LimitNOFILE=4096
systemctl daemon-reload
systemctl mariadb restart</code>


참고 문헌


참조 : MariaDB/README