守望先锋等级代练
點擊這里給我發消息 010-82967418
當前位置:網站建設>網絡知識
如何備份MYSQL數據庫
點擊量:4366 發布時間:2011-4-27 15:20:43
mysqlhotcopy備份

mysqlhotcopy 是一個 PERL 程序。它使用 LOCK TABLES、FLUSH
TABLES 和 cp 或 scp
來快速備份數據庫。它是備份數據庫或單個表的最快的途徑,但它只能運行在數據庫文件(包括數據表定義文件、數據文件、索引文件)所在的機器上。
mysqlhotcopy 只能用于備份 MyISAM,并且只能運行在 類Unix 和 NetWare 系統上。

mysqlhotcopy 支持一次性拷貝多個數據庫,同時還支持正則表達。

示例: root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=root
-p=123456 database /tmp (把數據庫目錄 database 拷貝到 /tmp
下)root#/usr/local/mysql/bin/mysqlhotcopy -h=localhost -u=root -p=123456
db_name_1 ... db_name_n /tmproot#/usr/local/mysql/bin/mysqlhotcopy
-h=localhost -u=root -p=123456 db_name./regex/
/tmp更詳細的使用方法請查看手冊,或者調用下面的命令來查看 mysqlhotcopy 的幫助:

perldoc /usr/local/mysql/bin/mysqlhotcopy注意,想要使用 mysqlhotcopy,必須要有
SELECT、RELOAD(要執行 FLUSH TABLES) 權限,并且還必須要能夠有讀取 datadir/db_name 目錄的權限。

還原mysqlhotcopy 備份出來的是整個數據庫目錄,使用時可以直接拷貝到 mysqld
指定的 datadir (在這里是 /usr/local/mysql/data/)目錄下即可,同時要注意權限的問題,如下例: root#cp
-rf db_name /usr/local/mysql/data/root#chown -R nobody:nobody
/usr/local/mysql/data/ (將 db_name 目錄的屬主改成 mysqld 運行用戶)

mysqldump備份

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

示例:mysqldump -uroot -p database table > /home/jobs/back.sql

mysqldump也可做增量備份,mysqldump相關參數網上較多,就不在此一一贅述了

SQL 語法備份

備份BACKUP TABLE 語法其實和 mysqlhotcopy
的工作原理差不多,都是鎖表,然后拷貝數據文件。它能實現在線備份,但是效果不理想,因此不推薦使用。它只拷貝表結構文件和數據文件,不同時拷貝索引文
件,因此恢復時比較慢。例子: BACK TABLE tbl_name TO '/tmp/db_name/';注意,必須要有 FILE
權限才能執行本SQL,并且目錄 /tmp/db_name/ 必須能被 mysqld 用戶可寫,導出的文件不能覆蓋已經存在的文件,以避免安全問題。

恢復用 BACKUP TABLE 方法備份出來的文件,可以運行 RESTORE TABLE 語句來恢復數據表。例子: RESTORE TABLE FROM '/tmp/db_name/';權限要求類似上面所述。文章由新翼北京網站建設,北京網站制作,北京網頁設計(www.vfqbh.icu)編輯整理,您有什么網站制作上的問題歡迎您隨時咨詢。電話:010-82967418

Copyright2006-2013 xinyisheji.com
新翼設計出品-北京網站建設,北京網站設計,北京網站制作,我們值得信賴. 京 ICP備:10043999
htm網站地圖 | xml網站地圖 | 網站統計
+86-010-82967418 52431618  
[email protected]  
www.vfqbh.icu www.xinyisheji.com  
北京市海淀區西三旗上奧世紀中心B-8層  
QQ在線咨詢
  • 點擊這里給我發消息
  • 點擊這里給我發消息
  • 點擊這里給我發消息
售后咨詢熱線
點擊這里給我發消息
010-82967418
守望先锋等级代练