如何实现Mysql备份和恢复,很多新手都不是很清楚。为了帮助大家解决这个问题,下面小编就详细讲解一下。需要的人可以从中学习,希望你能有所收获。
逻辑备份:
1.mysqldump(数据导出工具)
Mydump选项sdb _ name[table _ name]//备份单个数据库
Mysqldump选项-数据库数据库-名称1[数据库-名称2].//备份一个或多个指定的数据库。
Mysqldump选项-所有数据库///备份所有数据库
选项:
-u :指定用户名
-p:指定密码
-h:指定服务器ip或域名
-P(大写):指定端口。
eg :/usr/bin/MySQL dump-u root-h 202.194.132.237-P 3306-P BBS用户/主页/吴笑笑/用户. txt
输出内容选项:
-add - add-drop-database:在每个数据库创建语句之前添加一个drop database语句。
-add-drop-table :在每个表创建语句之前添加drop table语句。
-n:不包含数据库的创建语句。
-t:不包含数据表的创建语句。
-d:不包含数据。
输出格式选项:
- compact:使输出变得简单。
- c - compact-insert:使输出文件中的insert语句包含字段名。
-T:将数据库表中的数据备份到两个文件中:简单数据文本和表sql。
-字段-终止于=名称-终止于=名称(域分隔符)
-字段-用=name-by=name括起来(字段引用)
-字段-可选-用=name括起来(可选字段引用)
-字段-转义符=名称(传输字符)
eg :/usr/bin/MySQL dump-u root-h 202.194.132.237-P 3306-P BBS用户-T ./bak
字符集选项:
-默认-字符集=名称:设置导出的客户端字符集。
eg : my SQL-u root-p-compact-default-字符集=utf8 BBS用户测试. txt
其他选项:
-F:备份前刷新日志
-l:向所有表添加读锁定(在备份期间使用,以保持备份数据的一致性)
[@more@]
备份:
备份所有数据库:
MySQL dump-u root-p-all-database test . SQL
备份数据库测试
MySQL dump-u root-p test . SQL
数据库测试下的备份临时表:
MySQL dump-u root-p test demp test . SQL
备份数据库下的所有表都是逗号分隔的文本,并备份到/temp。
MySQL dump-u root-p test-T/temp-field-以“,”结尾
完全恢复:
msyql -u root -p bakfile
注意:备份恢复后的数据不完整,备份后执行的日志需要重做。
MySQL binlog binlog-file | MySQL-u root-p * * *
给出mysqldump备份和恢复:的完整示例
上午9点备份数据库
mysqldump -u root -p -l -F测试测试. dmp
备份在9: 30完成,然后我想将数据插入数据库。
10点,数据库突然出现故障,数据无法访问,需要恢复备份。
MySQL-u root-p test . DMP
恢复的数据不完整,9: 30插入的数据不恢复。
从mysqldump备份后,使用mysqlbinlog还原binlog。
MySQL binlog binlog filename | MySQL-u root-p测试
基于时间点恢复:
如果在上午10: 00发生误操作,可以使用以下语句进行备份并binlog,将数据库恢复到故障前的:
MySQL binlog-stop-date=' 2005-04-20 9:59:59 ' binlog file | MySQL-u root-p测试
跳过故障时间点,继续执行以下binlog以完成恢复。
MySQL binlog-start-date=' 2005-04-20 9:59:59 ' binlog file | MySQL-u root-p测试
基于位置恢复:
mysqlbinlog -开始日期='2005-04-20 9:55:59' -停止日期=' 2005-04-20 10:05:00 ' binlog file test . SQL
看看这个文件,找出错误语句前后的位置号,比如368312,368315。
MySQL binlog-stop-position=' 368312 ' binlog file | MySQL-u root-p测试
MySQL binlog-start-position=' 368315 ' binlog file | MySQL-u root-p测试
表:的导入和导出
导出:
MySQL dump-u username-p-T target _ dir dbname tablename[选项]
选项:
-字段-终止于=名称-终止于=名称(域分隔符)
-字段-用=name-by=name括起来(字段引用)
-字段-可选-用=name括起来(可选字段引用)
-字段-转义符=名称(传输字符)
备份数据库下的所有表都是逗号分隔的文本,并备份到/temp。
mysqldump-u root-p-T/temp test-field-以‘,’结尾-field-可选-用‘’括起来
导入:
msyql import-u root-p[LOCAL]db name order _ tab . txt[选项]
选项:
-字段-终止于=名称-终止于=名称(域分隔符)
-字段-用=name-by=name括起来(字段引用)
-字段-可选-用=name括起来(可选字段引用)
-字段-转义符=名称(传输字符)
eg : MySQL import-u root-p test order . txt-fields-以=','-fields-以=' '括起来'
阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/106539.html