一《如果只用redlog或只用binlog可以吗》
首先我们要知道这两个的区别分别是什么
redo log是innodb引擎特有的,binlog是MySQL的Server层实现的,所有引擎都可以使用;
redo log是物理日志,记录的是“在某个数据页上做了什么修改”(数据页上某个偏移量的值);binlog是逻辑日志,记录的是这个语句的原始逻辑(sql、数据行)
redo log是循环写的,空间固定会用完,用完就需要刷盘然后从头开始写;binlog是可以追加写入的。“追加写”是指binlog文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。
其次binlog 日志只用于归档,只依靠 binlog 是没有 crash-safe 能力的。 但只有 redo log 也不行,因为 redo log 是 InnoDB 特有的,且日志上的记录落盘后会被覆盖掉。
所以是不可以的,二者缺一不可,但是如果只从崩溃恢复的角度来讲是可以的。可以把binlog关掉,但系统依然是crash-safe的。但是的但是话在说回来binlog有着redo log无法替代的功能,binlog的主要作用是归档,redo log是循环写,写到末尾是要回到开头继续写的。而且MySQL系统依赖于binlog。
二《linux上xtrabackup全量备份》
mysql -uroot -p123456 -S /tmp/mysql3306.sock
innobackupex --user=root --password=‘123456.’ -S /tmp/mysql3306.sock /tmp/
备份过程中会锁表,但是不影响表的写入
然后进行写入,删除等操作
backup-my.cnf
ib_buffer_pool
ibdata1
xtrabackup_binlog_info //binlogs日志文件的备份目录和最后的点
xtrabackup_checkpoints
xtrabackup_info
xtrabackup_logfile
backup-my.cnf mysql test xtrabackup_checkpoints
ib_buffer_pool performance_schema xtrabackup_info
ibdata1 sys xtrabackup_binlog_info xtrabackup_logfile
到此,全量备份
2.恢复:
3、恢复
将原来的mysql目录备份date