MySQL備份與還原

2022-05-15 06:10:02 字數 1265 閱讀 1074

一、資料備份

1. mysqldump方式:

1) shell> mysqldump [options] db_name [tables]>backupname.sql

備份乙個資料庫,當有tables時,則只備份該資料庫中的tables表。

例:shell>mysqldump -u aiml -p students student>d:/bksql.sql

enter password: ****

2) shell> mysqldump [options] --dabatase db1 [db2 db3...]>backupname.sql

備份多個資料庫

例:shell>mysqldump -u root -p --database students p1>d:/twodb.sql

enter password: ****

3) shell> mysqldump [options] --all-database>backupname.sql

備份所有資料庫

例:shell>mysqldump -u root -p --all-database>d:/alldb.sql

enter password: ****

2. mysqlhotcopy方式:

如果不能停止mysql伺服器,可以採用mysqlhotcopy工具。mysqlhotcopy工具是乙個perl指令碼,主要應用在linux作業系統中。

mysqlhotcopy工具使用lock tables、flush tables和cp來進行快速備份。原理:先將要備份的資料庫加上乙個讀操作鎖,然後,用flush tables將記憶體中的資料寫回到硬碟上的資料庫中,最後,把要備份的資料庫檔案複製到目標目錄。

shell> mysqlhotcopy [options] dbname1 dbname2… backupdir/

注:mysqlhotcopy只適合myisam儲存引擎。

3. 直接複製整個資料目錄

該方法雖然簡單快速,但不是最好的備份方法。因為,實際情況可能不允許停止mysql伺服器。而且,這種方法對innodb儲存引擎不適用,且還原時最好是相同版本的mysql資料庫。

二、資料還原

1. 使用mysql命令還原

shell> mysql –u root –p [dbname]2. 直接複製到資料庫目錄

使用mysqlhotcopy和直接複製整個資料目錄方式備份的資料庫資料,可以通過這種方式還原,但是注意,必須保證兩個mysql資料庫的主版本號是相同的,且這種方式對innodb型別表不適用。

mysql備份與還原

假設mysql 安裝在c 盤,mysql資料庫的使用者名稱是root,密碼是123456,資料庫名是database name,在d 盤根目錄下面存放備份資料庫,備份資料庫名字為backup20070713.sql。備份資料庫 mysqldump uroot p123456 database nam...

mysql備份與還原

備份檔案 檔案開頭記錄了mysql的版本 備份的主機名和資料庫名。檔案中,以 開頭的的都是sql語言的注釋 不會被執行 但是,以 40101 等形式開頭 的是與mysql有關的注釋。40101 是mysql資料庫的版本號,這裡就表示mysql 4.1.1 如果還原資料時,mysql的版本比4.1.1...

mysql備份與還原

工作中用到了mysql,在這裡做個備忘記錄 1 備份 匯出整個資料庫database mysqldump u root p database dump.sql 只匯出表結構 mysqldump u root p d database dump.sql 匯出單個資料表table mysqldump a...