數據備份與恢復

環境要求:
1.邏輯備份工具 mysqldump
2.使用mysql 恢復數據庫


**步驟一:使用mysqldump進行邏輯備份

1)備份MySQL服務器上的所有庫
將所有的庫備份爲mysql-all.sql文件:
[root@MySQL50 ~]# mysqldump -uroot -p --all-databases > /root/alldb.sql
Enter password:
同時備份db1、db5庫,保存爲data/db.sql文件:
[root@MySQL50 ~]# mysqldump -u root -p -B db1 db5 > mydata/db.sql
Enter password:
查看備份文件userdb.sql的部分內容:
[root@MySQL50 ~]# grep '^CREATE DATA' mydata/db.sql
CREATE DATABASE /!32312 IF NOT EXISTS/ db1 /!40100 DEFAULT CHARACTER SET latin1 /;
CREATE DATABASE /!32312 IF NOT EXISTS/ db5 /!40100 DEFAULT CHARACTER SET latin1 /;
步驟二:使用mysql命令從備份中恢復數據庫、表
1)創建名爲db1cp的新庫
mysql> create database db1cp;
Query OK, 1 row affected (0.09 sec)
[root@MySQL50 ~]# mysqldump -uroot -p db1 > mydata/dbcp1.sql
Enter password:
2)導入備份文件,在新庫中重建表及數據
[root@MySQL50 ~]# mysql -uroot -p db1cp < mydata/dbcp1.sql
Enter password:
3)確認新庫正常,啓用新庫
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| db1cp |
| db5 |
| mysql |
| performance_schema |
| sys |
+--------------------+
7 rows in set (0.00 sec)
mysql> show tables;
+-----------------+
| Tables_in_db1cp |
+-----------------+
| t1 |
+-----------------+
1 row in set (0.00 sec)

mysql> select * from t1;
+------+------+------+
| id | name | age |
+------+------+------+
| 1 | sky | 19 |
| 2 | tom | 20 |
+------+------+------+
2 rows in set (0.00 sec)
**4)廢棄或刪除舊庫
ysql> drop database db1;
Query OK, 1 row affected (0.18 sec)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章