MySQL – mysqldump簡明常用命令指南
導出數據
1、備份全部數據庫的數據和表結構
mysqldump -uroot -ppassword -A >all.sql
2、只備份表結構,不備份數據
mysqldump -uroot -ppassword -A -d > database.sql
3、只備份數據庫,不備份表結構
mysqldump -uroot -ppassword -A -t > data.sql
4、備份單個數據庫的數據和表結構(只備份數據或者表結構可以用-t或者-d)
mysqldump -uroot -password dbname > dbname.sql
5、一次性備份多個數據庫的數據和表結構(只備份數據或者表結構可以用-t或者-d)
mysqldump -uroot -ppassword db1 db2 > db2.sql
導入數據
1、直接通過命令重定向導入數據
mysql -uroot -ppassword < all.sql
2、在mysql終端source文件
mysql -uroot -ppassword
mysql> source all.sql
3、還原單個數據庫(同樣可以通過mysql終端source)
mysql -uroot -ppassword db1 < db.sql
注意:
導入數據的時候,要先確認一下sql文件是否包含建表建庫語句,不然會導致導入失敗。
壓縮ibdata1空間的方法:
對一些沒用的表進行清空:
truncate table xxx;
然後optimize table xxx;
對壓縮ibdata1空間沒有效果,因爲對共享表空間不起作用。mysql ibdata1存放數據,索引等,是MYSQL的最主要的數據。
簡明壓縮ibdata1的方法是採用mysqldump備份所有數據庫後重建所有數據庫,步驟如下:
- mysqldump -uroot -ppassword --all-databases > backup.sql導出所有數據庫的數據和表結構
- 停止MySQL服務service。
- 刪除ibdata1, ib_logfile0, ib_logfile1三個文件。
- 重啓MySQL服務service。
- 導入所有備份數據和表結構 mysql-uroot -ppassword < backup.sql。
這樣就會重新建立ibdata1, ib_logfile0, ib_logfile1三個文件,存儲空間就會大大縮小。
備註:實戰示例,解疑答惑。
--不間端地思考,實時地批判你的工作!