當前位置:首頁 » 編程軟體 » windowsmysql備份腳本

windowsmysql備份腳本

發布時間: 2023-04-02 02:02:59

1. mysql備份問題,mysql版本5.7.2

1.mysqlmp:最早,也是最成熟的邏輯備份工具,是 MySQL 原生的用來備份整個資料庫實例、單個資料庫、單張表的邏輯備份工具, 上手簡單,學習成本幾乎為 0。備份簡單,恢復也簡單。

比如導出單個資料庫 ytt: mysqlmp ytt > /tmp/ytt.sql;

恢復也非常簡單:mysql < /tmp/ytt.sql

缺點是備份速度慢。在整個備份過程中,是單線程運行;備份出來的數據集要恢復的話同樣也是單線程運行,恢復速度也慢。除非對同一時刻的所有表單獨備份出來,自己寫額外腳本進行多線程恢復。

2.mysqlpump:MySQL 5.7 GA 後推出的 mysqlmp工具的增強版。可以對同一個數據集多個線程並發備份,備份速度很快。

其他缺點和 mysqlmp 一樣。

3.MySQL Shell UTIL對象附帶的備份工具:隨 MySQL 8.0.21 最新版本捆綁發布,自帶多線程備份以及多線程恢復功能, 可以直接替代 mysqlmp/mysqlpump。

  • mp_instance/mpInstance 用來多線程備份 MySQL 整個單機實例
  • mp_schemas/mpSchemas 用來多線程備份 MySQL 單個資料庫
  • load_mp/loadDump 用來多線程恢復之前兩個工具導出的數據集文件

2. Mysql備份恢復方案有哪些,全備,熱備該怎麼做

方案一:mysqlmp全備份+日誌增量備份
1, mysqlmp備份方案:
周一凌晨3點 全備
周二到周日凌晨3點增量備份

