一、Mysql數(shù)據(jù)庫備份指令格式:
公司主營業(yè)務(wù):成都網(wǎng)站制作、網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出獲嘉免費做網(wǎng)站回饋大家。
mysqldump -h主機名 -P端口 -u用戶名 -p密碼 (–database) 數(shù)據(jù)庫名 文件名.sql
注:直接cmd執(zhí)行該指令即可,不需要先mysql -u root -p鏈接數(shù)據(jù)庫
1、備份MySQL數(shù)據(jù)庫的命令
mysqldump -hhostname -uusername -ppassword databasename backupfile.sql
2、備份MySQL數(shù)據(jù)庫為帶刪除表的格式,能夠讓該備份覆蓋已有數(shù)據(jù)庫而不需要手動刪除原有數(shù)據(jù)庫。
mysqldump -–add-drop-table -uusername -ppassword databasename backupfile.sql
二、數(shù)據(jù)庫還原有三種方式:source命令、mysql、gunzip命令
1、source 命令
進入mysql數(shù)據(jù)庫控制臺,
mysql -u root -p
mysqluse 數(shù)據(jù)庫
然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)
mysqlsource /home/work/db/bkdb.sql
2、mysql
mysql -hhostname -uusername -ppassword databasename backupfile.sql
3、gunzip
gunzip backupfile.sql.gz | mysql -uusername -ppassword databasename
MySQL數(shù)據(jù)庫備份與還原
備份和恢復(fù)數(shù)據(jù)
生成SQL腳本
在控制臺使用mysqldump命令可以用來生成指定數(shù)據(jù)庫的腳本文本,但要注意,腳本文本中只包含數(shù)據(jù)庫的內(nèi)容,而不會存在創(chuàng)建數(shù)據(jù)庫的語句!所以在恢復(fù)數(shù)據(jù)時,還需要自已手動創(chuàng)建一個數(shù)據(jù)庫之后再去恢復(fù)數(shù)據(jù)。
mysqldump –u用戶名 –p密碼 數(shù)據(jù)庫名生成的腳本文件路徑
現(xiàn)在可以在C盤下找到mydb1.sql文件了!
注意,mysqldump命令是在Windows控制臺下執(zhí)行,無需登錄mysql?。?!
執(zhí)行SQL腳本
執(zhí)行SQL腳本需要登錄mysql,然后進入指定數(shù)據(jù)庫,才可以執(zhí)行SQL腳本?。?!
執(zhí)行SQL腳本不只是用來恢復(fù)數(shù)據(jù)庫,也可以在平時編寫SQL腳本,然后使用執(zhí)行SQL 腳本來操作數(shù)據(jù)庫!大家都知道,在黑屏下編寫SQL語句時,就算發(fā)現(xiàn)了錯誤,可能也不能修改了。所以我建議大家使用腳本文件來編寫SQL代碼,然后執(zhí)行之!
SOURCE C:\mydb1.sql
注意,在執(zhí)行腳本時需要先行核查當(dāng)前數(shù)據(jù)庫中的表是否與腳本文件中的語句有沖突!例如在腳本文件中存在create table a的語句,而當(dāng)前數(shù)據(jù)庫中已經(jīng)存在了a表,那么就會出錯!
還可以通過下面的方式來執(zhí)行腳本文件:
mysql -uroot -p123 mydb1c:\mydb1.sql
mysql –u用戶名 –p密碼 數(shù)據(jù)庫要執(zhí)行腳本文件路徑
這種方式無需登錄mysql!
1:官方百萬級別的測試數(shù)據(jù)庫:
官方測試數(shù)據(jù)庫github網(wǎng)址:
下載到目錄,解壓即可,運行命令:
2:自己創(chuàng)建簡單測試數(shù)據(jù)庫:
快速隨機生成測試語言的網(wǎng)站:
選擇sql和想生成的字段,點擊生成Generate!生成即可。
在MySQL輸入生成的語句即可。
3:測試備份還原時用到的命令
刪庫跑路測試(先備份好)
還原后查詢庫的表數(shù)據(jù)是否完整。
采用復(fù)制整個數(shù)據(jù)存放目錄
1:查看數(shù)據(jù)庫數(shù)據(jù)存放位置
有兩種方法:
1):在數(shù)據(jù)庫中用命令 show variables like 'datadir'; 查看
2):在配置文件中查看,配置了 datadir 目錄的可查看。沒有配置的默認為 /var/lib/mysql/ 位置
Linux中查看配置文件
2:復(fù)制目錄或者目錄下某個數(shù)據(jù)庫名
3:還原時直接復(fù)制文件夾到數(shù)據(jù)庫目錄即可
mysqldump又可叫做全量備份。
參數(shù) --databases 同 -B ,單獨一個庫,也可省略。
1、備份命令mysqldump格式
格式:mysqldump -h主機名 -P端口 -u用戶名 -p密碼 database 數(shù)據(jù)庫名 文件名.sql
備份testDatabase數(shù)據(jù)庫
2、備份MySQL數(shù)據(jù)庫為帶刪除表的格式
備份MySQL數(shù)據(jù)庫為帶刪除表的格式,能夠讓該備份覆蓋已有數(shù)據(jù)庫而不需要手動刪除原有數(shù)據(jù)庫。
3、直接將MySQL數(shù)據(jù)庫壓縮備份
備份并壓縮
4、備份MySQL數(shù)據(jù)庫某個(些)表
備份testDatabase中的myTable表,不需要用參數(shù) --databases 或者 -B
5、同時備份多個MySQL數(shù)據(jù)庫
同時備份testDatabase和 employees兩個庫
6、備份服務(wù)器上所有數(shù)據(jù)庫
參數(shù) --all-databases 同 -A
7、還原MySQL數(shù)據(jù)庫的命令
1) 不指定數(shù)據(jù)名還原,默認生成原數(shù)據(jù)庫名稱,還原所有數(shù)據(jù)庫。
2) 指定數(shù)據(jù)名還原,還原指定單個數(shù)據(jù)庫,需在數(shù)據(jù)庫種預(yù)先創(chuàng)建一個testDatabase名稱。
3) 還原壓縮的MySQL數(shù)據(jù)庫
4) 進入數(shù)據(jù)庫用source導(dǎo)入
增量備份是針對于數(shù)據(jù)庫的bin-log日志進行備份的,增量備份是在全量的基礎(chǔ)上進行操作的。增量備份主要是靠mysql記錄的bin-log日志。
1:查看是否開啟bin-log日志
進入mysql輸入命令可查看。
顯示如下為開啟狀態(tài),日志文件在/var/lib/mysql/以binlog.00001的格式保存。
如未開啟,需要在配置文件種配置
2:查看目前使用的bin-log日志文件
進入mysql查看命令。
顯示如下,目前使用的是binlog.000022文件,所有操作都記錄在此文件。
查看當(dāng)前testDatabase的表myTable數(shù)據(jù)如下,
3:刷新日志,使用新的日志文件(備份)
在命令端執(zhí)行命令
日志文件從 binlog.000022 變?yōu)?binlog.000023
這時相當(dāng)與已經(jīng)備份成功,備份文件即為上次的binlog.000022日志文件。
4:刪除數(shù)量,從日志還原數(shù)據(jù)
1) 刪除ABC行
查詢以及沒有ABC行列。
2) 恢復(fù)數(shù)據(jù)ABC行
退出mysql,在命令端用mysqlbinlog命令恢復(fù)到binlog.000022日志狀態(tài)。
進入數(shù)據(jù)庫再次查看數(shù)據(jù),ABC已經(jīng)恢復(fù)。
增量備份完成。
備份數(shù)據(jù)庫
使用mysqldump命令備份數(shù)據(jù)庫
還原數(shù)據(jù)庫
1、使用mysql命令還原數(shù)據(jù)庫
將game_backup.sql 還原至 game 數(shù)據(jù)庫:
2、使用source命令還原數(shù)據(jù)庫
如果數(shù)據(jù)庫過大,建議可以使用source命令