XNUMX๋
๊ฐ์ ๊ฐ๋ฐ๊ณผ XNUMX๋ฒ์ ์ฌ์ ์ถ์ ์ดํ
MariaDB ๊ฐ๋ฐ์ ๊ฐ๋ณ ๊ณต๊ธ์
์ฒด๋ก๋ถํฐ ๋
๋ฆฝ์ ์ธ ์์ ํ ๊ฐ๋ฐฉ์ ์ด๊ณ ํฌ๋ช
ํ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋ฐ๋ผ ๋
๋ฆฝ์ ์ธ MariaDB ์ฌ๋จ์์ ๊ฐ๋
ํฉ๋๋ค. MariaDB๋ ๋ง์ Linux ๋ฐฐํฌํ(RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian)์์ MySQL ๋์ ์ ๊ณต๋๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ๋๊ท๋ชจ ํ๋ก์ ํธ์์ ๊ตฌํ๋์์ต๋๋ค.
์ด์
- ๋๊ธฐ์ ๋ค์ค ๋ง์คํฐ ๋ณต์ ๊ธฐ์ ํฌํจ
๊ฐ๋ ๋ผ 4 ์ด๋ ๋ชจ๋ ๋ ธ๋์์ ์ฝ๊ณ ์ธ ์ ์๋ ํ์ฑ-ํ์ฑ ๋ค์ค ๋ง์คํฐ ํ ํด๋ก์ง๋ฅผ ํ์ฉํฉ๋๋ค. ๋๊ธฐ์ ๋ณต์ ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ ๋ ธ๋์ ํญ์ ์ต์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ฉ๋๋ค. ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ๋ ธ๋์ ์ ํ๋ ํ์๋ง ํธ๋์ญ์ ์ด ์ปค๋ฐ๋๋ฏ๋ก ํธ๋์ญ์ ์์ค์ด ๋ณด์ฅ๋์ง ์์ต๋๋ค. ๋ณต์ ๋ ํ ์์ค์์ ๋ณ๋ ฌ ๋ชจ๋๋ก ์ํ๋๋ฉฐ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ์ ๋ณด๋ง ์ ์ก๋ฉ๋๋ค. - Unix ๊ณ์ด ์์คํ
์์๋ ์ธ์ฆ ํ๋ฌ๊ทธ์ธ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค.
์ ๋์ค ์์ผ , ์์คํ ์ ์๋ ๊ณ์ ์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ Unix ์์ผ์ ์ฌ์ฉํ์ฌ DBMS์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. - ์ถ๊ฐ๋จ
๊ธฐํ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ์ ์๋ช ์ ํ ๋นํ ํ ๋น๋ฐ๋ฒํธ๋ ๋ง๋ฃ๋ ๊ฒ์ผ๋ก ํ์๋ฉ๋๋ค. "CREATE USER" ๋ฐ "ALTER USER" ์์ ์์ ๋น๋ฐ๋ฒํธ ๋ง๋ฃ ๋ ์ง๋ฅผ ์ค์ ํ๊ธฐ ์ํด "PASSWORD EXPIRE INTERVAL N DAY"๋ผ๋ ํํ์ด ์ถ๊ฐ๋์์ต๋๋ค. - ์ถ๊ฐ ์ง์
์ฐจ๋จ "CREATE USER" ๋ฐ "ALTER USER" ์์ ์์ "ACCOUNT LOCK" ํํ์์ ํตํ DBMS ์ฌ์ฉ์ - ์ฌ์ฉ์ ์๊ฐ ๋ง๊ฑฐ๋ ์ก์ธ์ค ๊ท์น์ด ์๋ ๊ตฌ์ฑ์์ ๊ถํ ํ์ธ ์คํ์ด ํฌ๊ฒ ๊ฐ์ํ๋์์ต๋๋ค.
-
๋จ์ข mysql.user ๋ฐ mysql.host ํ ์ด๋ธ์ ์ฌ์ฉํฉ๋๋ค. mysql.global_priv ํ ์ด๋ธ์ ์ด์ ๊ณ์ ๊ณผ ์ ์ญ ๊ถํ์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. - ะ
ํ๋ฌ๊ทธ์ธ ์ ์ฆ์ถ๊ฐ "SET PASSWORD" ํํ์ ์ง์; -
์ถ๊ฐ๋จ ๊ฐ ๊ณ์ ์ ๋ํด ํ๋ ์ด์์ ์ธ์ฆ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ(์ฌ์ฉ์๋ฅผ ํ๋ฌ๊ทธ์ธ์ผ๋ก ์ ์ง์ ์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๋ฐ ์ ์ฉํ ์ ์์)ed25519 . mysql_install_db ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ root@localhost ์ฌ์ฉ์๋ฅผ ์์ฑํ ๋ ์ด์ ๋ ๊ฐ์ ์ธ์ฆ ํ๋ฌ๊ทธ์ธ(unix_socket ๋ฐ mysql_native_password)์ด ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋ฉ๋๋ค. - InnoDB ์คํ ๋ฆฌ์ง๋ ์ปฌ๋ผ์ ์ฆ์ ์ญ์ (ALTER TABLE ... DROP COLUMN ... ALGORITHM=INSTANT)ํ๊ณ ์ปฌ๋ผ ์์๋ฅผ ๋ณ๊ฒฝํ๋ ์์
์ ๊ตฌํํฉ๋๋ค. ๋กค๋ฐฑ ์์
์ ๋ํ ์ด๊ธฐ ๋ก๊ทธ(redo ๋ก๊ทธ)์ ํฌ๊ธฐ๊ฐ ๊ฐ์๋์์ต๋๋ค. innodb_encrypt_log์ ๋ํ ํค ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ฒดํฌ์ฌ ํ์ธ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ
innodb_checksum_algorithm=full_crc32. VARCHAR ์ ํ์ ์ฆ๊ฐ์ ์ธ ํ์ฅ์ ์ ๊ณตํ๊ณ ์ธ๋ฑ์ฑ๋์ง ์์ ์ด์ ๋ํ ํ ์คํธ ์ธ์ฝ๋ฉ ๋ณ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. - ํฅ์๋ ์ต์ ํ ํ๋ก๊ทธ๋จ. ์์คํ
๋ณ์๋ฅผ ํตํด ํ์ฑํ๋ ์ต์ ํ ํ๋ก๊ทธ๋จ ์ถ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
์ต์ ํ ํ๋ก๊ทธ๋จ ์ถ์ . ๊ธฐ๋ณธํฌํจ ์คํ ๋ฆฌ์ง ์์ง๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ํต๊ณ๋ฅผ ์ ์งํฉ๋๋ค.
๋ ๊ฐ์ง ์๋ก์ด use_stat_tables ๋ชจ๋(COMPLEMENTARY_FOR_QUERIES ๋ฐ PREFERABLY_FOR_QUERIES)๊ฐ ์์ต๋๋ค. optim_join_buffer_size ๋ชจ๋๊ฐ ํ์ฑํ๋์์ต๋๋ค. ์๋ก์ด ๊ฒ์ด ์ถ๊ฐ๋์์ต๋๋ค๊น๋ฐ rowid_filter ๋ฐ Condition_pushdown_from_having; - ํ์ฌ ๋ฐ์ดํฐ ์กฐ๊ฐ์ ์ ์ฅํ ๋ฟ๋ง ์๋๋ผ ์ด์ ์ ์ํ๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ์ ๋ณด๋ ์ ์ฅํ๋ ์์คํ
๋ฒ์ ํ
์ด๋ธ์ ๋ํ ์ง์์ด ํ์ฅ๋์์ต๋๋ค.
์คํผ๋ ์ด์ ์๊ฐ ๋ฒ์ ํฌํจ; - ์๋ฒ๋ฅผ ๋ค์ ์์ํ์ง ์๊ณ ๋ SSL ์ธ์ฆ์๋ฅผ ๋ค์ ๋ก๋ํ ์ ์๋ ์๋ก์ด "FLUSH SSL" ๋ช ๋ น์ด ์ถ๊ฐ๋์์ต๋๋ค.
- "INSTALL PLUGIN", "UNINSTALL PLUGIN" ๋ฐ "UNINSTALL SONAME" ์์ ์ "IF NOT EXISTS" ๋ฐ "IF EXISTS" ํํ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์์ง์ด ์ฌ์ฉ๋๋ ๋ณด๊ด์ฉ ์ถฉ๋ ๋ฐฉ์ง ์์คํ
ํ
์ด๋ธ์ด ์ ์๋์์ต๋๋ค.
์๋ฆฌ์ ; - C++11 ํ์ค ์ฌ์ฉ์ผ๋ก์ ์ ํ์ด ์ด๋ฃจ์ด์ก์ต๋๋ค(์์์ ์ฐ์ฐ ํฌํจ).
- ์ ๋์ฝ๋์ ๋ํ ๋ฐ์ดํฐ ์ ๋ ฌ ๋ก์บ ์์ฑ์ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์ด ๋ฌธ์ ์๋ฏธ์ ๋ฐ๋ผ ์ ๋ ฌ ๊ท์น๊ณผ ์ผ์น ๋ฐฉ๋ฒ์ ์ง์ ํ ์ ์์ต๋๋ค.
-
์ถ๊ฐ๋จ ์์ ๋ง์ ํ๋ ์ ํ์ ์ ์ํ๊ธฐ ์ํ ํ๋ฌ๊ทธ์ธ - ์ฐฝ ๋ชจ๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
UDF ํจ์ (์ฌ์ฉ์ ์ ์ ํจ์); - "FLUSH TABLES" ์์
์์
๊ตฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์ ๋ฐฑ์ ํ ๋ ์ฌ์ฉํ ์ ์๋ "BACKUP LOCK" ๋ชจ๋; -
์ถ๊ฐ๋จ "mysql"๋ก ์์ํ๋ ๋ช ๋ น(์: mysqldump ๋์ mariadump) ๋์ mariadb๋ก ์์ํ๋ ์๋ฒ ๋ช ๋ น์ ์ง์ํฉ๋๋ค.
์ถ์ฒ : opennet.ru