基本的備份命令
mysqldump -h hostname -u username -p password databasename > backupfile.sql
基本還原命令
mysql -h hostname -u username -p password databasename < backupfile.sql
幫助:mysqldump --help
指定時間恢復(fù)
mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456 | mysql -u root -pmypwd
mysqlbinlog --stop-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456 | mysql -u root -pmypwd
指定位置恢復(fù)
mysqlbinlog --stop-position="368312" /var/log/mysql/bin.123456 | mysql -u root -pmypwd
mysqlbinlog --start-position="368312" /var/log/mysql/bin.123456 | mysql -u root -pmypwd
根據(jù)數(shù)據(jù)庫名來進行還原 -d
在這里是小寫的d,請不要把它和mysqldump中的-D搞混了。
[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog -d test /var/lib/mysql/mysql-bin.000002
根據(jù)數(shù)據(jù)庫所在IP來分-h(huán)
[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog -h 192.1681.102 /var/lib/mysql/mysql-bin.000002
根據(jù)數(shù)據(jù)庫所占用的端口來分-P
有的時候,我們的mysql用的不一定是3306端口,注意是大寫的P
[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog -P 13306 /var/lib/mysql/mysql-bin.000002
根據(jù)數(shù)據(jù)庫serverid來還原–server-id
在數(shù)據(jù)庫的配置文件中,都有一個serverid并且同一集群中serverid是不能相同的。
[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog –server-id=1 /var/lib/mysql/mysql-bin.000002
備份所有數(shù)據(jù),并清空所有bin-log日志
./mysqldump –flush-logs -u root –all-databases > /tmp/alldatabase.sql