怎么恢复用mysqldump备份数据和恢复数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么恢复用mysqldump备份数据和恢复数据相关的知识,希望对你有一定的参考价值。
1、备份:
- 写一个脚本:
!/bin/bash`
echo ‘dump begin‘
Now=$(date +%d-%m-%Y--%H:%M:%S) //获取当前时间
File=backup-$Now.sql.gz //组成文件名
mysqldump -u zc_test -pzc_test2016 -h test.rtdream.com --port 3307 --all-databases --single-transaction --routines --add-drop-table --quick --default-character-set=utf8 --flush-privileges | gzip > /root/mysql_backup/$File
echo ‘dump end‘
- 其中mysqldump 参数中:
-h
是 要连接的hostname-p
是 要连接的port--all-databases
说明备份的是所有数据库--single-transaction
是在dump前发送一个begin命令,如果不加有可能报错:mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user ‘XXXXXX‘@‘XXXXXX‘ for table ‘XXXXXX‘ when using LOCK TABLES‘
--routines
说明备份的时候也备份过程和函数--add-drop-table
是在每句create table前加一句drop table--default-character-set=utf8
备份数据的时候编码用utf8,据说不加恢复视图的时候会出现编码错误--flush-privileges
备份名字叫mysql的数据库时加上刷新权限的命令--quick mysqldump
可以按行检索和转储表内容,也可以检索表的整个内容并在dump之前把内容缓冲在内存中。如果你正在dump一个大表,存在缓冲里就可能出现问题。--quick选项强制按行检索和转储表内容,不把内容先存在缓冲里| gzip
就是把内容直接压缩出去
2、恢复备份
- 命令行进入mysql:
mysql -u root -p
- `source ‘你的备份文件路径‘ * (注意备份时的mysql版本要和原来的一样,原来5.7现在也是5.7,不然容易出问题) *
以上是关于怎么恢复用mysqldump备份数据和恢复数据的主要内容,如果未能解决你的问题,请参考以下文章