栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

mysql数据库备份

mysql数据库备份

数据备份与恢复 物理备份:拷贝库或表对应的文件
cp  -r  /var/lib/mysql/mysql  /opt/mysql.bak
tar -zcvf  /opt/mysql.tar.gz /var/lib/mysql/*
chown  -R  mysql:mysql /var/lib/mysql/mysql 	# 将权限重新赋给文件
systemctl  restart  mysqld
命令备份
# 完全备份
mysqldump  -uroot  -p123456  数据库名 >   目录名/xxx.sql --all-databases
mysqldump  -uroot  -p123456  db2  > /mydata/db2.sql

# 恢复
mysql  -uroot  -p123456  库名  <  xxx.sql
查看日志文件内容
mysqlbinlog  [选项] binlog日志名
mysqlbinlog  binlog日志名 | grep -i insert

# 执行日志文件中的sql命令恢复数据
mysqlbinlog  [选项] binlog日志名 | mysql -uroot  -p123456

# 根据binlog日志偏移量恢复
mysqlbinlog  --start-position=326   --stop-position=889  plj.000001 |  mysql -uroot  -p123456
备份脚本
#!/bin/bash
mysql_dump=/usr/bin/mysqldump
dbuser='dbuser'
dbpasswd='dbpasswd'
dbname='dbname'  #数据库名,可以定义多个数据库,中间以空格隔开,如:test test1 test2
backtime=`date +%Y%m%d%H%M%S`
logpath='/opt/mysqlbackup/log'
datapath='/opt/mysqlbackup'

#删除15天前的文件
find ${datapath} -name "*.tar.gz" -mtime +15 -exec rm -rfv {} ;

#日志记录头部
echo ‘”备份时间为${backtime},备份数据库表 ${dbname} 开始” >> ${logpath}/mysqllog.log

#正式备份数据库
for table in $dbname; do
source=`$mysql_dump  -u${dbuser} -p${dbpasswd} --single-transaction ${table}> ${datapath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;

#备份成功以下操作
	if [ "$?" == 0 ];then
		cd $datapath

		#为节约硬盘空间,将数据库压缩
		tar -zcf ${table}${backtime}.tar.gz ${backtime}.sql > /dev/null

		#删除原始文件,只留压缩后文件
		rm -f ${datapath}/${backtime}.sql
		echo “数据库表 ${dbname} 备份成功!!” >> ${logpath}/mysqllog.log
		
		else
		#备份失败则进行以下操作
		echo “数据库表 ${dbname} 备份失败!!” >> ${logpath}/mysqllog.log
		fi

done
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/317241.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号