欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
mysql的備份與修復

部里討論新網(wǎng)站的數據庫平臺時(shí),同事提及了mysql常用的備份策略(導出sql腳本)可能在恢復的時(shí)候出現問(wèn)題,需要再仔細考察一下mysql的備份與恢復功能。上午抽空看了一下mysql手冊,做一下筆記。

1、MyISAM 表類(lèi)型的數據庫以文件的形式保存,所以直接拷貝備份與恢復即可。需要注意的是,如果要保證備份的一致性,要先對相關(guān)表執行LOCK TABLES操作(只需讀鎖定即可),然后對表執行FLUSH TABLES操作(用于確保在備份之前所有內存中的數據被寫(xiě)入硬盤(pán))。這種方式通過(guò)shell比較容易實(shí)現定期備份。

2、導出文本文件備份(sql級腳本):

  1. SELECT * INTO OUTFILE 'file_name' FROM tbl_name;

這樣會(huì )在服務(wù)器上生成備份文件,需要注意的是它不能覆蓋已有文件,所以輸出的’file_name’要確保不重名?;謴蛡浞菘梢允褂?LOAD DATA INFILE 操作或 mysqlimport 工具。

3、使用 mysqldump 進(jìn)行sql級別的備份:

  1. shell>  mysqldump --tab=/path/to/some/dir --opt db_name

mysqldump 的一些主要參數(全部參數):

* –compatible=name
導出的數據將和哪種數據庫或哪個(gè)舊版本的 MySQL 服務(wù)器相兼容,值可以為 ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用幾個(gè)值,用逗號將它們隔開(kāi)。

* –complete-insert,-c
導出的數據采用包含字段名的完整 INSERT 方式,也就是把所有的值都寫(xiě)在一行。這么做能提高插入效率,但是可能會(huì )受到 max_allowed_packet 參數的影響而導致插入失敗。需要謹慎使用該參數。

* –default-character-set=charset
指定導出數據時(shí)采用何種字符集,如果數據表不是采用默認的 latin1 字符集的話(huà),那么導出時(shí)必須指定該選項,否則再次導入數據后將產(chǎn)生亂碼問(wèn)題。

* –disable-keys
告訴 mysqldump 在 INSERT 語(yǔ)句的開(kāi)頭和結尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和 /*!40000 ALTER TABLE table ENABLE KEYS */; 語(yǔ)句,這能大大提高插入語(yǔ)句的速度,因為它是在插入完所有數據后才重建索引的。該選項只適合 MyISAM 表。

* –extended-insert = true|false
默認情況下,mysqldump 開(kāi)啟 –complete-insert 模式,因此不想用它的的話(huà),就使用本選項,設定它的值為 false 即可。

* –hex-blob
使用十六進(jìn)制格式導出二進(jìn)制字符串字段。如果有二進(jìn)制數據就必須使用本選項。影響到的字段類(lèi)型有 BINARY、VARBINARY、BLOB。

* –lock-all-tables,-x
在開(kāi)始導出之前,提交請求鎖定所有數據庫中的所有表,以保證數據的一致性。這是一個(gè)全局讀鎖,并且自動(dòng)關(guān)閉 –single-transaction 和 –lock-tables 選項。

* –lock-tables
它和 –lock-all-tables 類(lèi)似,不過(guò)是鎖定當前導出的數據表,而不是一下子鎖定全部庫下的表。本選項只適用于 MyISAM 表,如果是 Innodb 表可以用 –single-transaction 選項。

* –no-create-info,-t
只導出數據,而不添加 CREATE TABLE 語(yǔ)句。

* –no-data,-d
不導出任何數據,只導出數據庫表結構。

* –opt
這只是一個(gè)快捷選項,等同于同時(shí)添加 –add-drop-tables –add-locking –create-option –disable-keys –extended-insert –lock-tables –quick –set-charset 選項。本選項能讓 mysqldump 很快的導出數據,并且導出的數據能很快導回。該選項默認開(kāi)啟,但可以用 –skip-opt 禁用。注意,如果運行 mysqldump 沒(méi)有指定 –quick 或 –opt 選項,則會(huì )將整個(gè)結果集放在內存中。如果導出大數據庫的話(huà)可能會(huì )出現問(wèn)題。

