mysqldump備份mysql數據庫


如題

准備數據

創建一個數據庫d1,表t1

表結構如下

mysql> desc t1;
+-------+------------+------+-----+---------+----------------+
| Field | Type       | Null | Key | Default | Extra          |
+-------+------------+------+-----+---------+----------------+
| xh    | int        | NO   | PRI | NULL    | auto_increment |
| xm    | varchar(5) | YES  |     | NULL    |                |
+-------+------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

插入數據后,內容如下:

mysql> select * from t1;
+----+------+
| xh | xm   |
+----+------+
|  1 | zs   |
|  2 | ls   |
+----+------+
2 rows in set (0.00 sec)

 

備份

mysqldump命令的大致用法:mysqldump -h 127.0.0.1 -u root -p666 xxx > f:\數據庫備份練習\xxx.sql

總的來說,用法跟進入mysql類似,其中-h后面接主機(本機可省略),xxx是數據庫名,>后面跟備份文件名(也可以帶路徑)。

注意是在操作系統命令行輸入,不是在mysql里。

操作如下

[root@VM-4-9-centos ~]# mysqldump -u root -p d1 > d1.bak
Enter password:
[root@VM-4-9-centos ~]# ls
d1.bak 

還原

要點:先建庫,再還原。

刪除數據庫

mysql> drop database d1;
Query OK, 1 row affected (0.03 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

還原

[root@VM-4-9-centos ~]# mysql -u root -p d1 < d1.bak
Enter password:

查看還原效果

mysql> use d1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> desc t1;
+-------+------------+------+-----+---------+----------------+
| Field | Type       | Null | Key | Default | Extra          |
+-------+------------+------+-----+---------+----------------+
| xh    | int        | NO   | PRI | NULL    | auto_increment |
| xm    | varchar(5) | YES  |     | NULL    |                |
+-------+------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> select * from t1;
+----+------+
| xh | xm   |
+----+------+
|  1 | zs   |
|  2 | ls   |
+----+------+
2 rows in set (0.00 sec)

 原理

mysqldump 是 MySQL 自帶的邏輯備份工具。它的備份原理是連接到 MySQL 數據庫,將需要備份的數據查詢出來,將查詢出的數據轉換成對應的sql語句,當我們需要還原這些數據時,只要執行這些sql語句,如insert,即可將對應的數據還原。

其他數據庫備份,也盡量使用這種原理。在跨版本的時候尤其有優勢。

注意:

mysql導出導入 高版本(8)到低版本(5.7)

utf8mb4_0900_ai_ci
替換成
utf8mb4_general_ci


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM