備份與還原Mysql

2021-09-06 09:12:49 字數 2404 閱讀 3115

1、在c盤下建立乙個目錄,名稱:backup,然後將下面的**儲存為backup.bat

@echo 設定mysql資料庫的ip

set ipaddress=127.0.0.1

@echo 設定mysql資料庫名

set db_name1=lxyy_db

@echo 獲取當天的日期格式yyyymmdd

20120311

set backup_date=%date:~0,4%%date:~5,2%%date:~8,2%

set backup_date1=date:~0,10

@echo 設定mysqldump 備份的引數

set uid_test_db=-uroot -pdsideal -h %ipaddress% %db_name1%@echo 使用mysqldump對指定的mysql進行備份

mysqldump %uid_test_db% -r -e -e-l -f--max_allowed_packet=1048576 --net_buffer_length=16384 >%db_name1%_%backup_date%.sql

@echo 用winrar中的rar命令對備份出的sql檔案進行壓縮,也可以換成其它的壓縮命令

"c:\program files\winrar\rar.exe

" a %backup_date%.zip *.sql

@echo 刪除已壓縮的備份檔案

del *.sql

為什麼會有上面的引數呢?

說明: mysql

> -umysql使用者名稱 -pmysql密碼 要匯入到的資料庫名<

要匯入mysql的sql檔案路徑 這樣匯入將會非常快,之前數小時才能匯入的sql現在幾十秒就可以完成了。

-l :進行讀鎖-f:生成新的日誌檔案。匯出時候注意點:

-e 使用包括幾個values列表的多行insert語法;

--max_allowed_packet=*** 客戶端/伺服器之間通訊的快取區的最大大小;

--net_buffer_length=*** tcp/ip和套接字通訊緩衝區大小,建立長度達net_buffer_length的行。

注意:max_allowed_packet和net_buffer_length不能比目標資料庫的設定數值 大,否則可能出錯。

首先確定目標庫的引數值

根據引數值書寫mysqldump命令,如: mysql>mysqldump -uroot -psupidea 要匯入到的資料庫名 goodclassification -e --max_allowed_packet=4194304 --net_buffer_length=16384 >要匯入到的資料庫名.net.sql

還原

使用命令列客戶端連上mysql伺服器,

mysql -uroot -pdsideal --default-character-set=utf8 --max_allowed_packet=1048576--net_buffer_length=16384

然後use lxyy_db進入需要還原的資料庫,執行

source c:\lxyy_db_20130426.sql

匯入備份。

二、開源中國的備份資料庫命令:

date_str=`date +%y%m%d`

cd /data2/backup

mysqldump -h localhost -u oschina --password=***x -r -e -e --max_allowed_packet=1048576 --net_buffer_length=16384

oscdb| gzip > /data2/backup/oschina_$date_str.sql.gz

mysql備份與還原

假設mysql 安裝在c 盤,mysql資料庫的使用者名稱是root,密碼是123456,資料庫名是database name,在d 盤根目錄下面存放備份資料庫,備份資料庫名字為backup20070713.sql。備份資料庫 mysqldump uroot p123456 database nam...

mysql備份與還原

備份檔案 檔案開頭記錄了mysql的版本 備份的主機名和資料庫名。檔案中,以 開頭的的都是sql語言的注釋 不會被執行 但是,以 40101 等形式開頭 的是與mysql有關的注釋。40101 是mysql資料庫的版本號,這裡就表示mysql 4.1.1 如果還原資料時,mysql的版本比4.1.1...

mysql備份與還原

工作中用到了mysql,在這裡做個備忘記錄 1 備份 匯出整個資料庫database mysqldump u root p database dump.sql 只匯出表結構 mysqldump u root p d database dump.sql 匯出單個資料表table mysqldump a...