mysqldump是MySQL數據庫中一個非常重要的備份工具,它能夠將數據庫中的數據和結構導出為一個SQL文件,以便在需要的時候進行恢復或遷移。下面是mysqldump的使用詳解:
mysqldump [選項] [數據庫名] > [導出文件]
選項說明:
-u 用戶名:指定連接數據庫的用戶名
-p 密碼:指定連接數據庫的密碼
-h 主機名:指定連接數據庫的主機名
–opt:使用一些優化選項,例如添加LOCK TABLES和/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;等語句
–default-character-set=utf8:指定導出文件的字符集為utf8
mysqldump -u root -p mydatabase > mydatabase.sql
導出整個數據庫mydatabase,并將結果保存到mydatabase.sql文件中。
mysqldump -u root -p --databases db1 db2 db3 > mydatabases.sql
導出多個數據庫db1、db2和db3,并將結果保存到mydatabases.sql文件中。
mysqldump -u root -p mydatabase table1 table2 > mytables.sql
導出數據庫mydatabase中的表table1和table2,并將結果保存到mytables.sql文件中。
mysqldump -u root -p --no-data mydatabase table1 table2 > mytables.sql
導出數據庫mydatabase中的表table1和table2的結構,不包含數據,并將結果保存到mytables.sql文件中。
mysqldump -u root -p --no-create-info mydatabase table1 table2 > mytables.sql
導出數據庫mydatabase中的表table1和table2的數據,不包含表結構,并將結果保存到mytables.sql文件中。
mysqldump -u root -p mydatabase --where=“id > 100” > mydata.sql
導出數據庫mydatabase中滿足條件"id > 100"的查詢結果,并將結果保存到mydata.sql文件中。
mysqldump -u root -p mydatabase --no-create-info > mydatabase_data.sql
mysqldump -u root -p mydatabase --no-data > mydatabase_structure.sql
分別將數據庫mydatabase的表結構和數據導出到mydatabase_structure.sql和mydatabase_data.sql文件中。
mysqldump -u root -p mydatabase | gzip > mydatabase.sql.gz
導出數據庫mydatabase,并將結果壓縮為mydatabase.sql.gz文件。
導入:mysql -u root -p mydatabase < mydatabase.sql
導出:mysqldump -u root -p mydatabase > mydatabase.sql