mysqldump备份和恢复转 mysqldump自动备份

备份MySQL数据库的命令(导出的脚本不含有CREATEDATABASE语句)
  mysqldump -hhostname -uusername -ppassword databasename> backupfile.sql


  备份MySQL数据库为带删除表的格式
  备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
  mysqldump --add-drop-table -uusername -ppassword databasename> backupfile.sql


  直接将MySQL数据库压缩备份
  mysqldump -hhostname -uusername -ppassword databasename | gzip> backupfile.sql.gz


  备份MySQL数据库某个(些)表
  mysqldump -hhostname -uusername -ppassword databasenamespecific_table1 specific_table2 >backupfile.sql


  同时备份多个MySQL数据库(导出的脚本含有CREATE DATABASE语句)
  mysqldump -hhostname -uusername -ppassword --databasesdatabasename1 databasename2 databasename3 >multibackupfile.sql


  仅仅备份数据库结构
  mysqldump –no-data –databases databasename1 databasename2databasename3 > structurebackupfile.sql


  备份服务器上所有数据库
  mysqldump –all-databases >allbackupfile.sql


  还原MySQL数据库的命令
  mysql -hhostname -uusername -ppassword databasename< backupfile.sql


  还原压缩的MySQL数据库
  gunzip < backupfile.sql.gz | mysql -uusername-ppassword databasename


  将数据库转移到新服务器
  mysqldump -uusername -ppassword databasename | mysql–host=*.*.*.* -C databasename

注意事项
一、确定要备份的表的存储引擎是事务型还是非事务性,两种不同的存储引擎备份方式在处理数据一致性方面是不太一样的。

二、确定使用全备份还是增量备份。全备份的优点是备份保持最新备份,恢复的时候可以花费更少的时间;缺点是如果数据量大,将会花费很多的时间,并对系统造成较长时间的压力。增量备份则恰恰相反,只需要备份每天的增量日志,备份时间少,对负载压力也小;缺点就是恢复的时候需要全备份加上次备份到故障前的所有日志,恢复时间会长些。

三、可以考虑采取复制的方法来做异地备份,但是记住,复制不能代替备份,它对数据库的误操作也无能为力。

四、要定期做备份,备份的周期要充分考虑系统可以承受的恢复时间。备份要在系统负载较小的时候进行。

五、确保MySQL打开log-bin选项,有了BINLOG,MySQL才可以在必要的时候做完整恢复,或基于时间点的恢复,或基于位置的恢复。

六、要经常做备份恢复测试,确保备份是有效的,并且是可以恢复的


热备份
mysqldump
介绍:mysqldump是MySQL自带的备份工具,他备份出来的是一个文本文件可以直接查看,里面记录的就是数据库语句,原理就是通过数据库语句把数据库或表重新建了到备份时状态,其实用图形工具备份原理是一样的(都是逻辑备份)


备份
注意:一定要检查备份文件,注意文件大小不是0,因为即使备份出错也会生成一个空文件

[root@zzh /]# mysqldump -u root -p--all-database > /beifeng/all.sql
备份所以数据库,保存为all.sql文件

[root@zzh /]# mysqldump -u root -p zzh> /beifeng/zzh.sql
备份指定zzh数据库,保存为zzh.sql文件

[root@zzh /]# mysqldump -u root -p zzhkt1 kt2 > /beifeng/biao.sql
备份zzh数据库中的kt1和kt2表,保存为biao.sql文件
-l参数MyISAM存储引擎在备份的时候需要加,表示将所有表加上锁,在备份期间,所有表将只能读而不能进行数据更新
-F参数表示生成一个新的日志文件,这个日志记录了之前的操作,用来完全恢复
-u参数 指定用户名
-p参数 指定密码
-h参数 指定服务器ip或者域名
-P(大写) 指定端口



完全恢复
[root@zzh /]# mysql -u root -p zzh< /beifeng/zzh.sql
恢复数据库时,数据库不受任何影响,注意:恢复的库时原库一定要存在
把数据恢复到最新状态
[root@zzh /]# mysqldump -F -u root -pkangte > /beifeng/kangte.sql
备份kangte数据库,加-F生成一个新日志文件恢复时好查找,注意:一定要检查一下备份的文件

这时备份以后数据库发生的操作都会记录到二进制日志里面

[root@zzh /]# cp/mysqldata/mysql-bin.000009 /beifeng/
特别注意:一定要在恢复之前把日志文件拷贝出来,否则日志也会记录恢复操作,把从备份生成后的所有二进制文件拷贝出来

[root@zzh /]# mysql -u root -p kangte< /beifeng/kangte.sql
执行完全恢复kangte数据库,恢复到备份数据库时的状态,此时备份时到数据库恢复之间的操作还没有恢复
[root@zzh /]# mysqlbinlog/beifeng/mysql-bin.000009 | mysql -u root -p kangte
用二进制日志把kangte数据恢复到最新状态


