MySQLd_safe --log-bin----打開二進制備份命令vim /etc/my.cnf----也可以修改配置文件進行開啟二進制備份日志
[MySQLd]
log-bin=MySQL-bin
server-id=1[root@death var]# MySQLd_safe --log-bin &
[1] 5741
100422 11:40:22 mysqld_safe Logging to '/usr/local/MySQL/var/death.uplooking.com.err'.
100422 11:40:23 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var[root@death var]# MySQLbinlog death-bin.000001
查看二進制的日志[root@death var]# mysqlbinlog --stop-date="10-04-22 11:45:35" stu254-bin.000002 | MySQL -u root -pjindong
用時間限制來顯示一部分的數據,並且用管道傳給數據庫(相當於恢復)。[root@death var]# mysqlbinlog --start-date="10-04-22 12:11:20" --stop-date="10-04-22 12:11:43" death-bin.000001 | MySQL -u root -p
指定時間來恢復數據[root@death var]# mysqlbinlog --start-position=357 --stop-position=539 death-bin.000001 | MySQL -u root -p
指定點來恢復,比指定時間好用。====================================================================計劃任務備份
[root@death var]# vim /etc/my.cnf
[MySQLd]
log-bin=MySQL-bin -----------等號後面的東西是以後建立二進制目錄的名字。也可以不寫,有默認值的。這樣
重啟一下MySQL以後,目錄:
/usr/local/MySQL/var
下就會生成兩個日志文件了
[root@death var]# ls
a1 death.uplooking.com.pid ibdata1 ib_logfile1 MySQL-bin.000001 PHPbb work1
death.uplooking.com.err discuss ib_logfile0 mysql MySQL-bin.index work yiti
然後就可以用這個日志來恢復數據庫了。[root@death var]# mysqladmin flush-logs -u root -p ------可以產生一個新的日志文件[root@death var]# MySQLdump --delete-master-logs --all-databases -u root -p > /root/sql.bak.sql----做一個完全備份,並且把舊的二進制日志都刪除掉,
並且產生一個新的日志文件。這個可以寫一個計劃任務,每周日晚上十二點進行完全備份
[root@death data]# vim MySQL.sh
/usr/local/mysql/bin/MySQLdump --delete-master-logs --all-databases -u root -pjindong > /data/baking,sql`date +%F`這個可以寫一個計劃任務,每周一到周六進行增量備份。
[root@death data]# vim update.sh
/usr/local/mysql/bin/MySQLadmin flush-logs
if [ $?=0 ]
then
mv /usr/local/mysql/var/mysql-bin.`ls /usr/local/mysql/var/MySQL-bin.0* | awk -F. '{print $2}' | sort -n | head -l` /data
else
exit
fi
=====================================================