建立新數據庫而且進行徹底備份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 當備份回去注意文件的屬主和屬組
備份sql
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; //查看錶
增量備份 要開啓二進制日誌文件ide
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 顯示出來