標籤:val 管理系 color roc 介面 複數 des cab 產生
MySQL是一種開放原始碼的關係型資料庫管理系統(RDBMS),使用最常用的資料庫管理語言--結構化查詢語言 (SQL)(SQL)進行資料庫管理。我們試著想一想, 在生產環境中什麼最重要?如果我們伺服器的硬體壞了可以維修或者換新, 軟體問題可以修複或重新安裝, 但是如果資料沒了呢?這可能是最恐怖的事情了吧, 我感覺在生產環境中應該沒有什麼比資料跟更為重要. 那麼我們該如何保證資料不丟失、或者丟失後可以快速恢複呢?只要看完這篇, 大家應該就能對MySQL中實現資料備份和恢複能有一定的瞭解。
建立新資料庫並且進行完全備份
ls /usr/local/mysql/data/school/ //會產生三個資料檔案分別為db.opt //屬性檔案info.frm //表的結構檔案info.ibd //表的資料檔案tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/ //全部進行備份mysql-2018-07-04.tar.xz //就會在備份的路徑中產生一個xz格式的壓縮包當恢複的時候 則刪除原有data 所有檔案tar Jxvf /opt/mysql-2018-07-04.tar.xz -C 當備份回去注意檔案的屬主和屬組
備份
mysqldump -u root -p school > /opt/school.sql /備資料庫mysqldump -u root -p --databases school mysql > /opt/school-mysql.sql //同時備份多個資料庫mysqldump -u root -p --opt --all-databases > /opt/all-mysql.sql //備份所有資料庫mysqldump -u root -p school info > /opt/school-info.sql //備份school 裡面的info表mysqldump -u root -p -d school info > /opt/desc-info.sql //備份表的結構 不會資料插入
Linux字元介面中恢複MySQL中的資料庫表列
註:在Linux字元介面中恢複的前提是得有一個要恢複的資料庫同名的資料才恢複資料庫mysql -u root -p school < /opt/school-info.sql //在恢複表的時候一應是要先有資料庫才可以恢複
在MySQL模式恢複 "source"命令
mysql> drop table info; ///刪除表mysql> source /opt/school-info.sql //匯入回來就OK了mysql> show tables; //查看錶
增量備份 要開啟二進位記錄檔
log-bin=mysql-bin //在MySQL主配置中服務端裡面添加開啟二進位記錄檔mysqladmin -u root -p flush-logs2 //重新整理並且產生二進位日誌insert into info (name,score) values (‘lisi‘,88); //添加了李四mysqlbinlog --no-defaults mysql-bin.000002 | mysql -u root -p //使用二進位日誌進行恢複查看二進位檔案mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002--base64-output=decode-rows -v //使用64位編碼進行解碼 按行進行讀取 -v 顯示出來
MySQL 資料備份