* –quick,-q
該選項在導出大表時(shí)很有用,它強制 mysqldump 從服務(wù)器查詢(xún)取得記錄直接輸出而不是取得所有記錄后將它們緩存到內存中。

* –routines,-R
導出存儲過(guò)程以及自定義函數。

* –single-transaction
該選項在導出數據之前提交一個(gè) BEGIN SQL語(yǔ)句,BEGIN 不會(huì )阻塞任何應用程序且能保證導出時(shí)數據庫的一致性狀態(tài)。它只適用于事務(wù)表,例如 InnoDB 和 BDB。本選項和 –lock-tables 選項是互斥的,因為 LOCK TABLES 會(huì )使任何掛起的事務(wù)隱含提交。要想導出大表的話(huà),應結合使用 –quick 選項。

* –triggers
同時(shí)導出觸發(fā)器。該選項默認啟用,用 –skip-triggers 禁用它。

例:

  1. #這個(gè)語(yǔ)句用于MyISAM類(lèi)型表,如果是事物表如Innodb,請將鎖定表的-x參數換成--single-transaction
  2. mysqldump -uyejr -pyejr --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob -x db_name > db_name.sql

恢復的話(huà)通過(guò)mysql客戶(hù)端導入sql腳本即可:

  1. mysql -uyejr -pyejr db_name < db_name.sql

4、使用 mysqlhotcopyMyISAM 表類(lèi)型的數據庫進(jìn)行備份:

  1. shell> mysqlhotcopy db_name /path/to/some/dir

mysqlhotcopy是一個(gè) PERL 程序,通過(guò) LOCK TABLES、FLUSH TABLES 和 cp 或 scp 來(lái)快速備份數據庫,是備份數據庫或單個(gè)表的最快的途徑,支持一次性拷貝多個(gè)數據庫,同時(shí)還支持正則表達,但只能用于備份 MyISAM類(lèi)型數據庫。

例:

  1. #單個(gè)數據庫
  2. mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name /tmp
  1. #多個(gè)數據庫
  2. mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name_1 ... db_name_n /tmp
  1. #正則表達式
  2. mysqlhotcopy -h=localhost -u=yejr -p=yejr db_name./regex/ /tmp

恢復直接將備份文件拷貝到 mysqld 指定的 datadir 即可。
例:

  1. root#cp -rf db_name /usr/local/mysql/data/
  2. root#chown -R nobody:nobody /usr/local/mysql/data/ (將 db_name 目錄的屬主改成 mysqld 運行用戶(hù))

5、啟用二進(jìn)制日志(The Binary Log)實(shí)現增量備份

二進(jìn)制日志包含了更新日志中的所有可用信息,包括了所有更新了數據或者已經(jīng)潛在更新了數據(如沒(méi)有匹配任何行的一個(gè)DELETE)的所有語(yǔ)句。語(yǔ)句以“事件”的形式保存,它描述數據更改,記錄更新數據的語(yǔ)句的執行時(shí)間信息,但不包含沒(méi)有修改任何數據的語(yǔ)句(查詢(xún)日志)。這應該是要采用的備份方法,比較靈活方便,同時(shí)它還支持主從服務(wù)器備份。手冊上說(shuō)啟用二進(jìn)制日志會(huì )使得性能有1%的下降,對我們的小應用來(lái)說(shuō),實(shí)在算不上什么,呵呵。

不過(guò),這個(gè)方式涉及到的方面有點(diǎn)多,我還在啃文檔,可能還需要做一下實(shí)驗,才能把它摸透,暫時(shí)不做筆記了。

本文除了參考mysql官方網(wǎng)站外,還參考并引用了葉金榮先生的《MySQL 備份和恢復》一文中許多內容。

(注:本筆記討論的是mysql 5.1)

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
[深入理解MySQL系列] - mysqldump的幾個(gè)主要選項探究 | MySQL 中文...
mysql mysqldump導出與導入sql文件
MySQL數據庫常用備份方法和注意事項
mysqldump命令詳解 Part 3-備份單表
MySQL 數據備份與還原
使用 mysqldump 命令工具一鍵備份 MySQL 數據庫 ? Chong Freem...
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久