Mysql數據庫技術——數據庫備份技術

數據庫備份技術

邏輯備份是指只將數據庫裏面的邏輯數據打包走(邏輯數據是指數據庫裏有效的數據)。

邏輯備份的優缺點: 
優點:備份出來的是純數據,佔用磁盤空間是很小的
缺點:因爲備份出來的是sql語句,所以時間較長


1.Sql語法備份
本身是一種數據導出的方法,同時可以用來輔助備份,它可以對一個表的其中一列或者某幾列做備份(導出)

語法:select xxx into outfile filename from table…

舉例:
具體情況下需要對到處的文件夾進行授權:

[root@Client opt]#mkdir /opt/backup
[root@Client opt]#chown mysql:mysql /opt/backup

如果我們需要導出user表:

mysql > select host,user,password into outfile ‘/opt/mysql_user.txt’ from mysql.user;

創建出的備份文件可在/opt 目錄下找到mysql_user.txt 文件

當我們需要恢復數據時:

mysql > load data local infile ‘/opt/backup/emp.txt into table emp;’


2.mysqldump 邏輯備份工具(導出爲sql語句)

①表級
備份數據:

mysqldump -uroot -p[數據庫密碼] 庫名 表名 > 備份文件路徑

例如:

[root@Client opt] mysqldump -uroot -p123456 test emp > /opt/backup/emp_bak.sql

恢復數據:

1.load data local infile 數據文件路徑 into table 表名
2.source 恢復文件路徑 (在進入數據庫的情況下 )

例如:

[root@Client opt] load data local infile ‘/opt/backup/emp_back.sql’ from emp;
mysql > source /opt/backup/emp_back.sql;

②數據庫級

mysql -uroot -p[密碼] –database 數據庫名 > 備份文件路徑

例如:
備份數據:

[root@Client opt] mysqldump -uroot -p123456 –database test > /opt/backup/test.sql;

恢復數據

[root@Client opt] mysqldump -uroot -p123456 < 備份路徑
source 用法相同

③全庫級
備份數據

mysqldump -uroot -p[密碼] –all-database > 備份文件路徑

例如

[root@Client opt]mysqldump -uroot -p[密碼] –all-database > /opt/backup/all.sql

恢復數據
(1)初始化數據庫

[root@Client opt]mysql_install_db –datadir =/opt/mysql/

(2)恢復全庫

[root@Client opt] vim /etc/my.cnf
加入一行
skip-grant-tables —-跳過登陸授權
mysql > source /opt/backup/all.sql

(3) 進行測試

去掉 skip-grant-tables 這一行
mysql -uroot -p123456

如果能正常登陸就說明,數據庫恢復完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章