本文目錄一覽:
windows mysql幾種備份和 恢復
1、複製date文件夾備份
============================
假想環境:
MySQL 安裝位置:C:\MySQL
論壇數據庫名稱為:bbs
數據庫備份目的地:C:\db_bak\
============================
新建db_bak.bat,寫入以下代碼
*******************************Code Start*****************************
net stop mysql
xcopy c:\mysql\data\bbs\*.* c:\db_bak\bbs\%date:~0,10%\ /S /I
net start mysql
*******************************Code End *****************************
然後使用Windows的“計劃任務”定時執行該批處理腳本即可。(例如:每天凌晨3點執行back_db.bat)
解釋:備份和恢復的操作都比較簡單,完整性比較高,控制備份周期比較靈活,例如,用%date:~0,10%。此方法適合有獨立主機但對mysql沒有管理經驗的用戶。缺點是佔用空間比較多,備份期間mysql會短時間斷開(例如:針對30M左右的數據庫耗時5s左右),針對%date:~0,10%的用法參考 。
2、mysqldump備份成sql文件
==============
假想環境:
MySQL 安裝位置:C:\MySQL
論壇數據庫名稱為:bbs
MySQL root 密碼:123456
數據庫備份目的地:D:\db_backup\
腳本:
rem *******************************Code Start*****************************
@echo off
set “Ymd=%date:~,4%%date:~5,2%%date:~8,2%”
C:\MySQL\bin\mysqldump –opt -u root –password=123456 bbs D:\db_backup\bbs_%Ymd%.sql
@echo on
rem *******************************Code End*****************************
將以上代碼保存為backup_db.bat
然後使用Windows的“計劃任務”定時執行該腳本即可。(例如:每天凌晨5點執行back_db.bat)
說明:此方法可以不用關閉數據庫,並且可以按每一天的時間來名稱備份文件。
通過%date:~5,2%來組合得出當前日期,組合的效果為yyyymmdd,date命令得到的日期格式默認為yyyy-mm-dd(如果不是此格式可以通過pause命令來暫停命令行窗口看通過%date:~,20%得到的當前計算機日期格式),所以通過%date:~5,2%即可得到日期中的第五個字符開始的兩個字符,例如今天為2009-02-05,通過%date:~5,2%則可以得到02。(日期的字符串的下標是從0開始的)
3、利用WinRAR對MySQL數據庫進行定時備份。
對於MySQL的備份,最好的方法就是直接備份MySQL數據庫的Data目錄。下面提供了一個利用WinRAR來對Data目錄進行定時備份的方法。
首先當然要把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文件,接着為這個任務指定一個運行時間和運行時使用的賬號密碼就可以了。
這種方法缺點是佔用時間比較多,備份期間壓縮需要時間,mysql斷開比第一種方法更多的時間,但是對於文件命名很好。
windows下Mysql 怎樣備份和還原?
前提是把MYSQL的安裝路徑\bin添加到系統環境變量PATH中了。
備份:mysqldump
-u
root
-p123456
kcgl
c:\20090219.sql
mysqldump
備份命令
root
用戶名(root管理員)
123456
密碼
kcgl
備份的數據庫名;
備份符號
20090219.sql
備份的文件名
還原:
mysql
-u
root
-p123456
kcgl
c:\20090219.sql
mysql
還原命令
root
用戶名(root管理員)
123456
密碼
dbcurr
備份的數據庫名;
還原符號
20090219.sql還原的文件名
注意:首先要確保你的mysql
中有kcgl這個庫,還原命令是不會自動建庫的。
mysqldump
遠程備份
mysqldump
-h
ip
-uroot
-proot
database
c:\data.sql
---------其他---------
mysqldump備份:
mysqldump
-u用戶名
-p密碼
-h主機
數據庫
a
-w
“sql條件”
–lock-all-tables
路徑
案例:
mysqldump
-uroot
-p1234
-hlocalhost
db1
a
-w
“id
in
(select
id
from
b)”
–lock-all-tables
c:\aa.txt
mysqldump還原:
mysqldump
-u用戶名
-p密碼
-h主機
數據庫
路徑
案例:
mysql
-uroot
-p1234
db1
c:\aa.txt
mysqldump按條件導出:
mysqldump
-u用戶名
-p密碼
-h主機
數據庫
a
–where
“條件語句”
–no-建表
路徑
mysqldump
-uroot
-p1234
dbname
a
–where
“tag=’88′”
–no-create-info
c:\a.sql
mysqldump按導入:
mysqldump
-u用戶名
-p密碼
-h主機
數據庫
路徑
案例:
mysql
-uroot
-p1234
db1
c:\a.txt
mysqldump導出表:
mysqldump
-u用戶名
-p密碼
-h主機
數據庫
表
案例:
mysqldump
-uroot
-p
sqlhk9
a
–no-data
————————————————-
mysqldump命令介紹
–all-databases,
-A:
備份所有數據庫
–databases,
-B:
用於備份多個數據庫,如果沒有該選項,mysql
dump
把第一個名字參數作為數據庫名,後面的作為表名。使用該選項,mysql
dum把每個名字都當作為數據庫名。
–force,
-f:即使發現sql錯誤,仍然繼續備份
–host=host_name,
-h
host_name:備份主機名,默認為localhost
–no-data,
-d:只導出表結構
–password[=password],
-p[password]:密碼
–port=port_num,
-P
port_num:制定TCP/IP連接時的端口號
–quick,
-q:快速導出
–tables:覆蓋
–databases
or
-B選項,後面所跟參數被視作表名
–user=user_name,
-u
user_name:用戶名
–xml,
-X:導出為xml文件
1.備份全部數據庫的數據和結構
mysql
dump
-uroot
-p123456
-A
F:\all.sql
2.備份全部數據庫的結構(加
-d
參數)
mysql
dump
-uroot
-p123456
-A
-dF:\all_struct.sql
3.備份全部數據庫的數據(加
-t
參數)
mysql
dump
-uroot
-p123456
-A
-tF:\all_data.sql
4.備份單個數據庫的數據和結構(,數據庫名mydb)
mysql
dump
-uroot
-p123456
mydbF:\mydb.sql
5.備份單個數據庫的結構
mysql
dump
-uroot
-p123456
mydb
-dF:\mydb.sql
6.備份單個數據庫的數據
mysql
dump
-uroot
-p123456
mydb
-tF:\mydb.sql
7.備份多個表的數據和結構(數據,結構的單獨備份方法與上同)
mysql
dump
-uroot
-p123456
mydb
t1
t2
f:\multables.sql
8.一次備份多個數據庫
mysql
dump
-uroot
-p123456
–databases
db1
db2
f:\muldbs.sql
還原部分分(1)mysql
命令行source方法
和
(2)系統命令行方法
1.還原全部數據庫:
(1)
mysql
命令行:mysql
source
f:\all.sql
(2)
系統命令行:
mysql
-uroot
-p123456
use
mydb
mysql
source
f:\mydb.sql
(2)
mysql
-uroot
-p123456
mydb
use
mydb
mysql
source
f:\multables.sql
(2)
mysql
-uroot
-p123456
mydb
source
f:\muldbs.sql
(2)
系統命令行:
mysql
-uroot
-p123456
評論
加載更多
windows下的mysql忘記密碼的解決之道
有時,我們在Windows操作系統下編程會使用到MySQL數據庫。但是有時,我們會忘記數據庫的登錄密碼?當我們忘記了登錄密碼,無法進入mysql時,該怎麼辦呢?這裡我們提供mysql的登錄秘密的修改。
具體方法如下:
1
首先,需要關閉MySQL
Server服務。在“運行”窗口,輸入“services.msc”,進入“服務”窗口。
2
在服務窗口,可以找到“MySQL56”,選定,將其“停止”即可。
這樣,MySQL
Server服務就停止了。
需要說明的是,這裡的“MySQL56”受版本限制。舉例來說,如果你的MySQL的版本是5.1,那麼此時就是就是“MySQL51”。
當然,也可以在命令行窗口使用“net
stop
MySQL56”來停止服務。
3
接着,需要使用到MySQL的安裝位置。如果忘記了,可以在“開始”按鈕(Windows鍵)找到安裝“MySQL”文件夾,打開並選擇“MySQL
Server
5.6”文件夾,會看到兩個Mysql
commond
打開的快捷方式。選擇其中的一個查看其屬性,就可以找到MySQL的安裝位置。
可以看到我們的MySQL位置在“D:\Program
Files\MySQL”
4
其實,我們之所以想知道MySQL的安裝位置,是為了獲取其下的.ini文件的位置。該文件記錄了MySQL的配置信息。如果我們想跳過登錄權限,就必須獲取該文件的位置。
需要注意的是,不同版本的.ini文件的名稱不同,在MySQL
5.1時,它是my.ini,而在MySQL
5.6則是my-default.ini。
5
接着,打開命令行窗口,輸入如下的命令:
C:\Users\wangmysqld
–defaults-file=”D:\Program
Files\MySQL\MySQL
Server
5.6\my-default.ini”
–console
–skip-grant-tables
需要說明的是,此時該窗口不可再寫入。這也是檢驗命令是否正確執行的一個標準。
6
另外打開一個命令行窗口,輸入命令:mysql
-u
root
-p,回車即可進入mysql命令行界面。
7
接下來,只需要修改系統數據庫,將密碼進行更新即可。
需要使用到的命令是:
mysql-show
database;
mysql-use
mysql
mysql-update
user
set
password=PASSWORD(‘12345’)
where
USER=’root’;
這樣,就將新密碼設為了12345。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/253887.html