##### 備份表
```shell
語法: # mysqldump -u root -p1 db1 t1 > /db1.t1.bak
[root@mysql-server ~]# mkdir /home/back #創建備份目錄
[root@mysql-server ~]# mysqldump -uroot -p'qf123' company employee5 > /home/back/company.employee5.bak
mysqldump: [Warning] Using a password on the command line interface can be insecure.
備份多個表:
語法: mysqldump -u root -p1 db1 t1 t2 > /db1.t1_t2.bak
[root@mysql-server ~]# mysqldump -uroot -p'qf123' company new_t1 new_t2 > /home/back/company.new_t1_t2.bak
```
##### 3、備份庫
```shell
備份一個庫:相當于將這個庫里面的所有表全部備份。
語法: # mysqldump -u root -p1 db1 > /db1.bak
[root@mysql-server ~]# mysqldump -uroot -p'qf123' company > /home/back/company.bak
備份多個庫(-B):
語法:mysqldump -u root -p1 -B db1 db2 db3 > /db123.bak
[root@mysql-server ~]# mysqldump -uroot -p'qf123' -B company testdb > /home/back/company_testdb.bak
備份所有的庫:
語法:# mysqldump -u root -p1 -A > /alldb.bak
[root@mysql-server ~]# mysqldump -uroot -p'qf123' -A > /home/back/allbase.bak
```
到目錄下面查看一下:

##### 4、恢復資料庫和表
**為保證資料一致性,應在恢復資料之前停止資料庫對外的服務,停止binlog日志 因為binlog使用binlog日志恢復資料時也會產生binlog日志。**
為實驗效果先將剛才備份的資料庫和表洗掉了。登陸資料庫:
[root@mysql-server ~]# mysql -uroot -pqf123
mysql> show databases;

mysql> drop database company;
mysql> \q
##### 5、恢復庫
```shell
登陸mysql創建一個庫
mysql> create database company;
恢復:
[root@mysql-server ~]# mysql -uroot -p'qf123' company < /home/back/company.bak
```
##### 6、恢復表
```shell
登陸到剛才恢復的庫中將其中的一個表洗掉掉
mysql> show databases;
mysql> use company
mysql> show tables;
+-------------------+
| Tables_in_company |
+-------------------+
| employee5 |
| new_t1 |
| new_t2 |
+-------------------+
mysql> drop table employee5;
開始恢復:
mysql> set sql_log_bin=0; #停止binlog日志(可選)
Query OK, 0 rows affected (0.00 sec)
mysql> source /home/back/company.employee5.bak; -------加路徑和備份的檔案
恢復方式二:
# mysql -u root -p1 db1 < db1.t1.bak
庫名 備份的檔案路徑
```
##### 7、備份及恢復表結構
```shell
1.備份表結構:
語法:mysqldump -uroot -p123456 -d databasename tablename > dump.sql
[root@mysql-server ~]# mysqldump -uroot -p'qf123' -d company employee5 > /home/back/emp.bak
恢復表結構:
登陸資料庫創建一個庫
mysql> create database t1;
語法:# mysql -u root -p1 -D db1 < db1.t1.bak
[root@mysql-server ~]# mysql -uroot -p'qf123' -D t1 < /home/back/emp.bak
```
登陸資料查看:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/15732.html
標籤:服務器
