mysql备份与恢复

mysql备份与恢复
系统运行中,增量备份与整体备份。
例:每周日整体备份一次,周一至周六备份当天。
如果周五出了问题,可以用周日的整体+周一、二、三、四来恢复。

备份的工具
有第三方的收费备份工具,
目前我们所学的是系统自带的备份功能,mysqldump。

mysqldump可以导出

(1)启动cmd
mysqldump -uroot -p1234 db_library>d:/20120724.sql
(在最后最好不要加“;”号)
(可以直接用mysqldump这个命令是因为设置了环境变量)



例1:导出mugua库下面的account表
mysqldump -u用户名 -p密码 库名 表1 表2 表3>地址/备份文件名称
导出的是建表语句及insert语句

例2:如何导出一个库下面的所有表?
mysqldump -u用户名 -p密码 库名 表1 表2 表3>地址/备份文件名称

例3:如何导出以库为单位导出?
mysqldump -uroot -p1234 -B mugua php > d:/mandp.sql

例4:如何导出所有库?
mysqldump -uroot -p1234 -A > d:/all.sql

例5:远程数据库备份
mysqldump -uroot -p1234 -h 192.168.1.100 -B mqs > d:/mqs.sql

带有-B参数的话,用mysql命令恢复到数据库的时候数据库名还是mqs,不能转变成其他的名字,不加-B参数就可以重命名。

恢复:
(1)登陆到mysql命令行
对于库级的备份文件
mysql>source 备份文件地址
mysql>source d:/mandp.sql

对于表级的备份文件
mysql>use 库名
mysql>source 备份文件地址
mysql>source d:/mandphp.sql;

(2)不登陆到mysql命令行
针对库级的备份文件
mysql -u用户名 -p密码 < 库级备份文件地址
mysql -uroot -p1234 < d:/mandp.sql

针对表级的备份
mysql -u用户名 -p密码 库名 < 表级备份文件地址

修改数据库名称:

导出:

/usr/bin/mysqldump -uroot -p mqs_view > d:/mqs_view.sql;

导入:

create databases mqs_view_nj;

/usr/bin/mysql -uroot -p mqs_view_nj < d:/mqs_view.sql;



3.2 SELECT INTO OUTFILE 则是把数据导出来成为普通的文本文件,可以自定义字段间隔的方式,方便处理这些数据。

  例子:SELECT INTO OUTFILE '/tmp/db_name/tbl_name.txt' FROM tbl_name;注意,必须要有FILE 权限才能执行本SQL,并且文件 /tmp/db_name/tbl_name.txt 必须能被 mysqld用户可写,导出的文件不能覆盖已经存在的文件,以避免安全问题。

  用 SELECT INTO OUTFILE 方法备份出来的文件,可以运行 LOAD DATA INFILE 语句来恢复数据表。

  例子: LOAD DATA INFILE '/tmp/db_name/tbl_name.txt' INTO TABLE tbl_name;权限要求类似上面所述。倒入数据之前,数据表要已经存在才行。如果担心数据会发生重复,可以增加 REPLACE关键字来替换已有记录或者用 IGNORE 关键字来忽略他们。


直接拷贝文件夹
C:Documents and SettingsAll UsersApplication DataMySQLMySQL Server 5.5data

原文地址:https://www.cnblogs.com/jingyunyb/p/3417905.html