2, 備鎮鍵份步驟
(1) 創建備份目錄,備份腳本存放目錄
Shell > mkdir /usr/mysqlbackup;
Shell > chmod 755 /usr/mysqlbackup;
Shell > mkdir /usr/mysqlbackup/daily;
Shell > chmod 755 /usr/mysqlbackup/daily;
Shell > mkdir /usr/script;
Shell > chmod 777 /usr/script/*.sh

(2) 啟用二進制日誌
如果日誌沒有啟開,必須啟用binlog,要重啟mysqld,首姿缺先,關閉mysqld,打開/etc/my.cnf,加入以下幾行:
[mysqld]
log-bin
然後重新啟動mysqld,會產生hostname-bin.000001以及hostname-bin.index,前面的日誌文件是記錄所有對數據的更新操作,後面的文件是存儲所有二進制文件的索引,不能輕易被刪除。

(3) 全備份,增量備份。
詳細見mysqlFullBackup.sh、mysqlDailyBackup.sh腳本(請注意腳本裡面的備份目錄、mysql軟體安裝目錄、壓縮文件名以及用戶名密碼,如有不符,請修改)。
下面是部分shell上單個手動執行的測試命令。
Shell> /usr/local/mysql/bin/mysqlmp -uroot - --no-create-info=FALSE --order-by-primary=FALSE --force=FALSE --no-data=FALSE --tz-utc=TRUE --flush-privileg
es=FALSE --compress=FALSE --replace=FALSE --insert-ignore=FALSE --extended-insert=TRUE --quote-names=TRUE --hex-blob=TRUE --complete-insert=FALSE --add-locks=TRUE --port=3306 --d
isable-keys=TRUE --delayed-insert=FALSE --create-options=TRUE --delete-master-logs=FALSE --comments=TRUE --default-character-set=utf8 --max_allowed_packet=1G --flush-logs=FALSE -
-mp-date=TRUE --lock-tables=TRUE --allow-keywords=FALSE --events=FALSE --single-transaction=TRUE --routines --all-databases > /backup/mysql/full/mysql_20110104_195546.sql

(4) 設置crontab任務,每天執行跡旅辯備份腳本
shell> crontab –e
#每個星期日凌晨3:00執行完全備份腳本

#周一到周六凌晨3:00做增量備份
0 3 * * 1-6 /root/MySQLBackup/mysqlDailyBackup.sh >/dev/null 2>&1
(5) 清除舊的備份文件。
每天去看查看下備份磁碟空間,刪除舊的備份壓縮文件。

3. mysql的本地備份和雙機相互備份腳本

先修改腳本進行必要的配置 然後以root用戶執行 第一執行遠程備份時先用 first參數 本地備份用local參數 遠程備份不用參數 注意1> 注意:需要在另一主機上的Mysql用戶用添加用戶 需要配置的地方: # define host and mysql passwordREMOTE_HOST= #遠程主機名或IPREMOTE_PASSWORD= #遠程主機的mysql中的root@本地主機 密碼 # define database pathDB_PATH= /var/lib/mysql #本地mysql數棗知老據庫路徑猛姿LOCAL_PASSWORD= #本地mysql root用戶密碼DB_BACKUP_PATH= /root/db_bk #本地備份時數據保存的路凳升徑NO_BACKUP_DB= 設置本地資料庫中不想備份的資料庫名 用空格隔開 直接下載 #!/bin/sh# mysqlmp_all sh# this scripts is used to backup MySQL database beten tow MySQL SERVER!# define host and mysql passwordREMOTE_HOST= REMOTE_PASSWORD= # define database pathDB_PATH= /var/lib/mysql LOCAL_PASSWORD= DB_BACKUP_PATH= /root/db_bk # define which database no back up write db anme escap whit space!# example;# NO_BACKUP_DB= yns test ps_note # this said that if db name is yns or test or ps_note then not backup them!NO_BACKUP_DB= # get the database name and process one by oneecho Start to Backup ;#ls /var/lib/mysql > /tmp/mydb allif [ $ != help ]; thenfor db in `ls $DB_PATH`; doif_backup= if [ d $DB_PATH/$db ] ; thenfor noBackDB in $NO_BACKUP_DB ; doif ( test $db = $noBackDB ); then#echo n ;if_backup= ;fidoneif [ $if_backup ]; thencase $ infirst)echo n Crate db [ $db ] on $REMOTE_HOST first! result=`mysqladmin h $REMOTE_HOST password=$REMOTE_PASSWORD create $db`if [ ! $result ]; thenecho Done! ;elseecho Fialed! check your configure plz! ;echo Remote host said: $result ;exitfi;;local)# back up to localhost dir if [ ! d $DB_BACKUP_PATH ]; thenmkdir $DB_BACKUP_PATHfiecho n [ $db ] Backup to local$DB_BACKUP_PATH with gzip ;if [ e $DB_BACKUP_PATH/$db gz ]; thenmv $DB_BACKUP_PATH/$db gz $DB_BACKUP_PATH/$db gz;fimysqlmp password=Walte#Ming $db | gzip > $DB_BACKUP_PATH/$db gzecho [OK] ;;*)# Do mon Backup!echo n [ $db ] Do Backup! ====>> $REMOTE_HOST/$db ;mysqlmp add drop table $db password=$LOCAL_PASSWORD | mysql h $REMOTE_HOST password=$REMOTE_PASSWORD $dbecho [OK] ;esacelseecho [ $db ] ;echo ***This database set to Not backup! Operation CANCELED! ;fielseecho [ $db ] ;echo ***Warning! Not a DataBbase Backup Canceled*** ;fidoneelseecho Usage: mysqlpm_all sh [firs|local|help] ;echo Some question ask for mailto: ; > ;fi# Ended all backup opretion!echo ;echo Note: if there is e wrong message white MySQL you should check yourconfigure first! ;exit lishixin/Article/program/MySQL/201311/29339

4. 如何使用MySQLAdministrator備份和還原資料庫

MySQL Administrator備份與還原資料庫,隨著PHP技術的逐步發展,MySQL資料庫的使用率也成上升趨勢。可MySQL資料庫的實際操作一般都是基於命令行的,而沒有像微軟MSSQL資料庫的企業管理器這樣的GUI可視圖形化工具操作來的容易方便。
一般的情況下,我們可以使用 PHPMYADMIN 這樣的PHP腳本工具來操作 MySQL 資料庫,可 PHPMYADMIN 也不是GUI工具。
為了更方便地操作 MySQL 資料庫,飄易今天就給大家介紹一款管理 MySQL 的可視化圖形工具 :MySQL Administrator 。這是一款和管理MSSQL的企業管理器一樣方便的本地操作 MySQL 的有效工具。
很重要的是,MySQL Administrator不會出現像使用 SQLyog (同樣是管理MySQL的GUI工具)時經常會遇到的 中文亂碼 問題,要知道中文網站資料庫使用不當的話都會出現中文亂碼的問題。
所以,我們使用 MySQL Administrator工具,就有效地避免出現中文亂碼的問題了。飄易手裡頭使用的是 MySQL Administrator 5.0 r16 這個版本。原始的官方網址選擇Windows (x86) 下載,目前最新版本是 5.0-r17 ,大約17MB。
利用這個軟體備份MySQL資料庫,還原MySQL資料庫,管理MySQL將變得十分簡單易行,就像使用 MSSQL的企業管理器一樣方便。
一,登陸,填寫資料庫IP,用戶名和密碼

二,登陸成功後,顯示以下信息:

三,查看已經存在的資料庫
選擇「Catalogs」將列出資料庫。點左下腳資料庫列表中你開通的「資料庫名」,右邊將顯示出資料庫中已經存在的資料庫表,如果是新資料庫,右邊是空的。

四,備份資料庫到本地計算機硬碟
備份資料庫到本地計算機硬碟,選擇「Backup」備份資料庫功能,然後點擊「New Project」 建立新的備份項目。選擇要備份的資料庫,然後點 > 號,右邊將顯示出資料庫表結構。

備份選項:
點「Advanced Options」 高級選項 ,選擇「Normal backup」 備份的時候選擇正常備份 ,選擇「Complete backup」 選擇完整備份 ,也可以選擇 「InnoDB Online Backup」,這是一種在線簡單的備份方式;Backup Type 備份方式選擇 SQL Files ,點「Execute Backup Now」立刻開始備份資料庫。

五,選擇「Restore」還原資料庫功能
點「Open Backup File」,找到以前備份的資料庫腳本文件,選擇並打開文件,點「Start Restore」 後開始還原,還原成功。

這里在還原的時候需要注意的有兩點:1,「Target Schema」叢卜默認資料庫項這里,如果答戚你沒有MySQL伺服器root許可權,比如你是虛擬主機分配的一個子賬戶,此時你必須選擇「another schema」里的資料庫名,而不能選擇「original schema」選項,否則還原失敗出錯; 2,「FILE CHARSET」選項默認 utf8,請不要更改,否則也會出現中文亂碼問題。
MySQL Administrator 不僅可以備份、還原MySQL資料庫,同樣也可以對MySQL進行方便地維護和管理,比如修改增加欄位等。另外,這里還有一清鄭陵篇 如何使用 MySQL Administrator 管理/備份/還原 My SQL 資料庫 的文章,大家也可以看看。

5. 請問mysql怎麼自動備份資料庫

資料庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的資料庫,最好還是設置下自動備份。

工具/原料



navicat for mysql

mysql 5.5

方法/步驟

  1. 打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。


6. 好用的mysql備份工具

我以前備份都使用mysqlmp 導成文本文件便於存放 但是速度很慢的 最快的備份方法當然是直接把數據目錄一份了 但是一般來說 都要關閉 MySQL的服務才能做 不然在你的時候剛好還有人讀寫表那麻煩就大了 這次朋友介紹我使用mysqlhot 就相當於上面 不過他可以熱備份 他備份非常快 我測試一個 G的mysql他備份的時間在 分鍾內完成

下面是它的介紹

mysqlhot是一個Perl腳本搭粗孝 最知稿初由Tim Bunce編寫並提供 它使用LOCK TABLES FLUSH TABLES和cp或scp來快速備份資料庫 它是備份資料庫或單個表的最快的途徑 但它只能運行在資料庫目錄所在的機器上 mysqlhot只用於備份MyISAM 它運行在Unix和NetWare中

使用方法見下面的腳本 加入crotab中吧

#!/bin/sh # Name:mysqlbackup sh # PS:MySQL DataBase Backup Use mysqlhot script # Last Modify: # 定義變數 請根據具體情況修改 # 定義腳本所在目錄 scriptsDir=`pwd`

# 資料庫的數據目錄 dataDir=/var/lib/mysql

# 數據備份目錄 tmpBackupDir=/tmp/mysqlblackup backupDir=/backup/mysql

# 用來備份資料庫的用戶名和密碼 mysqlUser=root mysqlPWD= you password

# 如果臨時備份目錄存在 清空它 如果不存在則創建它 if [[ e $tmpBackupDir ]]; then rm rf $tmpBackupDir/* else mkdir $tmpBackupDir fi

# 如果備份目錄不存在則創建它 if [[ ! e $backupDir ]];then mkdir $backupDir fi

# 得到資料庫備份列表 在此可以過濾不想備份的資料庫 for databases in `find $dataDir type d | 凳敬 sed e s//var/lib/mysql/// | sed e s/test// `; do if [[ $databases == ]]; then continue else

# 備份資料庫 /usr/bin/mysqlhot user=$mysqlUser password=$mysqlPWD q $databases $tmpBackupDir dateTime=`date +%Y %m %d %H:%M:%S ` echo $dateTime Database:$databases backup success! >>MySQLBackup log fi done

# 壓縮備份文件 date=`date I` cd $tmpBackupDir tar czf $backupDir/mysql $date tar gz /

#End完成

加入到crontab中設置每周 運行 * * /backup/blackup sh

注意:恢復資料庫到備份時的狀態

mysqlhot 備份出來的是整個資料庫目錄 使用時可以直接拷貝到 mysqld 指定的 datadir (在這里是 /var/lib/mysql/)目錄下即可 同時要注意許可權的問題 如下例

shell> cp rf db_name /var/lib/mysql/

shell> chown R mysql:mysql /var/lib/mysql/ (將 db_name 目錄的屬主改成 mysqld 運行用戶)

本套備份策略只能恢復資料庫到最後一次備份時的狀態 要想在崩潰時丟失的數據盡量少應該更頻繁的進行備份 要想恢復數據到崩潰時的狀態請使用主從復制機制(replication)

小技巧:

不想寫密碼在shell中的話 可以在root的home目錄下建立一個f文件 以便讓mysqlhot從中讀取用戶名/密碼 [mysqlhot] user=root password=YourPassword 然後安全起見 chmod一下 chmod ~/f

附:mysqlhot常用參數

· allowold如果目標存在不放棄(加上一個_old後綴重新命名它) · checkpoint=db_name tbl_name在指定的db_name tbl_name插入檢查點條目 · debug啟用調試輸出 · dryrun n報告動作而不執行它們 · flushlog所有表鎖定後刷新日誌 · keepold完成後不刪除以前(重新命名的)的目標 · method=mand復制方法(cp或scp) · noindices備份中不包括全部索引文件 這樣使備份更小 更快 可以在以後用myisamc rq重新構建索引 · password=password p password當連接伺服器時使用的密碼 請注意該選項的密碼值是不可選的 不象其它MySQL程序 · port=port_num P port_num當連接本地伺服器時使用的TCP/IP埠號 · quiet q除了出現錯誤時保持沉默 · regexp=expr復制所有資料庫名匹配給出的正則表達式的資料庫 · socket=path S path用於連接的Unix套接字文件 · suffix=str所復制的資料庫名的後綴 · tmpdir=path臨時目錄(代替/tmp) · user=user_name u user_name當連接伺服器時使用的MySQL用戶名

lishixin/Article/program/MySQL/201311/29401

7. 怎麼定時自動備份mysql數據表

一、對於Windows主機
==============
假想環境:
MySQL
安裝位置:C:\MySQL
論壇資料庫名稱為:bbs
MySQL
root
密碼:123456
資料庫備份目的地:D:\db_backup\
@echo
off
C:\MySQL\bin\mysqladmin
-u
root
–password=123456
shutdown
C:\MySQL\bin\mysqlmp
–opt
-u
root
–password=123456
bbs
>
D:\db_backup\bbs.sql
C:\MySQL\bin\mysqld-nt
將以上代碼保存為backup_db.bat
然後使用Windows的「計劃任務」定時執行該腳本即可。(例如:每天凌晨5點執行back_db.bat)
二、對於Linux主機
===========
假想環境:
MySQL
安裝位置:/usr/local/mysq
論壇資料庫名稱為:bbs
MySQL
root
密碼:123456
資料庫備份目的地:/蔽盯var/db_backup/
#!
/bin/bash
/usr/local/mysql/bin/mysqladmin
-u
root
–password=123456
shutdown
/usr/local/mysql/bin/mysqlmp
–opt
-u
root
–password=123456
bbs
>
/var/db_backup/bbs.sql
/usr/local/mysql/bin/mysqld_safe
–user=mysql
&
將上述代碼保存在/usr/local/sbin/backup_db.sh
對該宏塵和腳本賦予執行許可權:
#
chmod
755
/usr/local/sbin/backup_db.sh
加入crontab中自動執行:
#
crontab
-e
加入:
0
5
*
*
*
/usr/local/sbin/兄隱backup_db.sh

8. windows環境下mysql設置自動備份

把WinRAR安裝到計算機上。
將下面的命令寫入到一個文本文件里
*******************************Code Start*****************************
net stop mysql
c:\progra~1\winrar\winrar a -ag -k -r -s d:\mysql.rar d:\mysql\data
net start mysql
*******************************Code End*****************************
保存,然後將文本文件的擴展名修改成CMD。進入控制面版,打開計劃任務,雙擊「添加計劃任務」。在計劃任務向導中找到剛才的CMD文件,接著為這個任務指定一個運行時間和運行時使用的賬號密碼就可以了。

9. windows下怎麼備份mysql資料庫的數據

如何備份?要通過資料庫工具,從資料庫工具選擇備份操作,實現資料庫備份

10. 怎麼備份和還原mysql資料庫

備份資料庫

使用mysqlmp命令備份資料庫

熱點內容
mysql存儲過程語法 發布:2024-04-19 21:00:04 瀏覽:245
修復損壞的壓縮文件 發布:2024-04-19 20:53:32 瀏覽:423
編程發型 發布:2024-04-19 20:53:28 瀏覽:500
去除空格sql 發布:2024-04-19 20:43:30 瀏覽:785
linuxcp覆蓋 發布:2024-04-19 20:43:30 瀏覽:189
mplayerlinux 發布:2024-04-19 20:33:57 瀏覽:800
華勤伺服器怎麼樣 發布:2024-04-19 20:33:15 瀏覽:410
安卓app應用程序擴展名是什麼 發布:2024-04-19 20:08:29 瀏覽:560
sqlserver2005圖標 發布:2024-04-19 19:37:26 瀏覽:946
動畫與編程 發布:2024-04-19 18:53:10 瀏覽:315