$ dnf install -y mariadb-server
$ systemctl enable --now mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
$ ls /var/lib/mysql/
aria_log.00000001 ibdata1 multi-master.info mysql_upgrade_info
aria_log_control ib_logfile0 mysql performance_schema
ib_buffer_pool ibtmp1 mysql.sock
$ firewall-cmd --add-service=mysql
# 간단한 보안설정을 대화형으로 진행
$ mysql_secure_installation
# 엔터 입력 시 루트 패스워드 재설정
Enter current password for root (enter for none): <ENTER>
Switch to unix_socket authentication [Y/n] Y
# root password 재지정
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
# 익명 유저 제거
Remove anonymous users? [Y/n] Y
# root 계정에 원격 접속 차단할것인지
Disallow root login remotely? [Y/n] Y
# test db를 지울 것인지
Remove test database and access to it? [Y/n] Y
# 변경 사항으로 권한 테이블 업데이트
Reload privilege tables now? [Y/n] y
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
[mysqld]
[mysqld_safe]
설정 파일의 [mysqld] 아래에 설정
외부 접근 차단
skip-networking = 1
특정 호스트에서만 접근 허용
bind-address = [ip]
Select
Insert
Update
Delete
Create
Alter
Grant
Revoke
Commit
Roleback
데이터 베이스가 저장된 파일과 서정파일 자체를 백업
mysqldump 명령으로 db에 저장된 데이터를 논리적 파일로 변환하여 백업하는 방식
# 논리적 백업 파일을 /root 디렉토리에 저장
$ mysqldump -u root -p sckwon > /root/sckwon.dump
Enter password:
$ ls
sckwon.dump
$ file sckwon.dump
sckwon.dump: ASCII text
$ cat sckwon.dump | head
-- MariaDB dump 10.19 Distrib 10.5.22-MariaDB, for Linux (x86_64)
--
-- Host: localhost Database: sckwon
-- ------------------------------------------------------
-- Server version 10.5.22-MariaDB
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
mysql -u user-name -p database-name < file-path
$ dnf install mariadb-server
$ systemctl enable --now mariadb
$ mysql_secure_installation
$ vi /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
autocommit=0
server-id=100
log-bin=mysql-bin
$ systemctl restart mariadb.service
$ mysql -u root -p
> create user rep_user@'%' IDENTIFIED BY '1234';
> select user,host FROM mysql.user;
+-------------+-----------+
| User | Host |
+-------------+-----------+
| rep_user | % |
> grant replication slave ON *.* TO rep_user@'%';
> SHOW master status;
$ firewall-cmd --add-service=mysql
$ mysqldump --all-databases -u root -p > rep.dump
$ ls
rep.dump
$ scp rep.dump vagrant@192.168.10.20:/tmp
rep.dump 100% 2038KB 100.4MB/s 00:00

$ dnf install mariadb-server
$ systemctl enable --now mariadb
$ mysql_secure_installation
$ vi /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
autocommit=0
server-id=101
log-bin=mysql-bin
read-only=0
$ systemctl restart mariadb.service
$ mysql -u root -p < /tmp/rep.dump
$ mysql -u root -p
> CHANGE MASTER TO master_host='192.168.10.10',master_user='rep_user',master_password='123',master_log_file='mysql-bin.000001',master_log_pos=641;
> START SLAVE;