200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > mysql数据库整体备份和恢复_MySQL 数据库的备份和恢复

mysql数据库整体备份和恢复_MySQL 数据库的备份和恢复

时间:2021-01-03 02:36:37

相关推荐

mysql数据库整体备份和恢复_MySQL 数据库的备份和恢复

MySQL 数据库的备份和恢复基本知识>>>>>>>逻辑备份:1.mysqldump(数据导出工具)mysqldump options db_name[table_name]//备份单个数据库mysqldump 选项 --database database-name1 [databases-name2]....//备份指定的数据库一个或者多个mysqldump 选项 --all-database //备份所有的数据库链接选项:-u :指定用户名-p:指定密码-h:指定服务器ip或者域名-P(大写):指定端口eg:/usr/bin/mysqldump -u root -h db1 -P 3306 -p BBS user>/home/wuxiaoxiao/user.txt输出内容选项:--add-drop-database:每个数据库创建语句之前加上drop database语句--add-drop-table:每个表创建语句之前加上drop table语句-n:不包含数据库的创建语句-t:不包含数据表的创建语句-d:不包含数据输出格式选项:--compact:使输出结果简洁-c --compact-insert:使输出文件中的insert语句包含字段名-T:将数据库表中的数据备份为单纯的数据文本和建表sql俩个文件--fields-terminated-by=name(域分割符)--fields-enclosed-by=name(域引用符)--fields-optionally-enclosed-by=name(域可选引用符)--fields-escaped-by=name(转移字符)eg:/usr/bin/mysqldump -u root -h db1 -P 3306 -p BBS user -T ./bak字符集选项:--default-character-set=name:设置导出的客户端字符集eg:mysql -u root -p --compact --default-character-set=utf8 BBS user > test.txt其他选项:-F:备份前刷新日志-l:给所有表加读锁(备份期间使用,使备份的数据保持一致性)备份:备份所有数据库:mysqldump -u root -p --all-database > test.sql备份数据库testmysqldump -u root -p test > test.sql备份数据库test下的temp表:mysqldump -u root -p test demp > test.sql备份数据库下的所有表为逗号分割的文本,备份到/tempmysqldump -u root -p test -T /temp --fields-terminated-by ','完全恢复:msyql -u root -p < bakfile注意:将备份恢复后数据并不完整,还需要将备份后执行的日志进行重做mysqlbinlog binlog-file | mysql -u root -p***举个完整的mysqldump备份和恢复的例子:上午9点备份数据库mysqldump -u root -p -l -F test > test.dmp9点半备份完毕,然后想数据库中插入数据10点数据库突然故障,数据无法访问,需要恢复备份mysql -u root -p test < test.dmp恢复后的数据并不完整,9点半插入的数据并没有恢复使用mysqlbinlog恢复自mysqldump备份以来的binlogmysqlbinlog binlogfilename | mysql -u root -p test基于时间点恢复:如果上午10点发生了误操作.可以用下面语句进行备份和binlog将数据库恢复到故障前:mysqlbinlog --stop-date="-01-20 9:59:59" binlogfile | mysql -u root -p test跳过故障的时间点,继续执后面的binlog,完成恢复mysqlbinlog --start-date="-01-20 9:59:59" binlogfile | mysql -u root -p test基于位置恢复:mysqlbinlog --start-date="-01-20 9:55:59" --stop-date="-01-20 10:05:00" binlogfile >test.sql查看此文件,找出出错语句前后的位置号,例如是368312,368315mysqlbinlog --stop-position="368312" binlogfile | mysql -u root -p testmysqlbinlog --start-position="368315" binlogfile | mysql -u root -p test表的导入和导出:导出:mysqldump -u username -p -T target_dir dbname tablename [options]options:--fields-terminated-by=name(域分割符)--fields-enclosed-by=name(域引用符)--fields-optionally-enclosed-by=name(域可选引用符)--fields-escaped-by=name(转移字符)备份数据库下的所有表为逗号分割的文本,备份到/tempmysqldump -u root -p -T /temp test --fields-terminated-by ',' --fields-optionally-enclosed-by '"'导入:msyqlimport -u root -p [LOCAL] dbname order_tab.txt [options]OPTIONS:--fields-terminated-by=name(域分割符)--fields-enclosed-by=name(域引用符)--fields-optionally-enclosed-by=name(域可选引用符)--fields-escaped-by=name(转移字符)eg:mysqlimport -u root -p test order.txt --fields-terminated-by=',' --fields-enclosed-by='"'>>>>>>>>>>>现在来梳理下网站上的db备份过程:1. 首先我们在各db服务器上备份各自有的数据库,在本地保留一份,然后通过rsync同步到控制机上(storctrl3). 各db服务器的备份目录结构在”/data/” 下. 脚本每天凌晨2点执行.2. 另外一种备份方法通过网络备份. 脚本在控制机上(storcrtl3):/data/mysqlbak/nagios 脚本每天凌晨1点执行。3. db 恢复,先找到要恢复到哪个时间的备份数据库..然后解压缩,再倒入到对应的db服务器上就可以了.

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。