热备份:在数据库备份期间,支持读和写操作 innodb支持热备份
冷备份:在数据库备份期间,即不能读又不能写
温备份:在数据库备份期间,能读不能写的 myisam支持温备份
数据库文件都放在mysql的目录下
-------------------------
#ll var/lib/mysql/*
备份的测试还原:
做还原测试,用于测试备份的可用性
还原演练,写成规范的技术文档
备份脚本
还原脚本
备份工具
---------
mysqldump: 常见的备份工具逻辑备份工具,适用所有存储引擎,
对MyISAM存储引擎进行温备,支持完全或部分备份;
对innoDB存储引擎支持热备,结合binlog的增量备份
查询业务数据库
# mysqldump -uroot -p1 hellodb
# mysql -p1 -e 'show databases'
创建数据库
# mysql -p1 -e 'create databases hellodb'
centos8.2-8 业务端服务器
----------------------
# mkdir /backup
-B 挑数据库备份
# mysqldump -uroot -B hellodb wordpress > /backup/hellodb_wordpress_B_`date +%F_%H-%M-%S`.sql
备份还原
----------
关闭二进制日志:
方法一
mysql> set sql_log_bin=0;
mysql> source /backup/hellodb_`date +%F-%T`.sql
mysql> set sql_log_bin=1; 开启二进制日志
方法二
# mysql -p1 < hellodb_2021-03-14-14:00:53.sql
备份数据库hellodb
---------------
个别数据库备份
# mysqldump -uroot -p1 hellodb > /backup/hellodb_`date +%F_%H-%M-%S`.sql
整个数据库备份
# mysqldump -uroot -p1 -A > /backup/all_`date +%F_%H-%M-%S`.sql
测试删除数据库与还原数据库
----------------------
删除数据库
方法一
mysql> drop database hellodb;
方法二
# mysql -p1 -e 'drop database hellodb'
方法三
# mysqladmin drop hellodb
还原数据库
方法一
# mysql -p1 < /backup/hellodb_2021-03-14-14:14:58.sq
方法二
mysql> set sql_log_bin=0;
mysql> source /backup/hellodb_`date +%F-%T`.sql
mysql> set sql_log_bin=1;
创建分库创建脚本
----------------
vim mysql-backup.sh
#!/bin/bash
#[----------]
#--------------------------------------------------------------
#Author: jackie
#QQ: 985848343@qq.com
#Date: 2021-03-14_15:47:52
#FileName: 1.sh
#URL: https://blog.csdn.net/weixin_50504879
#Description: The test script
#Copyright (C): 2021-03-14 All rights reserved
#--------------------------------------------------------------
for db in `mysql -p1 -e 'show databases' |grep -Ev '^(information_schema|performance_schema|sys|Database|)$'`;do mysqldum -p1 -uroot -B ${db} |gzip > /backup/${db}_`date +%F_%H-%M-%S`.sql.gz;done
压缩备份文件
--------------
此为压缩格式
for db in `mysql -p1 -e 'show databases' |grep -Ev '^(information_schema|performance_schema|sys|Database|)$'`;do mysqldum -p1 -uroot -B ${db} |gzip > /backup/${db}_`date +%F_%H-%M-%S`.sql.gz;done
压缩数据库备份文件
# mysqldump -p1 -uroot -B hellodb |gzip > /backup/hellodb_2021-03-14_15-24-43.sql.gz
解压缩
# gzip -d hellodb_2021-03-14_15-24-43.sql.gz
centos8.2-18 backup-mysql mysql备份服务器
------------------------------------------
设置mysql空密码登录
mysql> ALTER USER root@'localhost' identified by '';
# yum install -y mysql-server