windows/linux服務器下mysql備份恢復命令介紹

windows/linux服務器下mysql備份恢復命令介紹

 

在windows服務器下mysql備份恢復我們經常會使用mysqldump命令來完成這些操作,下面我來詳細的總結一下mysqldump備份恢復命令的用法介紹。

 

設mysql安裝在c:盤,mysql數據庫的用戶名是root,密碼是123456,數據庫名是database_name,在d:盤根目錄下面存放備份數據庫,備份數據庫名字為backup20070713.sql(20070713.sql為備份日期)

備份數據庫:

mysqldump 是采用SQL級別的備份機制,它將數據表導成 SQL 腳本文件,在不同的 MySQL 版本之間升級時相對比較合適,這也是最常用的備份方法。

 代碼如下  www.aiwalls.com  

mysqldump -uroot -p123456 database_name>d:/backup20070713.sql

上面windows/下面為linux

我通常使用以下 SQL 來備份 MyISAM 表:

 代碼如下

/usr/local/mysql/bin/mysqldump -uyejr -pyejr 

–default-character-set=utf8 –opt –extended-insert=false 

–triggers -R –hex-blob -x db_name > db_name.sql

 

使用以下 SQL 來備份 Innodb 表:

 代碼如下

/usr/local/mysql/bin/mysqldump -uyejr -pyejr 

–default-character-set=utf8 –opt –extended-insert=false 

–triggers -R –hex-blob –single-transaction db_name > db_name.sql

另外,如果想要實現在線備份,還可以使用 –master-data 參數來實現,如下:

 代碼如下

/usr/local/mysql/bin/mysqldump -uyejr -pyejr 

–default-character-set=utf8 –opt –master-data=1 

–single-transaction –flush-logs db_name > db_name.sql

 

恢復數據庫:

刪除原有數據庫,建立數據庫,把備份數據庫導入。

 代碼如下

mysqladmin -uroot -p123456 drop database_name

mysqladmin -uroot -p123456 create database_name

mysql -uroot -p123456 database_name

 

用 mysqldump 備份出來的文件是一個可以直接倒入的 SQL 腳本,有兩種方法可以將數據導入。

直接用 mysql 客戶端   www.aiwalls.com  

例如:

 代碼如下

/usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql

  

用 SOURCE 語法 

其實這不是標準的 SQL 語法,而是 mysql 客戶端提供的功能,例如:

 代碼如下

SOURCE /tmp/db_name.sql;

 

這裡需要指定文件的絕對路徑,並且必須是 mysqld 運行用戶(例如 nobody)有權限讀取的文件。

註:在導入備份數據庫前,database_name如果沒有,是需要創建的;而且與backup20070713.sql中數據庫名是一樣的才能導入。

mysqldump(數據導出工具)

  mysqldump options db_name[table_name]//備份單個數據庫

  mysqldump 選項 –database database-name1 [databases-name2]….//備份指定的數據庫一個或者多個

  mysqldump 選項 –all-database //備份所有的數據庫

  鏈接選項:

  -u :指定用戶名

   -p:指定密碼

   -h:指定服務器ip或者域名

   -P(大寫):指定端口

eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user>/home/wuxiaoxiao/user.txt

輸出內容選項:

–add-drop-database:每個數據庫創建語句之前加上drop database語句

–add-drop-table:每個表創建語句之前加上drop table語句

-n:不包含數據庫的創建語句

-t:不包含數據表的創建語句

-d:不包含數據

輸出格式選項:  www.aiwalls.com  

 –compact:使輸出結果簡潔

 -c –compact-insert:使輸出文件中的insert語句包含字段名

 -T:將數據庫表中的數據備份為單純的數據文本和建表sql倆個文件

   –fields-terminated-by=name(域分割符)

   –fields-enclosed-by=name(域引用符)

   –fields-optionally-enclosed-by=name(域可選引用符)

   –fields-escaped-by=name(轉移字符)

eg:/usr/bin/mysqldump -u root -h 202.194.132.237 -P 3306 -p BBS user -T ./bak

字符集選項:

–default-character-set=name:設置導出的客戶端字符集

eg:mysql -u root -p –compact –default-character-set=utf8 BBS user > test.txt

 

 

來自壹聚教程網

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *