物理备份
tar jcvf /opt/`date +%x`mysql.tar.gz /usr/local/mysql/data

对单个库进行完全备份
mysqldump -u root -p '密码' auth > /opt/auth.sql
mysqldump -u root -p '密码' mysql > /opt/mysql.sql

对多个库进行完全备份
mysqldump -u用户名-p [密码] [选项] --databases 库名1 [库名2]... > /备份路径/备份文件名
mysqldump -U root-p --databases demo mysql > /opt/databases-demo-mysql.sql

对所有库进行完全备份
mysqldump -u用户名-p [密码] [选项] --all-databases > /备份路径/备份文件名
mysqldump -u root -p --opt --all-databases > /opt/all-data.sql

mysqldump备份表
mysqldump -u用户名-p [密码] [选项]数据库名表名> /备份路径/备份文件名
mysqldump -U root -P mysql user > /opt/mysql-user.sql

恢复数据库
MySQL [(demo)]> source /opt/all-data.sql

恢复数据库2
mysql -u用户名-p [密码] [库名]<库备份脚本的路径
mysql -u root -p demo < /opt/all-data.sql

恢复表的操作
mysql -u用户名-p [密码] <表备份脚本的路径
mysq| -u root -p mysql < /backup/mysql-user.sql

vim /etc/my.cnf
log-bin=mysql-bin
mysqladmin -uroot -p1 flush-logs #生产增量备份日志文件
mysqlbinlog --no-defaults --base64-output=decode-rows mysql-bin.000002 > /mnt/bak

基于时间
mysqlbinlog --no-defaults --stop-datetime='191208 18:34:45' /var/lib/mysql/mysql-bin.000001 |mysql -uroot
mysqlbinlog --no-defaults --start-datetime='191209 18:34:45' /var/lib/mysql/mysql-bin.000001 |mysql -uroot

基于位置
mysqlbinlog --no-defaults --stop-position='568' /var/lib/mysql/mysql-bin.000001 |mysql -uroot
mysqlbinlog --no-defaults --start-position='568' /var/lib/mysql/mysql-bin.000001 |mysql -uroot