https://www.jopenbusiness.com/mediawiki/index.php?title=MariaDB/README&feed=atom&action=history
MariaDB/README - 편집 역사
2024-03-28T09:37:53Z
이 문서의 편집 역사
MediaWiki 1.33.0
https://www.jopenbusiness.com/mediawiki/index.php?title=MariaDB/README&diff=767948&oldid=prev
Pnuskgh: "MariaDB/README" 문서를 보호했습니다 ([편집=관리자만 허용] (무기한) [이동=관리자만 허용] (무기한))
2020-02-03T08:43:12Z
<p>"<a href="/mediawiki/MariaDB/README" title="MariaDB/README">MariaDB/README</a>" 문서를 보호했습니다 ([편집=관리자만 허용] (무기한) [이동=관리자만 허용] (무기한))</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<tr class="diff-title" lang="ko">
<td colspan="1" style="background-color: #fff; color: #222; text-align: center;">← 이전 판</td>
<td colspan="1" style="background-color: #fff; color: #222; text-align: center;">2020년 2월 3일 (월) 08:43 판</td>
</tr><tr><td colspan="2" class="diff-notice" lang="ko"><div class="mw-diff-empty">(차이 없음)</div>
</td></tr></table>
Pnuskgh
https://www.jopenbusiness.com/mediawiki/index.php?title=MariaDB/README&diff=767947&oldid=prev
Pnuskgh: 새 문서: MariaDB
2020-02-03T08:42:39Z
<p>새 문서: MariaDB</p>
<p><b>새 문서</b></p><div><br/><h2 id="mariadb">MariaDB</h2><hr/><br/><h3 id="제한-사항">제한 사항</h3><ul><li><a href="https://dev.mysql.com/doc/refman/8.0/en/innodb-restrictions.html" target="_blank">https://dev.mysql.com/doc/refman/8.0/en/innodb-restrictions.html</a></li><li><a href="https://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html" target="_blank">https://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html</a></li><li>Table with InnoDB</li><li>Row with InnoDB<ul><li>최대 컬럼 갯수 : 1,017개</li><li>최대 레코드 크기 : Page Size의 1/2 (Default 8 KB (8,196 bytes))<ul><li>Default page size (innodb_page_size) : 16 KB (16,384 bytes)</li><li>별도로 저장되는 column은 8~ 12 bytes를 차지 한다.</li></ul></li></ul></li><li>Row<ul><li>최대 컬럼 갯수 : 4,096개</li><li>최대 레코드 크기 : 64 KB (65,536 bytes)</li></ul></li><li>Column<ul><li>varchar : 64 KB. 동일한 공간에 저장. 인덱스 생성 가능</li><li>varbinary : 64 KB. 동일한 공간에 저장</li><li>text : 별도 공간에 text 데이터 저장. Full text 검색 가능<ul><li>tinytext : 256 bytes</li><li>text : 64 KB (65,536 bytes)</li><li>mediumtext : 16 MB</li><li>longtext : 4GB</li></ul></li><li>blob : 별도 공간에 바이너리 데이터를 저장<ul><li>tinyblob : 256 bytes</li><li>blob : 64 KB (65,536 bytes)</li><li>mediumblob : 16MB</li><li>longbolb : 4GB</li></ul></li></ul></li></ul><p> <br/></p><br/><h3 id="mariadb-설치">MariaDB 설치</h3><br/><br />
<br />
<pre style="width: 100%; background-color: lightgray;"><code class="bash">#--- MariaDB 설치<br />
# yum -y install mariadb mariadb-server<br />
yum -y install mariadb103 mariadb103-server mariadb103-backup<br />
# yum -y install mariadb103-server-galera<br />
<br />
systemctl enable mariadb.service<br />
systemctl restart mariadb.service<br />
<br />
mysql_secure_installation<br />
<br />
vi /etc/my.cnf<br />
[mysqld]<br />
#--- Charset Setting<br />
init_connect="SET collation_connection=utf8_general_ci"<br />
init_connect="SET NAMES utf8"<br />
character-set-server=utf8<br />
collation-server=utf8_general_ci<br />
skip-character-set-client-handshake<br />
innodb_log_file_size=5M<br />
<br />
#--- InnoDB Setting<br />
default-storage-engine=InnoDB<br />
innodb_file_per_table=1<br />
<br />
#--- binlog setting<br />
log-bin=/var/lib/mysql/binlog<br />
max_binlog_size=1G #--- 로그 파일 하나당 크기<br />
# expire_log_days=30 #--- 30일간 보관<br />
<br />
vi /etc/my.cnf.d/client.cnf<br />
[client]<br />
default-character-set=utf8<br />
<br />
[client-mariadb]<br />
default-character-set=utf8<br />
<br />
vi /etc/my.cnf.d/mysql-clients.cnf<br />
[mysql]<br />
default-character-set=utf8<br />
<br />
[mysqldump]<br />
default-character-set=utf8<br />
<br />
systemctl restart mariadb.service<br />
<br />
mysql -uroot -p${PASSWD} mysql -e "show variables like 'c%'"<br />
mysql -uroot -p${PASSWD} mysql -e "show variables like 'log_bin'"<br />
mysql -V<br />
<br />
<br />
#--- 방화벽 설정<br />
firewall-cmd --permanent --add-service=mysql<br />
firewall-cmd --reload<br />
firewall-cmd --list-all</code></pre><br/><h3 id="monitoring">Monitoring</h3><pre style="width: 100%; background-color: lightgray;"><code class="mariadb">-- scadadb 데이터베이스에 포함된 테이블별 크기<br />
SELECT TABLE_NAME, round(((data_length + index_length) / 1024 / 1024), 2) "MB"<br />
FROM information_schema.TABLES<br />
WHERE table_schema = "scadadb"<br />
ORDER BY (data_length + index_length) DESC;<br />
<br />
-- scadadb 데이터베이스에 포함된 테이블별 레코드 수<br />
SELECT TABLE_NAME, TABLE_ROWS<br />
FROM information_schema.TABLES<br />
WHERE table_schema = "scadadb"<br />
ORDER BY TABLE_ROWS DESC;</code></pre><br/><br />
<br />
<br/><h3 id="connection-갯수-설정">Connection 갯수 설정</h3><pre style="width: 100%; background-color: lightgray;"><code class="bash">#--- 최대 접속 수 확인과 Online 설정<br />
mysql -uroot -p비밀번호 mysql<br />
#--- open_files_limit >= 10 + max_connections + table_cache_size * 2<br />
#--- open_files_limit가 1024이고 table_cache_size가 400인 경우 <br />
#--- 최대 214 max_connections이 가능<br />
show variables like 'open_files_limit';<br />
show variables like 'table_open_cache';<br />
<br />
show variables like 'max_connections';<br />
set global max_connections=256; #--- Online에서 최대 접속 수 설정<br />
exit;<br />
<br />
#--- 설정 파일에서 최대 접속 수 설정<br />
vi /etc/my.cnf.d/server.cnf<br />
[mysqld]<br />
max_connections = 256<br />
<br />
#--- open_files_limit 수정 방법<br />
ulimit -a | grep 'open files'<br />
<br />
vi /etc/security/limits.conf<br />
* soft nofile 65536<br />
* hard nofile 65536<br />
<br />
vi /lib/systemd/system/mariadb.service<br />
[Service]<br />
LimitNOFILE=4096<br />
systemctl daemon-reload<br />
systemctl mariadb restart</code></pre><br/><h3 id="참고-문헌">참고 문헌</h3><ul><li><a href="https://www.jopenbusiness.com/mediawiki/MySQL" target="_blank">오픈소스비즈니스 컨설팅 - MySQL</a></li><li><a href="https://www.jopenbusiness.com/mediawiki/MariaDB" target="_blank">오픈소스비즈니스 컨설팅 - MariaDB</a></li><li><a href="https://www.jopenbusiness.com/cms/MariaDB/MySQL.md">MySQL</a></li></ul><br/>참조 : [https://www.jopenbusiness.com/cms/MariaDB/README.md MariaDB/README]</div>
Pnuskgh