久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何進行MySQL管理基礎中的維護、備份和恢復

138次閱讀
沒有評論

共計 4025 個字符,預計需要花費 11 分鐘才能閱讀完成。

如何進行 MySQL 管理基礎中的維護、備份和恢復,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

1. 日志記錄

   MySQL 的日志文件可用于分析性能和排查問題,保存在與數據文件相同的目錄下。有以下幾種不同類型日志文件:

日志文件類型         默認文件名        mysqld 選項         作用

錯誤日志         主機名 .err        log-error         記錄服務器上發生的每個錯誤。
一般查詢日志         主機名 .log        log             記錄客戶機發給服務器的每個查詢的蹤跡。
慢查詢日志         主機名 -slow.log    log-slow-queries     記錄執行時間超過 long_query_time 值的所有查詢。
二進制日志         主機名 -bin-######    log-bin             記錄更新了或已經潛在更新了數據的所有語句。

注:log-bin 選項中的“######”是二進制日志文件的編號,每次生成新日志文件會自動增加。如果指定日志文件名,MySQL 會只取第一個“.”前面的部分,并自動添加 6 位數字編號,從 000001 開始。

    可以使用 FLUSH LOGS 命令刷新日志,錯誤日志的內容寫入相同路徑下的 *.err-old 文件,然后 *.err 文件被清空;一般查詢日志和慢查詢日志中會生成一條包含 mysqld 信息和列標題的記錄,將新舊記錄分割開;當前的二進制日志會被關閉,使用新的順序編號創建新日志。

[@more@]2. 檢查和修理表

    檢查表可以使用 myisamchk 工具或 CHECK TABLE 命令,前者只能用于 MYISAM 表,后者適用于所有表。myisamchk 可以分別使用 -F、-m、-e、-C、- w 選項執行快速檢查、中速檢查、擴展檢查(最慢)、變更檢查、等待檢查,CHECK TABLE 命令可以添加 FAST、MEDIUM、EXTENDED 等關鍵字來指定檢查的種類。
    檢查表時如果發現錯誤,就應該對其進行修理。最好先復制存在問題的表,以便嘗試不同的修理方法。myisamchk 工具使用 - r 選項,可以修理損壞的表,與檢查表時相同,被修理的表不能被鎖定。另外,還可以使用 -o、- q 選項執行不同類型的修理操作。還可以使用 REPAIR TABLE 命令對表進行修復,類似地,可以添加 QUICK 或 EXTENDED 關鍵字設置修理操作的類型。
   myiasmchk 工具要求表不能被鎖定,所以最好在服務器關閉的情況下使用,而 CHECK TABLE 和 REPAIR TABLE 命令則必須在服務器運行時使用。
    此外,使用 OPTIMIZE TABLE 命令可以對表進行優化,整理數據文件碎片,對索引頁進行排序,更新表的統計信息。需要注意的是,優化操作會鎖定表,過程中客戶機無法訪問。

3. 備份和恢復

    使用 mysqldump 工具可以對表或數據庫進行備份。執行備份操作的用戶應在進行轉儲的表或數據庫上具有 select 和 lock tables 權限。

mysql show grants for ggyy@localhost;
+————————————————————————————————————-+
| Grants for ggyy@localhost                                                                                   |
+————————————————————————————————————-+
| GRANT USAGE ON *.* TO ggyy @ localhost IDENTIFIED BY PASSWORD *484FFAA42C12F40931C794D33A11B7F075B91467 |
| GRANT SELECT, LOCK TABLES ON `ggyy`.* TO ggyy @ localhost                                                 |
+————————————————————————————————————-+
2 rows in set (0.00 sec)

    下面是一些轉儲表的例子:

1 轉儲 ggyy 數據庫中的 blob_text_test 表,將結果重定向到一個指定的文件。

mysqldump ggyy blob_text_test -u ggyy -p E:ackupMySQLlob_text_test.sql

