基本的备份命令
mysqldump -h hostname -u username -p password databasename > backupfile.sql
基本还原命令
mysql -h hostname -u username -p password databasename < backupfile.sql
帮助:mysqldump --help
指定时间恢复
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
指定位置恢复
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
根据数据库名来进行还原 -d
在这里是小写的d,请不要把它和mysqldump中的-D搞混了。
[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog -d test /var/lib/mysql/mysql-bin.000002
根据数据库所在IP来分-h
[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog -h 192.1681.102 /var/lib/mysql/mysql-bin.000002
根据数据库所占用的端口来分-P
有的时候,我们的mysql用的不一定是3306端口,注意是大写的P
[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog -P 13306 /var/lib/mysql/mysql-bin.000002
根据数据库serverid来还原–server-id
在数据库的配置文件中,都有一个serverid并且同一集群中serverid是不能相同的。
[root@BlackGhost mysql]# /usr/local/mysql/bin/mysqlbinlog –server-id=1 /var/lib/mysql/mysql-bin.000002
备份所有数据,并清空所有bin-log日志
./mysqldump –flush-logs -u root –all-databases > /tmp/alldatabase.sql