打开二进制日志写进配置文件
vi /etc/my.cnf
[mysqld]
log_bin=/data/mysql/mysqlbinlog #等于后面是目录路径 mysqlbinlog是二进制文件前缀
重启mysql
systemctl restart mariadb
使用mysqldump工具把数据库备份
这是备份指定数据库
mysqldump -B hellodb > buckup/hellodb.sql
这是备份所有数据库
mysqldump -A > buckup/all.sql
#完全备份,并记录备份的二进制位置(可以也用这个,这个更加好)
mysqldump -uroot -pmagedu -A -F --default-character-set=utf8 --single-transaction --master-data=2 | gzip > /backup/all_`date +%F`.sql.gz
再在数据库表中添加数据
insert student (name,age,gender,classid) values ('chickabiddy',18,'M',7);
insert student (name,age,gender,classid) values ('Bad baby',15,'F',6);
添加完成后把二进制文件进行备份(二进制文件存放位置在var/lib/mysql(默认存放位置) 自己设置的在my.cnf查看)
mysqlbinlog mysqlbinlog.000001 > backupmysql
#损坏数据库
rm -rf /var/lib/mysql/*
压缩的就解压缩
gzip -d all_2019-11-25.sql.gz
#CentOS 8 需要事先生成数据库相关文件,CentOS7 不需要执行此步直接重启
mysql_install_db --user=mysql
systemctl restart mariadb
重启后临时关闭二进制日志
MariaDB [(none)]>set sql_log_bin=0;
还原数据库和表数据
source /backup/all.sql
source /backup/backupmysql
也可以这样
mysqlbinlog backupmysql>> all.sql
source /backup/all.sql
版权声明:本文为qq_45637155原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。