mysql的备份和恢复

本文介绍了MySQL数据库的备份、恢复及相关操作。涵盖多种备份方式,如单库、多库、分库、多表备份,以及备份表结构和数据等。还提及不同引擎的备份语句,数据库恢复方法,以及查看数据库连接、变量、状态等操作,同时介绍了binlog日志的解析和恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysqdump -uroot -p database名 >备份的文件名
 for example mysqldump -uroot -p test >/u01/backup/test.sql

mysql -uroot -p test </u01/backup/mysql_o2.sql  #test数据库恢复

mysql -uroot -p -e "use test;show tables" #在msyql外执行mysql语句

#备份中添加 -B 在备份中添加创建数据库,并使用数据库的语句
mysqldump -uroot -p -B test >备份的文件名
  例子
    mysqldump -uroot -p -B test >mysql_02_B.sql
  恢复,不用指定库名
    mysql -uroot -p <mysql_02_B.sql

指定压缩命令,压缩备份数据库
  mysqldump -uroot -p -B test|gzip >/u01/backup/mysql_gzip.gz

备份多个数据库
  mysqldump -uroot -p -B test mysql|gzip >/u01/backup/mysql_all.gz

分库备份
  for d in `mysql -uroot -proot123 -e "show databases;"|grep -vEi "database|infor|perfor"`;do  `mysqldump -uroot -proot123 -B $d|gzip >/u01/backup/mysql_"$d".gz` ; done
备份多个表,不加-B,两个字符串,前面是库,后面是表
  mysqldump -uroot -proot123 test test1|gzip >/u01/backup/test1.gz
备份数据库表结构,加-d只备份表结构 -t只备份表数据
  mysqldump -uroot -proot123 -d  test test |gzip >/u01/backup/mysql_all.gz
刷新binlog -F 备份将切换binlog
  mysqldump -uroot -proot123 -A -B -F  test test --events|gzip >/u01/backup/mysql_all.gz

--master-data 增加binlog日志文件名及对应的位置点
  mysqldump -uroot -proot123 -A --master-data=1 test test |gzip >/u01/backup/mysql_all.gz
--single-transaction 适合innodb事物数据库备份

myisam引擎
   mysqldump -uroot -p  -A -B -F  --master-data=1 -x --events>/u01/backup/
innodb
   mysqldump -uroot -p  -A -B -F --master-data=1 --single-transaction  --events>/u01/backup/


首席dba备份语句
   for myisam
   mysqldump -uroot -proot123 -A  -B --flush-privileges -x --master-data=1 -F --trigger --routines --events --hex-blob|gzip >/u01/backup/mysql_02.gz
   for innodb
   mysqldump -uroot -proot123 -A  -B --flush-privileges --single-transaction --master-data=1 -F --trigger --routines --events --hex-blob|gzip >/u01/backup/mysql_02.gz
   
数据库恢复
   source命令
   首先可以在msyql命令行下查看os系统下备份
   mysql> system ls /u01/backup/
   用source命令恢复
   mysql> source /u01/backup/mysql_02_B.sql

对于压缩的备份,解压后在恢复
   mysql -uroot -proot123 test <`gzip mysql_02.gz`

mysql show命令 查看数据库连接情况,把所有的sql语句都显示出来,两次show出现的sql语句是慢查询,需要优化
   mysql -uroot -p -e "show full processlist"
查看msyql变量
   mysql -uroot -p -e "show variables;"|grep log_bin
查看msyql状态(就是计数器)
   mysql -uroot -p -e "show global status"|grep select
更改数据库参数不重启生效
   show variables like 'key_buffer%'
   set global key_buffer_size=1024*1024*32 #设置32M
   
mysqlbinlog命令 解析mysql的binlog日志
  binlog日志的作用
   用来记录mysql内部增删改查等对mysql数据库有更新的内容的记录
  binlog拆库命令 添加-d 库名
   mysqlbinlog  -d test mysql-bin.000003 >test.sql #从binlog里只抽取test库相关的sql

指定位置点恢复
  mysqlbinlog  mysql-bin.000003 --start-position=365 --stop-position=456 >pos.sql
指定时间点恢复
  mysqlbinlog  mysql-bin.000003 --start-datetime='2014-10-16 17:14:15' --stop-datetime='2014-10-16 17:27:15'>pos.sql
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值