2 轉儲 ggyy 數據庫中的 char_test 表,使結果直接輸出到一個指定的文件。(-r 選項用于在 MSDOS 環境中使輸出文件行尾只有換行符,而不是換行符 + 回車符。)

mysqldump ggyy char_test -u ggyy -p -r E:ackupMySQLchar_test.sql

3 轉儲 ggyy 數據庫中的多個表,將結果重定向到一個指定的文件。

mysqldump ggyy date_time_test float_test int_test members members_temp test_crttb test_crttb2 test_crttb3 test_crttb4 test_crttb5 ts_dt_test -u ggyy -p E:ackupMySQLggyy-tables.sql

4 轉儲 test 數據庫中的 namelist 和 oraleng 表,只產生少量的輸出,將結果重定向到一個指定的文件。(–compact 選項使轉儲結果中不包含 DROP TABLE、ALTER TABLE … DISABLE KEYS、LOCK TABLES 等語句和“–”開頭的注釋。)

mysqldump test namelist oraleng –compact -u root -p E:ackupMySQL
amelist+oraleng.sql

5 只轉儲 test 數據庫中 test 表的定義,將結果重定向到一個指定的文件。

mysqldump test test -d -u root -p E:ackupMySQL est_def.sql

6 只轉儲 test 數據庫中 test 表的數據,將結果重定向到一個指定的文件。

mysqldump test test -t -u root -p E:ackupMySQL est_data.sql

    當然還可以對整個數據庫進行轉儲,語法是 mysqldump

。如果同時轉儲多個數據庫可以使用 -B 選項,例如轉儲 ggyy 和 test 數據庫:

mysqldump -B ggyy test -u root -p -r E:ackupMySQLmysqlback_20100319.sql

   mysqldump 工具生成的包含 SQL 語句的文件,可以使用 mysql 命令行工具運行,從而達到恢復數據的目的。執行恢復操作的用戶應該在進行導入的數據庫上具有 drop、create、alter、insert 等權限。

mysql show grants for ggyy@localhost;
+————————————————————————————————————-+
| Grants for ggyy@localhost                                                                                   |
+————————————————————————————————————-+
| GRANT USAGE ON *.* TO ggyy @ localhost IDENTIFIED BY PASSWORD *484FFAA42C12F40931C794D33A11B7F075B91467 |
| GRANT SELECT, INSERT, CREATE, DROP, ALTER, LOCK TABLES ON `ggyy`.* TO ggyy @ localhost                    |
+————————————————————————————————————-+
2 rows in set (0.00 sec)

    下面的命令可以將之前轉儲的 ggyy 數據庫中的表導入到 ggyy 數據庫中:

mysql ggyy -u ggyy -p E:ackupMySQLlob_text_test.sql

mysql ggyy -u ggyy -p E:ackupMySQLchar_test.sql

mysql ggyy -u ggyy -p E:ackupMySQLggyy-tables.sql

    另外,在 mysql 提示符下使用 SOURCE 命令同樣可以進行恢復。下面的語句可以將之前轉儲的 test 數據庫中的表導入到 test 數據庫中:

source E:ackupMySQL
amelist+oraleng.sql

source E:ackupMySQL est_def.sql

source E:ackupMySQL est_data.sql

undefinedundefinedundefinedundefinedundefinedundefined

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計4025字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 镇江市| 赞皇县| 南漳县| 阿坝县| 威宁| 九龙城区| 自治县| 新余市| 科尔| 营山县| 普定县| 香河县| 南木林县| 湛江市| 牙克石市| 化州市| 中超| 视频| 新平| 获嘉县| 河西区| 长岛县| 来凤县| 特克斯县| 巴林左旗| 监利县| 山丹县| 白朗县| 都兰县| 尼玛县| 太保市| 嘉黎县| 神木县| 惠州市| 普兰店市| 荔波县| 翁牛特旗| 上林县| 高阳县| 荥经县| 蛟河市|