ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3494|回复: 4

[数据库相关] mysql备份还原

[复制链接]
发表于 2013-5-27 01:10:39 | 显示全部楼层 |阅读模式
#备份命令格式:/usr/local/mysql/bin/mysqldump -u用户名 -p密码 -h登录IP 数据库名 > 备份文件名.sql
##范例,导出数据库test
/usr/local/mysql/bin/mysqldump -uroot -ppassword -hlocalhost test > test.sql

#还原命令格式:/usr/local/mysql/bin/mysql -u用户名 -p密码 -h登录IP 数据库名 < 备份文件名.sql
##范例,还原恢复数据到数据库test
/usr/local/mysql/bin/mysql -uroot -p123456 -h192.168.1.3 test< test.sql


##########################################################################
#导出数据库test并用gzip压缩
/usr/local/mysql/bin/mysqldump -uroot -ppassword -hlocalhost test | gzip> test.sql.gz

#解压上面例子压缩的gzip包test.sql.gz
gunzip test.sql.gz

#导出数据库test中的表table1
/usr/local/mysql/bin/mysqldump -uroot -p123456 -h192.168.1.239 test table1 > table1.sql

#忽略数据库test中的表table1,导出其余数据
/usr/local/mysql/bin/mysqldump -uroot -p123456 -h192.168.1.239 --ignore-table=test.table1 test | gzip> test.sql.gz

#二进制数据库恢复命令mysqlbinlog,选择起止时间点
/usr/local/mysql/bin/mysqlbinlog --database=db --start-date="2013-4-23 21:00:00" --stop-date="2013-4-24 21:00:00" /data/mysql/mysql-bin.000066 > test.sql

#二进制数据库恢复命令mysqlbinlog,选择binlog的position
/usr/local/mysql/bin/mysqlbinlog --database=db --start-position="605967337" --stop-position="605999372" mysql-bin.000035 > test.sql

#恢复日志的同时,导入数据库
/usr/local/mysql/bin/mysqlbinlog --database=db --start-date="2012-10-30 6:26:39" /data/mysqltemp/mysql-bin.000057 | /usr/local/mysql/bin/mysql -uroot -pmypass -hlocalhost


#备份脚本范例。优先考虑在从库部署备份脚本,先slave stop,备份结束后,再slave start
==========================================================================
#!/bin/sh

#设置用户、密码和数据库名
username=root
password=123456
dbname=db
hostip=localhost

#指定时间日期和备份目录
backupdir=/data/mysqlbackup/$dbname`date +%Y-%m-%d_%H%M%S`.sql.gz
#LogFile=/data/mysqlbackup/backup.log
LogFile=/data/mysqlbackup/backlog/baklog`date +%Y-%m-%d_%H%M%S`.log

echo "-------------------------------------------" >> $LogFile
echo " " >> $LogFile
/usr/local/mysql/bin/mysql -u$username -p$password -h$hostip $dbname -e"SHOW MASTER STATUS;" >>$LogFile

#开始备份数据库
/usr/local/mysql/bin/mysqldump -u$username -p$password -hlocalhost $dbname -e --max_allowed_packet=10485760 --net_buffer_length=163840 | gzip>$backupdir


echo " " >> $LogFile
/usr/local/mysql/bin/mysql -u$username -p$password -h$hostip $dbname -e"SHOW MASTER STATUS;" >>$LogFile

#删除七天前备份
find /data/mysqlbackup -mtime +7 -name "*.sql.gz" -exec rm -rf {} \;
==========================================================================
回复

使用道具 举报

 楼主| 发表于 2018-3-2 09:06:34 | 显示全部楼层
#二进制导出成原始语句,范例
/usr/local/mysql/bin/mysqlbinlog --database=db --base64-output=decode-rows -v mysql-bin.000750> 1.sql
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-2 09:09:57 | 显示全部楼层
#针对mysql5.6以后的版本,没开启gtid,先注释掉

sed -i 's/SET @@SESSION.GTID_NEXT/#SET @@SESSION.GTID_NEXT/g' 1.sql

回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-18 09:39:27 | 显示全部楼层
#mysql5.6后的版本导出,不带gtid问题
mysqldump -u用户名 -p密码 -h主机IP --set-gtid-purged=OFF 数据库名 数据库表 > test.sql
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-23 10:47:27 | 显示全部楼层
#mysql 5.7导出SQL语句
/www/server/mysql/bin/mysqlbinlog --database=myerpoa --base64-output=decode-rows -v --start-datetime="2023-08-23 10:40:00" mysql-bin.000467> 1.sql
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-18 20:19 , Processed in 0.036044 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表