2022. 9. 5. 22:38ใ๐ฏ OpenSource/MariaDB
Intro
MariaDB์ ์๊ฒฉ ์๋ฒ๋ก๋ถํฐ์ ์ ๊ทผ์ ํ์ฉํ๊ณ , ์ฌ์ฉ์ ๊ณ์ ์ ๋ฐ๋ฅธ ๊ถํ ๋ถ์ฌ๋ฅผ ํ์ฌ ๋ณด์์ ๊ฐํํ๋๋ก ํ๋ค.
MariaDB-Client, MariaDB-Server ์ค์น
MariaDB client์ ํด๋นํ๋ WEB ์๋ฒ์ MariaDB-Client ํจํค์ง๋ฅผ ์ค์นํ๊ณ ,
DB ์๋ฒ์ Mariadb-Server ํจํค์ง๋ฅผ ์ค์นํ๋ค.
MariaDB ํจํค์ง๋ฅผ ์ค์นํ๊ธฐ ์ํด์๋ ์๋ ๋งํฌ์์ yum repo๋ฅผ ๋ณต์ฌํ์ฌ ๊ฐ ์๋ฒ์ ์ถ๊ฐํ์ฌ์ผ ํ๋ค.
https://mariadb.org/download/?t=repo-config
## web ์๋ฒ
[root@wglee-web ~]# yum search all MariaDB-client
[root@wglee-web ~]# yum install MariaDB-client
## db ์๋ฒ
[root@wglee-db ~]# yum install mariadb-server
MariaDB-Server setup
db ์๋ฒ์์ ์๋์ ๋ช
๋ น์ด๋ก root ํจ์ค์๋๋ฅผ ์ด๊ธฐํ ํ๋ค.
ํด๋น ๋ช
๋ น์ด๋ shell script ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ฉฐ, ๋ค์ ํญ๋ชฉ๋ค์ ์ด๊ธฐ ์ค์ ํ ์ ์๋ค.
-> root password ์ด๊ธฐํ
-> ์๊ฒฉ์ง์์ root๋ก ์ ๊ทผ ๋ชปํ๋๋ก ์ ํ
-> MariaDB ์ค์น์์ ํ
์คํธ ์ํด ์์ฑ๋ anonymous ์ฌ์ฉ์ ๊ณ์ ์ ๊ฑฐ
-> anonymous ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ์ ์๋ test ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ฑฐ
[root@wglee-db ~]# mysql_secure_installation
๊ทธ ๋ค์, root password ์
๋ ฅ ์์ด mysql์ ์ ์ํ ์ ์๋๋ก my.cnf ์ ์ค์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๋์ญ์์ ๋ค์ด์ค๋ connection์ ์ฒ๋ฆฌํ๋๋ก 0.0.0.0์ผ๋ก ๋ฐ์ธ๋ฉ ํ๋ค.
( my.cnf๋ mariaDB์ ๊ณต์ ์ค์ ํ์ผ์ด๋ค.)
[root@wglee-db ~]# cat /etc/my.cnf | grep -v '^$\|^#'
[mysqld]
...
# ์ถ๊ฐ
bind-address = 0.0.0.0
...
# ์ถ๊ฐ
[client]
user=root
password="[ํจ์ค์๋]"
MariaDB-Server - Create Database, User
์๊ฒฉ ์๋ฒ์์ ์ ๊ทผํ ์ ์ ์, ํด๋น ์ ์ ์๊ฒ ์ ๊ทผ ํ์ฉ์ ํ ์์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๋ค.
MariaDB [(none)]> CREATE DATABASE wgleeDB;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> CREATE USER 'wglee'@'localhost' IDENTIFIED BY '[ํจ์ค์๋]';
Query OK, 0 rows affected (0.00 sec)
MariaDB-Server - Grant privileges to user
์๊ฒฉ์์ ์ ๊ทผํ ์ฌ์ฉ์ wglee์ ๋ํ ๊ถํ์ ์ค์ ํ๋ค.
์ ๊ทผ ํ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์๊ฒฉ์ง ์ฃผ์ ๋ฑ์ ํ์ฉ ๋ฒ์์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ ์ ์๋ค.
## No1. wglee ๊ณ์ ์ด wgleeDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๊ฒฉ์งIP์์ ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ํ์ฉ
MariaDB [(none)]> GRANT ALL ON wgleeDB.* to 'wglee'@'๊ณต์ธIP' IDENTIFIED BY '[ํจ์ค์๋]' WITH GRANT OPTIO
N;
Query OK, 0 rows affected
## No2. wglee ๊ณ์ ์ด wgleeDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ์๊ฒฉ์ง IP์์ ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ํ์ฉ
MariaDB [(none)]> GRANT ALL ON wgleeDB.* to 'wglee'@'%' IDENTIFIED BY '[ํจ์ค์๋]' WITH GRANT OPTION;
## No3. wglee ๊ณ์ ์ด ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ .0/24 ๋์ญ์ ์๊ฒฉ์ง IP์์ ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ํ์ฉ
MariaDB [(none)]> GRANT ALL ON *.* to 'wglee'@'๊ณต์ธIP.%' IDENTIFIED BY '[ํจ์ค์๋]' WITH GRANT OPTION;
๋ง์ง๋ง์๋ flush privileges๋ฅผ ํด์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ํ๋ค.
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
MariaDB-Client - Test Connection
client์ธ web ์๋ฒ์์ wglee ๊ณ์ ์ผ๋ก ์ ์์ ํ
์คํธ ํ๋ค.
์ด๋ client์ server ์ฌ์ด์ ๋ฐฉํ๋ฒฝ์ด ํ์ฉ๋์ด ์์ด์ผ ํ๋ค.
(์ง๊ธ์ mariadb-server๊ฐ 3306์ผ๋ก ๋๊ณ ์๊ธฐ ๋๋ฌธ์ server์์ inbound 3306 ๋ก ํ์ฉํด์ค)-h
์ต์
์ผ๋ก wglee-db ์๋ฒ์ ๊ณต์ธ ์์ดํผ๋ฅผ host๋ก ์ง์ ํ๋ค.
์์ ์ค์ ํ wglee ๊ณ์ ์ ํจ์ค์๋๋ฅผ ์
๋ ฅํ๋ฉด ์๊ฒฉ์ง์ MariaDB์ ์ ๊ทผํ ๊ฒ์ ๋ณผ ์ ์๋ค.
[root@wglee-web ~]# mysql -u wglee -h DB์๋ฒ๊ณต์ธIP -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| wgleeDB |
+--------------------+
2 rows in set (0.001 sec)
MariaDB [(none)]> use wgleeDB
Database changed