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