一、逻辑备份

备份的是建表、建库、插入等操作所执行的sql语句。适用于中小型数据库,效率相对较低。

本质:导出sql语句文件

优点:不论是什么存储引擎,都可以用mysqldump备成SQL语句 

缺点:速度较慢,导入时可能会出现格式不兼容的突发情况,无法做增量备份和累计增量备份。

一、备份     mysqldump

1.备份全部数据库:

mysqldump -u用户名 -p'密码'   [-A  | --all-databases]   > splname             ps:[  |  ]   中括号内二选一

ps:远程备份   mysqldump -h 服务器  -u用户名 -p密码  数据库 > 备份文件名.sql

[root@mysql01 opt]# mysqldump -uroot -p1 -A > all.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@mysql01 opt]# ll
总用量 872
-rw-r--r-- 1 root root 892412 10月  6 10:03 all.sql

2.备份部分数据库

mysqldump -u用户名 -p'密码'  [-B | --databases]  database_name > sqlname     ps:可以同时备份多个库

[root@mysql01 opt]# mysqldump -uroot -p1 -B company > company.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@mysql01 opt]# ll
总用量 4
-rw-r--r-- 1 root root 2294 10月  6 10:10 company.sql

3.备份表

mysqldump -u用户名 -p'密码'  database_name   table1_name table2_name > sqlname   ps:可以同时备份多个表

[root@mysql01 opt]# mysqldump -uroot -p1 company student > student.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@mysql01 opt]# ll
总用量 4
-rw-r--r-- 1 root root 2100 10月  6 10:19 student.sql

4.备份表的结构:

mysqldump -u用户名 -p'密码'  -d  database_name   table_name> sqlname

[root@mysql01 opt]# mysqldump -uroot -p1 -d company student >  student_jiegou_sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@mysql01 opt]# ll
总用量 4
-rw-r--r-- 1 root root 1851 10月  6 10:24 student_jiegou_sql

5.备份表数据:

a.首先进入数据库查询是否支持将数据备份到本地以及备份路径

mysql> show variables like "secure%";
+------------------+-----------------------+
| Variable_name    | Value                 |
+------------------+-----------------------+
| secure_auth      | ON                    |
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
2 rows in set (0.00 sec)

b.备份数据   -----在MySQL内操作

select * from database_name.table_name into outfile '/var/lib/mysql-files/sqlname';

mysql> select * from mysql.user into outfile '/var/lib/mysql-files/a.txt';
Query OK, 5 rows affected (0.00 sec)

ps: 指定导出   以@为间隔 以#为行尾

mysql> select * from mysql.user into outfile '/var/lib/mysql-files/a.txt' fields terminated by'@' lines terminated by '#';   

c.前往指定路径查看

[root@mysql01 opt]# cd /var/lib/mysql-files/
[root@mysql01 mysql-files]# ll
总用量 4
-rw-rw-rw- 1 mysql mysql 881 10月  6 10:34 a.txt

二、数据恢复

1.恢复库以及表

方法一:命令行使用

 mysql  -u用户名 -p'密码' < sqlname                

ps:恢复表时需要指定库  ,在<前加上库名。mysql -u用户名 -p'密码' database_name  <sqlname 

[root@mysql01 opt]# mysql -uroot -p1 < all.sql 

方法二 :MySQL内使用  适合小文件

mysql> source /opt/sqlname    (sql文件存放路径)

mysql> source /opt/student.sql;

2.恢复表结构

mysql -u用户名 -p‘密码’ -d database_name table_name <sqlname

ps:恢复表结构前需要先在数据库中创建一个库。如:mysql> create database s1;

[root@mysql-server ~]# mysqldump -uroot -p1 -D  s1 < /otc/student_jiegou_sql

3.只恢复表中数据     mysql内操作

mysql> load data infile '/var/lib/mysql-files/a.txt'  into table table_name;

mysql> load data infile '/var/lib/mysql-files/a.txt' into table user;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值