逻辑数据导出(备份)

用法:

select  xxx  into outfile '/path/file' from table_name; 

mysql>select * into outfile '/back/emp3.sql'  from emp;

 无论是什么存储引擎,本身是一种数据导出的方法,同时可以用来辅助备份,它可以对一个表的其中一列或者某几列做备份,如果是多列的话用逗号隔开

逻辑数据导入(恢复)

方法一:

load data local infile '/path/file'  into  table table_name;   

mysql> load data local infile '/back/emp.sql' into table emp;

 说明:该方法要求在编译数据库时要加上--enable-local-infile参数才可以使用

方法二:

# mysqlimport   dbname /path/filename

说明:filename 必须和数据库里面表名一样

综合示例

例一

# 创建表
mysql> create table t1(id int, name varchar(32));

# 插入数据
mysql> insert into t1 values(1,'haha'),(2,'wowo'),(3,'lili'),(4,'yoyo');

# 查看表
mysql> select * from t1;
+------+------+
| id   | name |
+------+------+
|    1 | haha |
|    2 | wowo |
|    3 | lili |
|    4 | yoyo |
+------+------+

# 备份
mysql> select id, name into outfile '/tmp/back_mysql' from t1;
Query OK, 4 rows affected (0.01 sec)

查看备份

[root@Admin ~]# cat /tmp/back_mysql 
1    haha
2    wowo
3    lili
4    yoyo

删除数据并测试

mysql> delete from t1 where id=3;
Query OK, 1 row affected (0.00 sec)

mysql> select * from t1;
+------+------+
| id   | name |
+------+------+
|    1 | haha |
|    2 | wowo |
|    4 | yoyo |
+------+------+
3 rows in set (0.00 sec)

mysql> load data local infile '/tmp/back_mysql' into table t1;
Query OK, 4 rows affected (0.00 sec)
Records: 4  Deleted: 0  Skipped: 0  Warnings: 0

mysql> select * from t1;
+------+------+
| id   | name |
+------+------+
|    1 | haha |
|    2 | wowo |
|    4 | yoyo |
|    1 | haha |
|    2 | wowo |
|    3 | lili |
|    4 | yoyo |
+------+------+
7 rows in set (0.00 sec)
View Code

相关文章: