Mysql自动备份与还原 转

一、自动备份:将以下代码保存为*.bat批处理脚本,然后再添加Windows定时作业,如每天凌晨2点执行:
set s=%date:~0,4%%date:~5,2%%date:~8,2%%time:~1,1%%time:~3,2%%time:~6,2%
mysqldump -u root -ppassword databasename > d:databasename_%s%_bak.sql

说明:databasename 为数据库名 password为数据库密码,系统自动以当前日期时间备份至指定目录。

a.只导出表结构:mysqldump -uroot -–no-data test > test.txt

b.只导出a表的数据: mysqldump -uroot -–no-create-info test a> test.txt

【注意】:用mysqldump,如果不加任何参数,dump出来的文件,如果存在表则会先drop table,然后再create table 
,最后insert数据。所以要特别注意。可以通过添加参数去掉drop或者直接去掉create,如mysqldump –no-create-info 
、mysqldump –add-drop-table=’false’ ,当然最安全最正确的做法是导入之前先检查文件,是否存在drop等命令会破坏原有表。

二、还原数据库: mysql -u root -p databasename< d:databasename.sql

2.mysqldump

导出整个库的表结构

mysqldump -h链接名 -u用户名 -P3306 -p -d 库名 > a.sql

导出单张表的数据(包括drop、create语句)

mysqldump -h链接名 -u用户名 -P3306 -p 库名 表名 > a.sql

导出单张表的数据(只有insert语句)

mysqldump –no-create-info -h链接名 -u用户名 -P3306 -p 库名 表名 > a.sql

导出单张表的数据(条件过滤)

mysqldump –no-create-info –where=”id=1” -h链接名 -u用户名 -P3306 -p 库名 表名 > a.sql

注意:- -no-create-info 前面是两个横杠,csdn显示有问题

3.登录远程数据库

mysql -h 链接 -u登录名 -P3306 -p

4.过滤一张表的数据到另一张表

insert into tablename values (select * from tablename where condition=?)

原文地址:https://www.cnblogs.com/hanxing/p/7790032.html