使用 mysqlhotcopy 備份和恢復 MySQL 數據庫

      網友投稿 951 2025-04-04

      MysqlhotCopyMysql 安裝附帶的 perl 腳本。這會鎖定表,刷新表,然后執行數據庫的副本。您也可以使用 mysqlhotCopy 使用 scp 自動將備份直接復制到另一臺服務器


      1. mysqlhotcopy 命令:

      [local-host]# /usr/bin/mysqlhotcopy -u root -p My2Secure$Password sugarcrm /home/backup/database --allowold --keepold

      上面的例子,將一個 MySQL 數據庫 Sugarcrm 備份到 /home/backup/database 目錄。

      –allowold:此選項在進行新備份之前將舊備份重命名為 {datbase-name}_old。在這個例子中,如果/home/backup/database 下已經存在sugarcrm 備份,它會在創建/home/backup/database/sugarcrm 之前將舊備份移動到/home/backup/database/sugarcrm_old。

      --keepold:該選項指示mysqlhotcopy在備份完成后保留舊的備份(即重命名的_old)。

      使用 perldoc 查看 mysqlhotcopy 文檔,如下所示。

      [local-host]# perldoc mysqlhotcopy

      以下是可以傳遞給 mysqlhotcopy 命令的可用選項。

      選項

      描述

      2. mysqlhotcopy 命令輸出:

      上面的 mysqlhotcopy 命令將顯示類似于以下內容的輸出。

      [local-host]# /usr/bin/mysqlhotcopy -u root -p My2Secure$Password sugarcrm /home/backup/database --allowold --keepold Locked 98 tables in 0 seconds. Flushed tables (`sugarcrm`.`accounts`, `sugarcrm`.`accounts_audit`, `sugarcrm`.`accounts_bugs`) in 0 seconds. Copying 295 files... Copying indices for 0 files... Unlocked tables. mysqlhotcopy copied 98 tables (295 files) in 0 seconds (0 seconds overall).

      默認情況下,MySQL 數據庫位于 /var/lib/mysql/{db-name} 下。mysqlhotcopy 將表文件從此默認數據庫位置備份到備份目錄。備份目錄 /home/backup/database/sugarcrm 將包含真實 MySQL 數據庫 /var/lib/mysql/sugarcrm 目錄中所有文件的精確副本。

      [local-host]# ls -1 /var/lib/mysql/sugarcrm | wc -l 295 [local-host]# ls -1 /home/backup/database/sugarcrm | wc -l 295

      請注意,每個表都有三個對應的文件,擴展名為 *.frm、*.MYD 和 *.MYI。數據庫目錄還包含一個 db.opt 文件,該文件包含與數據庫相關的參數。

      在上面的示例中,您可以看到 mysqlhotcopy 備份了 98 個 Sugarcrm 數據庫表。因此,備份目錄中的文件總數 = 98 個表 * 3 + 1 db 配置文件 = 296 個文件。

      3.從mysqlhotcopy恢復

      要從 mysqlhotcopy 備份恢復備份,只需將文件從備份目錄復制到 /var/lib/mysql/{db-name} 目錄。為了安全起見,請確保在恢復(復制)文件之前停止 mysql。將文件復制到 /var/lib/mysql/{db-name} 后,再次啟動 mysql。

      4. mysqlhotcopy 故障排除

      如何解決Can't locate DBD/mysql.pm 問題?mysqlhotcopy 是一個 perl 腳本,它需要 perl-DBD 模塊。如果未安裝 perl-DBD 模塊,您在執行 mysqlhotcopy 時可能會收到以下錯誤。

      [local-host]# /usr/bin/mysqlhotcopy -u root -p My2Secure$Password sugarcrm /home/backup/database --allowold --keepold install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 7) line 3. Perhaps the DBD::mysql perl module hasn't been fully installed, or perhaps the capitalisation of 'mysql' isn't right. Available drivers: DBM, ExampleP, File, Proxy, Sponge. at /usr/bin/mysqlhotcopy line 177

      確保安裝 perl-DBD 包,如下所示。

      [local-host]# rpm -ivh perl-DBD-MySQL-3.0007-1.fc6.i386.rpm Preparing... ########################################### [100%] 1:perl-DBD-MySQL ########################################### [100%]

      如何解決 perl-DBD 安裝的問題?安裝 perl-DBD 時,您可能會收到以下錯誤消息。

      [local-host]# rpm -ivh perl-DBD-MySQL-3.0007-1.fc6.i386.rpm rpmdb: Program version 4.3 doesn't match environment version error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch error: cannot open Packages index using db3 - (-30974) warning: cannot open Solve database in /usr/lib/rpmdb/i386-redhat-linux/redhat rpmdb: Program version 4.3 doesn't match environment version error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch warning: cannot open Solve database in /usr/lib/rpmdb/i386-redhat-linux/redhat error: Failed dependencies: libmysqlclient.so.15 is needed by perl-DBD-MySQL-3.0007-1.fc6.i386 libmysqlclient.so.15(libmysqlclient_15) is needed by perl-DBD-MySQL-3.0007-1.fc6.i386

      從 mysql.com 下載并安裝 MySQL-shared-compat,這應該可以解決安裝 perl-DBD 包時出現的上述錯誤。

      [local-host]# rpm -ivh MySQL-shared-compat-5.1.25-0.rhel5.i386.rpm Preparing... ########################################### [100%] 1:MySQL-shared-compat ########################################### [100%]

      使用 mysqlhotcopy 備份和恢復 MySQL 數據庫

      MySQL 數據庫

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:計算機二級office題目中最為頭疼的模塊之函數詳解 簡單到進階(計算機二級office操作題知識點整理)
      下一篇:新ERP軟件可幫助您發展業務
      相關文章
      久久精品国产亚洲AV| 亚洲一级毛片免费在线观看| 亚洲一区二区三区免费视频| 亚洲精彩视频在线观看| 67pao强力打造67194在线午夜亚洲| 亚洲精品成a人在线观看☆| 最新国产精品亚洲| 亚洲欧美日韩中文无线码| 日本亚洲免费无线码| 亚洲一级特黄特黄的大片| 亚洲乱码在线观看| 亚洲一日韩欧美中文字幕在线| 亚洲精品国产日韩| 亚洲国产成人无码AV在线影院| 亚洲日韩一区二区一无码| 亚洲va在线va天堂va手机| 激情亚洲一区国产精品| 亚洲av永久无码精品三区在线4| 亚洲伊人久久大香线焦| 亚洲永久在线观看| 亚洲国产精品ⅴa在线观看| 亚洲国产精品成人AV在线| 午夜亚洲国产精品福利| 亚洲国产精品一区二区第一页免| 国产L精品国产亚洲区久久| 国产亚洲精品久久久久秋霞| 亚洲精品成人片在线观看精品字幕| 日韩亚洲一区二区三区| 无码久久精品国产亚洲Av影片| 亚洲视频网站在线观看| 亚洲av永久无码精品天堂久久| 亚洲成a人片在线不卡一二三区| 激情婷婷成人亚洲综合| 亚洲视频在线一区二区| 国产亚洲一区二区三区在线| 久久亚洲日韩精品一区二区三区| 亚洲国产美女精品久久| 亚洲乱码国产乱码精华| 亚洲国产一区二区三区| 精品亚洲综合久久中文字幕| 777亚洲精品乱码久久久久久 |