不完全恢复
一、基于时间点恢复(如果00:00:00——00:30:30中间出现问题,可以跳过这段时间恢复数据)
注意:恢复数据库之前最后把二进制文件备份一下
[root@zzh /]# mysqlbinlog--stop-date="2009-09-01 00:00:00" /mysqldata/mysql-bin.000009 |mysql -u root -p kangte
用二进制日志文件把kangte数据库恢复到故障前

[root@zzh /]# mysqlbinlog--start-date="2009-09-01 00:30:30" /mysqldata/mysql-bin.000009 |mysql -u root -p kangte
跳过故障时间点继续恢复kangte数据库

二、基于位置的恢复(可以更精确的恢复数据)
mysqldump备份和恢复转 mysqldump自动备份
[root@zzh /]# mysqlbinlog--start-date="2009-09-01 00:00:00" --stop-date="2009-09-0100:30:30" /mysqldata/mysql-bin.000009 >/jilu.txt
根据二进制日志生成00:00:00——00:30:30中间的操作记录文件,这里记录的是对所有数据库的操作

[root@zzh /]# more/jilu.txt
查看文件找出错误点前后对应的语句代号,如at1000

[root@zzh /]# mysqlbinlog--stop-position="1000" /mysqldata/mysql-bin.000009 | mysql -u root-p kangte
把kangte数据库恢复到代号为1000的语句前,注意:不恢复代号为1000的语句

[root@zzh /]# mysqlbinlog--start-position="1010" /mysqldata/mysql-bin.000009 | mysql -u root-p kangte
恢复代号为1010的语句之后的语句


冷备份
直接拷贝数据库文件,根据情况备份需要备份的文件
[root@zzh /]#/usr/local/mysql/share/mysql/mysql.server stop
先关闭数据库

[root@zzh /]# mkdirbeifeng
建立一个目录用来保存备份

[root@zzh /]# tar -zcvf/beifeng/2009.9.tgz ./mysqldata/
备份数据库,注意:备份时一定要清楚自己当前所在目录,这里用的相对路径

[root@zzh /]#/usr/local/mysql/share/mysql/mysql.server start
启动数据库

用冷备份文件还原
注意:如果是一个小文件还原,直接关闭数据库把文件复制还原回去就可以了,但是如果像全库回复,把文件拷回去时间就会很长时间,这时执行下面操作,先把文件解压到新数据库目录,修改my.cnf文件重新指定新数据库目录,这样关闭数据库时间就会很短
[root@zzh beifeng]# mv mysqldata//xindata/
先把备份放到新数据库目录

[root@zzh /]# chown -R mysql.mysql/xindata/
给新数据库目录权限



[root@zzh /]#/usr/local/mysql/share/mysql/mysql.server stop
关闭数据库,注意:一定要把数据库关闭后在修改下面的文件,要不修改完在关库会报错

[root@zzh /]# vim/etc/my.cnf
datadir = /xindata设置新数据库目录位置,注意:这个字段默认没有自己在[mysqld]标签下添加


[root@zzh /]#/usr/local/mysql/share/mysql/mysql.server start

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/102514.html

更多阅读

关于新车磨合期车速问题 新车磨合期车速

作为刚拿到手的新车,车主们十分小心,新车在磨合期都有哪些注意事项呢?自动档车辆磨合期又有注意事项?在多少公里范围内算新车的初期磨合、中期磨合和后期磨合呢?自动档新车磨合期应该要注意车速,新车磨合好了在后期零件才会正常运转

2010.02.16更新 PPS影音去广告+破解VIP+优化 爱奇艺pps影音破解

PPS影音V2.6.86.8999 正式版(去广告+破解VIP+优化网速占用)使用老顶古的去广告补丁(已经得同意,在此表示感谢),然后重新打包而成分享给各位! 安装和卸载时自动清理安装其他版本后在系统目录残留的广告文件等,卸载时自动扫描清理缓存文件p

Excel2007高级筛选怎么用 计算机excel高级筛选

Excel2007是一款功能强大的电子表格编辑制作软件,是个人及办公事物处理的理想工具,其筛选功能可以帮助我们从已有的复杂数据表中得到所需数据。数据筛选是将工作表中所有不满足条件的数据暂时隐藏起来,只显示那些符合条件的数据。

自动挡车驾驶技巧 精 新手自动挡车驾驶技巧

自动挡车与手动挡车相比开起来简单方便,现在很多初学者都喜欢自动挡车。自动挡的固然好开,但是有些驾驶技巧也要注意,比如起步、坡道换挡、踩油门加挡等技巧都要注意。这样才能更经济更安全的开好车。下面小编和大家分享一下自动挡汽车

手动挡和自动挡哪个好 有什么区别 手动挡和自动挡区别

众所周知,汽车有手动挡和自动挡两种不同挡位的车型,很多朋友买车之前都会想知道手动挡和自动挡哪个好,那今天笔者就来谈谈手动挡和自动挡到底有什么区别。手动挡和自动挡的区别价格和维修费用自动挡和手动挡相比,自动挡价格会

声明:《mysqldump备份和恢复转 mysqldump自动备份》为网友我家高冷权志龙分享!如侵犯到您的合法权益请联系我们删除