日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql数据库备份心得

發(fā)布時間:2024/2/28 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库备份心得 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

mysql數(shù)據(jù)庫備份/恢復(fù)等心得-Navicat for mysql


一、數(shù)據(jù)傳輸

  • 如下圖所示,選擇”工具”->”數(shù)據(jù)傳輸”。
  • “中選擇你要導(dǎo)入的連接來源和并選擇相應(yīng)的帶導(dǎo)入的數(shù)據(jù)庫,”目標(biāo)“中選擇你需要將數(shù)據(jù)恢復(fù)到的數(shù)據(jù)庫連接和數(shù)據(jù)庫名稱。
  • 在“數(shù)據(jù)傳輸”的“高級”選項中,可以設(shè)置是否包含索引,遇到錯誤繼續(xù)(建議選上)等。
  • 最后點擊“開始”進行導(dǎo)入即可。

  • 優(yōu)勢:可以傳輸大量數(shù)據(jù),推薦。


  • 二、轉(zhuǎn)存數(shù)據(jù)庫的SQL結(jié)構(gòu)和數(shù)據(jù)

  • 如下圖所示,選擇本地數(shù)據(jù)庫如”test”,右鍵選擇“轉(zhuǎn)存SQL文件”。如果再選擇“結(jié)構(gòu)和數(shù)據(jù)”,就保存SQL表結(jié)構(gòu)的同時會保存里面的數(shù)據(jù)。如果選擇“僅結(jié)構(gòu)”,只保存表結(jié)構(gòu),數(shù)據(jù)不保存。
  • 之后,以SQL的形式保存到本地(test.sql)。查看該SQL文件,可以看到其實是一堆SQL語句,首先是判斷表格如果存在就先DROP TABLE,然后創(chuàng)建表格CREATE TABLE,最后向表格INSERT INTO原有的數(shù)據(jù)。對每個表格大致都是這樣的過程。(疑問:當(dāng)數(shù)據(jù)量是100萬的時候,這個SQL文件可能很大,執(zhí)行SQL會出問題)


  • 三、備份

  • 如下圖所示,選擇本地數(shù)據(jù)庫如”test”,選擇“備份”->“新建備份”,在“注釋”中添加對本次備份的詳細(xì)說明。然后保存到本地
  • 還原備份:右鍵選擇需要還原的備份文件“2017-12-18 10:42:38”->“還原備份”即可。

  • 四、mysqldump定時備份

  • mysqldump腳本備份:創(chuàng)建腳本“mysql_backup_tool.bat”文件,文件內(nèi)容為:

    rem ******MySQL backup start******** @echo offforfiles /p "E:\mysql_backup" /m emsc_backup_*.sql -d -30 /c "cmd /c del /f @path"set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%" C:\xampp\mysql\bin\mysqldump --opt --single-transaction=TRUE --user=root --password=root --host=localhost --protocol=tcp --port=9220 --default-character-set=utf8 --single-transaction=TRUE --routines --events "test" > E:\mysql_backup\yotta_backup_%Ymd%.sql@echo on rem ******MySQL backup end********
  • 其中,forfiles后面是查詢本地路徑下的sql備份文件,刪除30天以上的備份文件。set后面設(shè)置的時間信息,然后設(shè)置本地mysql環(huán)境下mysqldump.exe的路徑,設(shè)置數(shù)據(jù)庫連接的主機IP(–host),用戶名(–user),密碼(–password),端口(–port)。設(shè)置需要備份的數(shù)據(jù)庫名稱“test”和保存到本地的文件信息:E:\mysql_backup\yotta_backup_%Ymd%.sql。

  • 運行.bat腳本文件即可在路徑下看到備份的文件信息。

  • 五、定時備份軟件:MySQLBackupFTP

  • 下載最新版的MySQLBackupFTP軟件,連接本地數(shù)據(jù)庫,選擇需要備份的數(shù)據(jù)庫“test”。
  • 設(shè)置保存的路徑,支持保存到本地文件夾,ftp服務(wù)器等。
  • 設(shè)置通知郵箱信息,向該郵箱發(fā)送備份的信息。
  • 設(shè)置定時備份計劃,建議每日凌晨3點備份。
  • 將該計劃保存到本地,即可實現(xiàn)定時備份計劃。
  • 優(yōu)勢:比腳本方便操作,更加便捷。

  • 六、備份mysql/data文件夾下數(shù)據(jù)庫中的文件

  • 以表”Table”為例:
    如類型是MyISAM, 數(shù)據(jù)文件則以”Table.frm””Table.MYD””Table.MYI””三個文件存儲于”/data/databasename/.InnoDB,數(shù)據(jù)databasename/”目錄中.如類型是InnoDB,數(shù)據(jù)文件則存儲在”innodb_data_home_dir/″中的ibdata1文件中(一般情況),結(jié)構(gòu)文件存在于table_name.frm中.
    MySQL的數(shù)據(jù)庫文件直接復(fù)制便可以使用,但是那是指“MyISAM”類型的表。
    而使用MySQL-Front直接創(chuàng)建表,默認(rèn)是“InnoDB”類型,這種類型的一個表在磁盤上只對應(yīng)一個“.frm”文件,不像MyISAM那樣還“.MYD,*.MYI”文件。
    MyISAM類型的表直接拷到另一個數(shù)據(jù)庫就可以直接使用,但是InnoDB類型的表卻不行。解決方法就是:
    同時拷貝innodb數(shù)據(jù)庫表“*.frm”文件和innodb數(shù)據(jù)“ibdata1”文件到合適的位置。啟動MySQL的Windows服務(wù)
    由于MySQL這樣數(shù)據(jù)混雜的形式, 往往很容易讓使用者在備份時忘記了備份InnoDB, 從而導(dǎo)致了上述錯誤.

  • 如果原數(shù)據(jù)庫引擎是MyISAM,直接拷貝原有數(shù)據(jù)庫文件”.frm”、”.MYD”、”*.MYI”等文件;如果原數(shù)據(jù)庫引擎是InnoDB,切記還需拷貝ibdata1文件

  • 一般時候建議使用邏輯備份,即之前的sql文件備份。當(dāng)數(shù)據(jù)表格數(shù)據(jù)量較大或者執(zhí)行sql恢復(fù)時候報錯時,可以使用物理備份,即將數(shù)據(jù)庫表格文件直接拷貝恢復(fù)。之前遇到過一個數(shù)據(jù)庫表格的大小為19個G,執(zhí)行sql語句恢復(fù)的時候由于插入語句報錯而丟失很多數(shù)據(jù)。


  • 總結(jié)

    mysql數(shù)據(jù)備份是必要的,之前實驗室有個組的數(shù)據(jù)在阿里云服務(wù)器上,然后某天忽然服務(wù)器被搞了,數(shù)據(jù)庫數(shù)據(jù)丟失,然后沒有備份,雪崩。建議大家養(yǎng)成良好的每日備份數(shù)據(jù)庫的習(xí)慣。

    總結(jié)

    以上是生活随笔為你收集整理的mysql数据库备份心得的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。