關(guān)于Mysql數(shù)據(jù)庫(kù)腳本的備份介紹分析
關(guān)于Mysql 數(shù)據(jù)庫(kù)腳本的備份介紹分析MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS ),MySQL 數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言--結(jié)構(gòu)化查詢語(yǔ)言(SQL )進(jìn)行數(shù)據(jù)庫(kù)管理。
關(guān)于Mysql 數(shù)據(jù)庫(kù)腳本的備份介紹分析
MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS ),MySQL 數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言--結(jié)構(gòu)化查詢語(yǔ)言(SQL )進(jìn)行數(shù)據(jù)庫(kù)管理。專職優(yōu)化、域名注冊(cè)、網(wǎng)站空間、美國(guó)虛擬主機(jī)、服務(wù)器托管、vps 主機(jī)、服務(wù)器租用的中國(guó)信息港來為你詳細(xì)介紹mysql 數(shù)據(jù)庫(kù)腳本的備份!
一、對(duì)于Windows 主機(jī)
==============
假想環(huán)境:
MySQL 安裝位置:C:MySQL
論壇數(shù)據(jù)庫(kù)名稱為:bbs
MySQL root 密碼:123456
數(shù)據(jù)庫(kù)備份目的地:D:?_backup
一、對(duì)于Windows 主機(jī)
==============
假想環(huán)境:
MySQL 安裝位置:C:MySQL
論壇數(shù)據(jù)庫(kù)名稱為:bbs
MySQL root 密碼:123456
數(shù)據(jù)庫(kù)備份目的地:D:?_backup
程序代碼
@echo off
C:MySQLbinmysqladmin -u root --password=123456 shutdown C:MySQLbinmysqldump --opt -u root --password=123456 bbs > D:?_backup?s.sql
C:MySQLbinmysqld-nt
將以上代碼保存為backup_db.bat
然后使用Windows 的“計(jì)劃任務(wù)”定時(shí)執(zhí)行該腳本即可。(例如:每天凌晨5點(diǎn)執(zhí)行back_db.bat)
二、對(duì)于Linux 主機(jī)
===========
假想環(huán)境:
MySQL 安裝位置:/usr/local/mysql
論壇數(shù)據(jù)庫(kù)名稱為:bbs
MySQL root 密碼:123456
數(shù)據(jù)庫(kù)備份目的地:/var/db_backup/
,程序代碼
#! /bin/bash
/usr/local/mysql/bin/mysqladmin -u root --password=123456 shutdown /usr/local/mysql/bin/mysqldump --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
對(duì)該腳本賦予執(zhí)行權(quán)限:
# chmod 755 /usr/local/sbin/backup_db.sh
加入crontab 中自動(dòng)執(zhí)行:
# crontab -e
加入:
程序代碼
0 5 * * * /usr/local/sbin/backup_db.sh
用mysqldump 來備份數(shù)據(jù)庫(kù)
寫在前面:
----------------------------------------------------------------- 有時(shí)候經(jīng)常要把數(shù)據(jù)庫(kù)轉(zhuǎn)來轉(zhuǎn)去, 或者導(dǎo)入導(dǎo)出, 以前記得命令, 后來又忘記了, 現(xiàn)在寫出來備忘!
------------------------------------------------------------------ 注意:mysqldump比直接拷貝數(shù)據(jù)庫(kù)文件夾速度要慢
但, 直接復(fù)制文件夾不能100轉(zhuǎn)移到其它機(jī)子上用, 我說的不是windows 下 :) #mysqldump db_name >/path/name.sql
上面的命令意思是把一個(gè)庫(kù)導(dǎo)出到一個(gè)SQL 文件. 當(dāng)然, 你直接在有ROOT 密碼的機(jī)子上執(zhí)行以上命令一定會(huì)報(bào)錯(cuò). 所以, 請(qǐng)用
#mysqldump db_name >/path/name.sql -uroot -p
這回會(huì)要求你輸入密碼, 輸入正確, 找找/path下是不是有name.sql 文件了? 數(shù)據(jù)庫(kù)太大了, 想壓縮一下? 好, 用這個(gè)命令就行
#mysqldump db_name |gzip >/path/name.gz -uroot -p
想備份全部的庫(kù)呢?
#mysqldump --all-databases >/path/name.sql -uroot -p
#mysqldump --all-databases |gzip >/path/name.gz -uroot -p (很明顯, 這條命令是加壓縮的意思)
,只想備份一個(gè)單獨(dú)或者幾個(gè)表?
有時(shí)候數(shù)據(jù)庫(kù)很大很大, 整個(gè)庫(kù)備份就不好管理, 那就單獨(dú)備份
#mysqldump db_name tab_name >/path/sqlname.sql -uroot -p
備份做好了. 遇到問題的時(shí)候. 怎么用備份恢復(fù)數(shù)據(jù)?
再簡(jiǎn)單不過了,
mysql db_name < backup-file.sql -uroot -p
注意:如果你想恢復(fù)的數(shù)據(jù)庫(kù)是包含授權(quán)表的mysql 數(shù)據(jù)庫(kù),你需要用
--skip-grant-table 選項(xiàng)運(yùn)行服務(wù)器。否則,它會(huì)抱怨不能找到授權(quán)表。在你已經(jīng)恢復(fù)表后,執(zhí)行mysqladmin flush-privileges 告訴服務(wù)器裝載授權(quán)標(biāo)并使用它們
恢復(fù)單個(gè)表
恢復(fù)單個(gè)表較為復(fù)雜, 如果你用一個(gè)由mysqldump 生成的備份文件,并且它不包含你感興趣的表的數(shù)據(jù),你需要從相關(guān)行中提取它們并將它們用作 mysql的輸入。這是容易的部分。難的部分是從只運(yùn)用于該表的更新日志中拉出片斷。你會(huì)發(fā)覺mysql_find_rows實(shí)用程序?qū)Υ撕苡袔椭?,它?更新日志中提取多行查詢。
中國(guó)信息港專業(yè)域名注冊(cè), 域名申請(qǐng), 域名查詢, 服務(wù)器托管,服務(wù)器租用, 云主機(jī), 虛擬主機(jī), vps 主機(jī),香港虛擬主機(jī), 企業(yè)郵箱, 企業(yè)郵局, 企業(yè)短信, 郵箱域名, 代理做賬,公司代注 , 域名交易, 網(wǎng)站建設(shè), 可信網(wǎng)站, 網(wǎng)站推廣, 域名查詢, 雙線主機(jī), 美國(guó)主機(jī), 海外主機(jī), 虛擬主機(jī)提供商, 微軟SPLA 認(rèn)證運(yùn)營(yíng)商, 虛擬主機(jī)管理, 中文域名, 中國(guó)域名, 頂級(jí)域名注冊(cè), 域名注冊(cè)提供商, 域名服務(wù)商, 自定制主機(jī), 動(dòng)態(tài)域名。