mysql軟體進行備份 MySQL的幾種備份工具

2021-10-17 22:30:51 字數 2778 閱讀 6116

mysql備份和恢復

注意:備份不成功的原因可能是版本不一樣,需執行命令#cp /usr/local/mysql/bin/mysqldump|mysqlhotcop|mysqlimport  /usr/local/bin/

(1)mysqldump備份工具

備份資料庫下的表

# mysqldump -u root -paixocm --opt test c01 c02 c03 > /employees.sql         \\備份

# mysql -u root -paixocm --database test < employees.sql         \\恢復

備份指定資料庫

# mysqldump -u root -paixocm --opt --database test > /employees.sql

# mysql -u root -paixocm < employees.sql

備份所有資料庫

# mysqldump -u root -paixocm --opt --all-databases > /employees.sql

鎖定和解鎖所有表

mysql> flush tables with read lock;

mysql> unlock tables;

鎖定指定表

mysql> lock table cware read;

mysql> unlock tables;             \\解鎖

檢視鎖定表

mysql> show open tables where in_use > 0;

(2)mysqlhotcopy

# mysqlhotcopy -u root -h localhost -p aixocm sxjy test /test/mydata

(3)mysqlimport(從檔案匯入資料到資料庫)

# mysqlimport -u root -paixocm --fields-terminated-by=' ' --lines-terminated-by='\n' --local test(資料庫名)  /test/weblog.txt(檔名應和表名一致)

(4)xtrabackup

# tar xf percona-xtrabackup-2.2.12-linux-x86_64.tar.gz

# mv percona-xtrabackup-2.2.12-linux-x86_64 /usr/local/xtrabackup

# cp /usr/local/xtrabackup/bin/*  /usr/bin/            (不然會報錯:innobackupex命令沒有找到)

# yum install perl-time*

(5)innobackupex

普通備份(全量備份)

# innobackupex --user=root --password=aixocm --socket=/tmp/mysql.sock /test/mydata/ (以當前的時間戳命名)

# innobackupex --user=root --password=aixocm --socket=/tmp/mysql.sock  --no-timeatamp  /test/mydata/1     (以1命名)

恢復備份   (要把/database/mydata/目錄下的內容全部刪除,再stop服務,備份完之後要修改/database/mydata下的許可權)

# innobackupex --copy-back /test/mydata/2015-08-13_23-24-40          \\備份日誌

壓縮備份

# innobackupex --user=root --password=aixocm --socket=/tmp/mysql.sock --stream=tar /test/mydata/ 2> /tmp/backup/mysql1.log | gzip > /test/mydata/mysql.tar.gz

備份恢復

# tar -ixf mysql.tar.gz -c /database/mydata/

增量備份

# innobackupex --user=root --password=aixocm --socket=/tmp/mysql.sock --incremental /test/mydata/ --incremental-basedir=/test/mydata/2015-08-13_23-24-40

# innobackupex --user=root --password=aixocm --socket=/tmp/mysql.sock --incremental --incremental-basedir=/test/mydata/2015-08-13_23-24-40/ /test/mydata/         (基於全量備份的增量備份)

# innobackupex --user=root --password=aixocm --socket=/tmp/mysql.sock --incremental /test/mydata/ --incremental-basedir=/test/mydata/2015-08-13_23-24-40

# innobackupex --user=root --password=aixocm --socket=/tmp/mysql.sock --incremental /test/mydata --incremental-basedir=/test/mydata/2015-08-13_23-29-04/ /test/mydata/        (基於第乙個增量備份的第二個增量備份)

備份恢復

在所有備份目錄下重做已提交日誌

手動備份MySQL資料庫 手動備份mysql資料庫

paths 檔案路徑 user 資料庫使用者名稱 pass 資料庫密碼 database 資料庫名 public static boolean backup string paths,string user,string pass,string database outstr sb.tostring...

mysql如何進行自動的備份

備份的命令 mysqldump u root password root student home mysql data bak date date y m d h m s sql 首先建立乙個資料夾用來存放備份的資料庫檔案 eg mkdir mysql data bak 建立乙個資料夾 給資料夾付...

Mysql 將資料進行備份與還原

二 還原資料庫 1.資料的介紹 在運算元據庫時,難免會發生一些意外造成資料丟失。例如,突然停電 管理員的操作失誤都可能導致資料的丟失。為了確保資料的安全,需要定期對資料庫進行備份,這樣,當遇到資料庫中資料丟失或者出錯的情況,就可以將資料進行懷原,從而最大限度地降低損失。這段話是課本上說的,而我想說特...