mariadb相比于Mysql比较轻量,但是操作都一样,适合用来练手
一、安装部署
第一步:安装 mariadb-server + mariadb
[root@dba01 ~]# yum install mariadb-server mariadb -y
第二步:启动、开机自启 mariadb-server + mariadb
[root@dba01 ~]# systemctl start mariadb
[root@dba01 ~]# systemctl enable mariadb
第三步:设置root密码
[root@dba01 ~]# mysqladmin -u root -p password 123456
Enter password: 直接按回车键
第四步:登录测试mariadb数据库
[root@dba01 ~]# mysql -uroot -p123456 -h127.0.0.1
MariaDB [(none)]> show databases; # 显示所有表,重要提示:分号结尾!
+--------------------+
| Database |
+--------------------+
| information_schema |
| discuz |
| mysql |
| performance_schema |
| wordpress |
+--------------------+
# 授权root用户远程登录
MariaDB [(none)]> grant all privileges on *.* to root@"%" identified by "123456";
Query OK, 0 rows affected (0.15 sec)
MariaDB [(none)]> flush privileges; # 刷新
MariaDB [(none)]> quit # 退出数据库
Bye
第五步:备份mariadb数据库
[root@dba01 ~]# mysqldump -uroot -p123456 --all-databases >/backup/back_$(date +%F).sql
第六步:还原mariadb数据库
[root@dba01 ~]# mysql -uroot -p123456 </backup/back_2022-05-11.sql
二、增量备份功能
增量备份解释:在备份数据库的过程中,会锁表拍摄某一时间段的快照,而数据是不断变化的,这部分不断变化的数据,在开启增量数据功能后,会临时写到设置好的日志文件里。
binlog日志:针对数据库进行更改的 SQL语句,以事件形式记录,例;增删改;
第一步:查询log_bin功能开启状态
MariaDB [(none)]> show variables like '%log_bin%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin | OFF | ---可以看到,功能未开启;
| log_bin_trust_function_creators | OFF |
| sql_log_bin | ON |
+---------------------------------+-------+
3 rows in set (0.00 sec)
第二步:开启log_bin功能
方法一:直接开启
# 低版本数据库不支持此开启方式
MariaDB [(none)]> set global log_bin = NO;
方法二:修改配置文件
# 在[mysqld]标签下添加此项:log_bin=日志文件名随机起;重启mariadb服务生效;
[root@localhost ~]# vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log_bin=binlog # 在[mysqld]标签下添加此项,logbin=名字随机
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d
[root@localhost ~]# systemctl restart mariadb
# 查看生成的日志文件
[root@localhost ~]# find /var/lib/mysql/ -name '*binlog.*'
/var/lib/mysql/binlog.index
/var/lib/mysql/binlog.000001
第三步:查看日志内容
[root@localhost ~]# mysqlbinlog /var/lib/mysql/binlog.000001
提示:如果查询出错,一般会提示字符集错误,直接注释字符集
[root@localhost ~]# vim /etc/my.cnf.d/client.cnf
[client]
# default-character-set=utf8mb4
[client-mariadb]
# default-character-set=utf8mb4
可选:关闭 防火墙 + selinux
[root@nfs01 ~]# systemctl stop firewalld
[root@nfs01 ~]# systemctl disable firewalld
[root@nfs01 ~]# setenforce 0
[root@nfs01 ~]# sed -i 's#enforcing#disable#g' /etc/selinux/config