mysql備份所有資料庫
1、首先打開mysql資料庫軟體進入軟體主界面。
2. mysql資料庫如何備份
你可以直接通過mysqlmp來備份:
cmd下或者linux bash下:
mysqlmp -u root -p密碼 dbname>d:\\test.sql --------------------備份dbname庫下的所有數據,保存到test.sql文件中,保存形式為sql腳本
mysql -u root -p密碼 dbname<d:\\test.sql-----------------------通過test.sql文件還原dbname資料庫
3. 怎樣在MySQL資料庫中導出整個資料庫
1、打開命令行,在命令行里輸入mysql,然後按回車就可以打開mysql的命令了。要注意的是區分大小寫,不能輸入Mysql。
4. mysql資料庫怎麼備份資料庫
可以用mysqlmp工具簡單用例說明:
導入、導出資料庫
導出: mysqlmp -uroot db1 > db1.sql (注db1為database名)
導入:mysql -uroot test < db1.sql (注test為database名,將db1中所有的表及數據導入到test資料庫)
導入、導出表
導出:mysqlmp -uroot db1 tb1 tb2>tables.sql(注db1為database名,tb1 tb2為要導出的表列表,中間用空格隔開)
導入:mysql -uroot test < tables.sql(將db1資料庫中的tb1和tb2表導入到test資料庫)
常見參數:
--all-databases , -A
導出全部資料庫。
mysqlmp -uroot -p --all-databases
--all-tablespaces , -Y
導出全部表空間。
mysqlmp -uroot -p --all-databases --all-tablespaces
--no-tablespaces , -y
不導出任何錶空間信息。
mysqlmp -uroot -p --all-databases --no-tablespaces
--add-drop-database
每個資料庫創建之前添加drop資料庫語句。
mysqlmp -uroot -p --all-databases --add-drop-database
--add-drop-table
每個數據表創建之前添加drop數據表語句。(默認為打開狀態,使用--skip-add-drop-table取消選項)
mysqlmp -uroot -p --all-databases (默認添加drop語句)
mysqlmp -uroot -p --all-databases –skip-add-drop-table (取消drop語句)
--databases, -B
導出幾個資料庫。參數後面所有名字參量都被看作資料庫名。
mysqlmp -uroot -p --databases test mysql
--no-data, -d
不導出任何數據,只導出資料庫表結構。
mysqlmp -uroot -p --host=localhost --all-databases --no-data
--host, -h
需要導出的主機信息
mysqlmp -uroot -p --host=localhost --all-databases
--password, -p
連接資料庫密碼
--port, -P
連接資料庫埠號
--set-charset
添加'SET NAMES default_character_set'到輸出文件。默認為打開狀態,使用--skip-set-charset關閉選項。
mysqlmp -uroot -p --host=localhost --all-databases
mysqlmp -uroot -p --host=localhost --all-databases --skip-set-charset
--tables
覆蓋--databases (-B)參數,指定需要導出的表名。
mysqlmp -uroot -p --host=localhost --databases test --tables test
--user, -u
指定連接的用戶名。
5. mysql怎麼備份多個的資料庫
這個要用到mysql下的存取過程了,先把下面的那段代碼做為了一個批處理文件,命名為:
mysql_bak.bat
具體的操作步驟如下:
1. 將上面的兩段代碼分別保存為 mysql_bak.bat 並根據注釋修改相關參數
確定好目錄之後,運行 mysql_bak.bat 將計劃任務添加到系統中。
2. Windows Server 2003 / XP 可以通過 開始,控制面板,計劃任務進入計劃任務管理界面;
Windows Vista / 7 可以通過 計算機,右鍵,管理,系統工具,任務計劃程序,任務計劃程序庫,進入計劃任務管理界面。
3. 手動運行該任務,查看備份目錄來確認下備份是否成功。
具體實現在代碼:
@echo off & setlocal ENABLEEXTENSIONS
:: ---------- 配置項 ----------
:: 備份放置的路徑,加 \
set BACKUP_PATH=D:\Backup\
:: 要備份的資料庫名稱,多個用空格分隔
set DATABASES=database1 database2 database3
:: MySQL 用戶名
set USERNAME=root
:: MySQL 密碼
set PASSWORD=123456
:: MySQL Bin 目錄,加 \
:: 如果可以直接使用 mysqlmp(安裝時添加 MySQL Bin 目錄到了環境變數),此處留空即可
set MYSQL=D:\SERVER\MySQL\bin\
:: WinRAR 自帶命令行工具的可執行文件路徑,長文件名注意用 Dos 長文件名書寫方式
set WINRAR=C:\Progra~1\WinRAR\Rar.exe
:: ---------- 以下請勿修改 ----------
set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%
:: 如果在 dos 下輸入 time 返回的不是 24 小時制(沒有 0 填充),請自行修改此處
set HOUR=%time:~0,2%
set MINUTE=%time:~3,2%
set SECOND=%time:~6,2%
set DIR=%BACKUP_PATH%%YEAR%\%MONTH%\%DAY%\
set ADDON=%YEAR%%MONTH%%DAY%%HOUR%%MINUTE%%SECOND%
:: create dir
if not exist %DIR% (
mkdir %DIR% 2>nul
)
if not exist %DIR% (
echo Backup path: %DIR% not exists, create dir failed.
goto exit
)
cd /d %DIR%
:: backup
echo Start mp databases...
for %%D in (%DATABASES%) do (
echo Dumping database %%D ...
%MYSQL%mysqlmp -u%USERNAME% -p%PASSWORD% %%D > %%D.%ADDON%.sql 2>nul
:: winrar
if exist %WINRAR% (
%WINRAR% a -k -r -s -m1 -ep1 %%D.%ADDON%.rar %%D.%ADDON%.sql 2>nul
del /F /S /Q %%D.%ADDON%.sql 2>nul
)
)
echo Done
:exit
6. 本地mysql資料庫,怎麼備份整個資料庫
備份資料庫主要是備份資料庫裡面的各個表,因為如果移植到其他主機上,資料庫名和用戶都可以新建而且網站新的資料庫名和用戶不同名,所以只要進入phpmyadmin裡面,選中自己的資料庫,然後點擊上方的導出就可以了,導出的格式默認是.sql的,也很容易導入到其他資料庫裡面。望採納
7. MYSQL備份資料庫
定期的備份可使我們資料庫崩潰造成的損失大大降低。在MySQL中進行數據備份的方法有兩種,一種是使用mysqlmp程序,一種是使用mysqlhot、cp、tar或cpio等打包程序直接拷貝資料庫文件。mysqlmp程序備份資料庫較慢,但它生成的文本文件便於移植。使用mysqlhot等程序備份速度快,因為它直接對系統文件進行操作,需人為協調資料庫數據的備份前後一致性。
使用mysqlmp備份資料庫其實就是把資料庫轉儲成一系列CREATE TABLE和INSERT語句,通過這些語句我們就可重新生成資料庫。使用mysqlmp的方法如下:
% mysqlmp --opt testdb | gzip > /data/backup/testdb.bak
#--opt選項會對轉儲過程進行優化,生成的備份文件會小一點,後的管道操作會進行數據壓縮
% mysqlmp --opt testdb mytable1,mytable2 | gzip > /data/backup/testdb_mytable.bak
#可在資料庫後接數據表名,只導出指定的數據表,多個數據表可用逗號分隔
--opt選項還可激活--add-drop-table選項,它將會在備份文件的每條CREATE TABLE前加上一條DROP TABLE IF EXISTS語句。這可方便進行數據表的更新,而不會發生「數據表已存在」的錯誤。
用mysqlmp命令還可直接把資料庫轉移到另外一台伺服器上,不用生成備份文件。重復執行可定期更新遠程資料庫。
% mysqladmin -h remote_host create testdb
% mysqlmp --opt testdb | mysql -h remote_host testdb
另外還可通過ssh遠程調用伺服器上的程序,如:
% ssh remote_host mysqladmin create testdb
% mysqlmp --opt testdb | ssh remote_host mysql testdb
通過直接拷貝系統文件的方式備份資料庫,在備份時,要確保沒有人對資料庫進行修改操作。要做到這點,最好關閉伺服器。如果不能關閉的,要以只讀方試鎖定有關數據表。下面是一些示例:
% cp -r db /backup/db #備份db資料庫到/backup/db目錄
% cp table_name.* /backup/db #只備份table_name數據表
% scp -r db remotehot:/usr/local/mysql/data #用scp把資料庫直接拷貝到遠程伺服器
在把資料庫直接拷貝到遠程主機時,應注意兩台機器必須有同樣的硬體結構,或者將拷貝的數據表全部是可移植數據表類型。
使用mysqlhot工具,它是一個Perl DBI腳本,可在不關閉伺服器的情況下備份資料庫,它主要的優點是:
它直接拷貝文件,所以它比mysqlmp快。
可自動完成數據鎖定工作,備份時不用關閉伺服器。
能刷新日誌,使備份文件和日誌文件的檢查點能保持同步。
下面是該工具的使用示例:
% mysqlhot db /bakcup/ #把db資料庫備份到backup/db目錄里,會自動創建一個db目錄
使用BACKUP TABLE語句進行備份,該語句最早出現在MySQL 3.23.25版本中,僅適用於MyISAM數據表。用法如下:
mysql> BACKUP TABLE mytable TO '/backup/db'; #把mytable數據表備份到/backup/db目錄下
為了執行該語句,你必須擁有那些表的FILE許可權和SELECT許可權,備份目錄還必須是伺服器可寫的。該語句執行時,會先把內存中的數據寫入磁碟,再把各個數據表的.frm(表結構定義文件)、.MYD(數據)文件從數據目錄拷貝到備份目錄。它不拷貝.MYI(索引)文件,因為它能用另外兩個文件重建。BACKUP TABLE語句備份時,依次鎖定數據表,當同時備份多個數據表時,數據表可能會被修改,所以備份0完成時,備份文件中的數據和現時數據表中的數據可能會有差異,為了消除該差異,我們可用只讀方式鎖定數據表,在備份完成後再解鎖。如:
mysql> LOCK TABLES tb1 READ,tb2 READ;
mysql> BACKUP TABLE tb1,tb2 TO 'backup/db';
mysql> UNLOCK TABLES;
使用BACKUP TABLE語句備份的數據表可用RESTORE TABLE重新載入到伺服器。
InnoDB和BDB資料庫也可用mysqlmp和直接拷貝法進行備份。使用直接拷貝法時應注意需把組成InnoDB和BDB資料庫的所有文件都拷貝下來,如InnoDB的.frm文件、日誌文件和表空間配置文件;BDB的數據文件、日誌文件等。
使用鏡像機制進行備份,我們可用SLAVE STOP語句掛起從伺服器的鏡像,在從伺服器上通過直接拷貝法或其它工具製作備份。備份完成,用SLAVE START重新啟動鏡像,從伺服器重新與主伺服器同步,接收備份時主伺服器所做的修改。
在MySQL中沒有為資料庫重命名的命令,但我們可用mysqlmp轉儲資料庫,再創建一個新的空資料庫,把轉儲文件載入到該新資料庫,這樣就完成資料庫重命名的工作。如:
% mysqlmp old_db >db.sql #轉儲db資料庫數據
% mysqladmin create new_db #新建一個空的資料庫
% mysql new_db < db.sql #把db資料庫的數據載入到新的資料庫中
% mysqladmin drop old_db #刪除舊的資料庫
一個更簡單的重命名資料庫的方法是直接修改資料庫目錄名,但該方法不適用於InnoDB和BDB資料庫。注意,在更名後,需在許可權表中更新相關數據表信息,需執行以下語句:
mysql> UPDATE db SET db='new_db' WHERE db='old_db';
mysql> UPDATE tables_priv SET db='new_db' WHERE db='old_db';
mysql> UPDATE columns_priv SET db='new_db' WHERE db='old_db';
mysql> UPDATE host SET db='new_db' WHERE db='old_db';
8. mysql如何導出整個資料庫
下載mysql-front3.2版本就可以
然後連接後,在資料庫滑鼠右鍵輸出,選擇整個資料庫就可以啦,很方便!!
9. mysql 怎麼用命令題示符下備份所有資料庫
1、每日自動備份
打開企業管理器,進入「管理」-「資料庫維護計劃」,在右側窗口點擊右鍵,選擇「新建維護計劃」,啟動「資料庫維護計劃向導」;點擊「下一步」選擇需要維護的資料庫,維護特性資料庫時,選擇最後一個單選框並勾選需要維護的資料庫名稱;「下一步」選擇更新數據優化信息、「下一步」檢查資料庫完整性、「下一步」指定資料庫備份計劃、「下一步」指定備份存放位置、「下一步」指定事務日誌備份計劃、「下一步」指定報表,「下一步」指定歷史紀錄維護,最後設定維護作業名稱;通常來說,如果只需要備份資料庫文件,則只需要指定備份計劃以及存放位置即可,其他項目不做改動。
在指定備份計劃時候,由於需要每日備份,因此要更改調度。點擊「更改」編輯調度。發生頻率選擇每天;每日頻率選擇作業開始時間,最好選擇資料庫訪問量小時進行,多為半夜時間,可根據流量圖確定具體時間;持續時間通常不用做改動,開始日期為編輯日期,無結束日期。
編輯好上述維護計劃後,還要注意下 sql server代理服務是否啟動了,因為每日調度維護計劃是要啟動這個服務才能執行的。如果該服務沒有啟動,需要手動啟動一下,這是可以在其子項「作業」中看到剛剛添加過的資料庫維護計劃。
2、定期自動清理資料庫日誌文件
資料庫日誌文件是隨著時間增長而增長的,如果長時間不清理,文件會變得特別大,因此需要定期清空,但是日至文件是恢復資料庫的重要依據,不用日誌文件也是不明智的。手工清除單個資料庫的還好說,但資料庫多了,或者臨時沒有來得及清理,可能硬碟空間就會占滿了,影響訪問。因此設置自動清理資料庫日誌文件還是比較實用的。
手動清理方法:右鍵單擊需要清理的資料庫,選擇「屬性」,在「選項」卡上,把故障還原模型設定為簡單,確定後關閉;再右鍵單擊該資料庫,「所有任務」-「收縮資料庫」,確認後即可清除日誌文件,最後記得重新選擇「屬性」,將故障還原模型設置為完全。
自動清理方法:同樣是利用sql server代理服務,執行自動作業。
打開企業管理器,進入「管理」-「sql server代理服務」-「作業」,在右側窗口點擊右鍵,選擇「新建作業」。「常規」選項卡中,填寫作業名稱,具體描述,注意所有者最好還是用sa或者默認的管理帳號。
轉到「步驟」選項卡,新建作業步驟,填寫步驟名稱,類型為腳本,資料庫為需要清理日誌的資料庫,在下邊命令中填寫以下命令:
DUMP TRANSACTION 資料庫名稱 WITH NO_LOG
DBCC SHRINKFILE(資料庫日誌文件名,1)
上邊的資料庫名稱填寫需要維護的資料庫名稱,資料庫日誌文件名填寫其對應的日誌文件名,注意,不是資源管理器里看到的帶後綴名的那個名字,而是企業管理器里,資料庫屬性里日誌選項卡中日誌的名字(通常也只是差一個後綴名……),確定後添加一個作業步驟。 如果需要維護多個資料庫,用上述方法重復添加作業步驟,注意每個步驟成功或失敗後的動作即可,最後選擇一下開始的步驟。
在「調度」選項卡中,類似備份的維護計劃,填寫調度周期,即定期清理的周期,不再細述。如果需要,可以在最後的「通知」選項卡上設置作業完成後的通知項,需要設置操作員,以及設置相應的服務,這里也不具體說明了,通常不用……