mysql學習筆記(6)數據備份與還原

1.數據備份

1.1 使用mysqldump命令備份

mysqldump能將數據庫中的數據備份成一個文本文件,它先查出須要備份的表結構,再在文本文件中生成create語句,將表中全部記錄轉換成insert語句,這些語句在還原時使用。mysql

mysqldump的語法以下:sql

mysqldump -u username -p dbanme table1 table2 ……> backupname.sql數據庫

缺失表名時表示整個數據庫,備份的文件名能夠加上絕對路徑,一般會將備份的文件名以sql結尾。ide

eg:使用root用戶備份test庫下面的student表工具

mysqldump -uroot -p test student >/backup/studetn.sql內存

1.2 備份多個數據庫

mysqldump備份多個數據庫的語法以下:it

mysqldump -u username -p dbname1 dbname2 …… > backupname.sqlio

1.3 備份全部數據庫

mysqldump -u username -p --all-databases> backupname.sqlinnodb

1.4 直接複製整個數據庫目錄

直接複製全部目錄簡單快速,可是複製時最好先將mysql的服務停掉,避免數據不一致,並且對於innodb不適用,比較適用於myisam引擎。且最好是相同版本的mysql 數據庫,不然可能會存在文件類型不一樣的狀況。table

1.5 使用mysqlhotcopy工具快速備份

mysqlhotcopy的備份速度比mysqldump要快,mysqlhotcopy是一個perl腳本,使用lock tabales,flush tables和cp來進行快速備份。其工做原理是,先將須要備份的數據庫加一個讀操做鎖,而後用flush tables 將內存中的數據寫到硬盤,最後備份。

  使用mysqlhotcopy須要dbi的perl模塊。

用法:

mysqlhotcopy [option] dbname1 dbname2 ……  backdir/

2.數據還原

2.1 使用mysql命令還原

mysql能夠執行備份文件中的create和insert語句建立表和插入語句來還原數據。

起基本語法以下:

mysql -u username -p [dbname] <backup.sql

若是使用--all-databases參數備份了全部數據庫,那麼還原時就能夠不用指定數據庫。

2.2直接複製到數據庫目錄還原

直接複製數據庫目錄,必定要記得將數據庫的用戶組跟用戶變成mysql

相關文章
相關標籤/搜索