mysql日志:
              error log:记录错误信息、 启动停止过程中的日志信息 调度事件 、启用主从服务器会记录从服务器的信息
                     启用--log-error没参数会保存至数据目录下host_name.err station_example.err
                         --log-error=/var/log/mysql.error
                     mysql_safe --log_warning 1 会在错误日志中记录警告信息
              binary log 二进制日志
                     对数据修改的语句会记录下来 实现pitr point-in-time recovery 将数据库恢复到某个时间点
                     实现数据库复制的
                     默认记录在数据目录下 mysql-bin.index文本日志====mysql-bin.000001 二进制格式
                                   ls /data/
                     查看二进制日志  show binary logs
                     启用时添加 --log-bin = /data/log/binary/changelog
                             --log-bin-index = /data/log/
                     查看二进制文件内容
                            # mysqlbinlog  /data/mysql-bin.000001
                              mysqlbinlog /data/mysql-bin.000001 --start-datetime="2011-03-21 12:24:30"
                                   --end-datetime="2011-03-21 14:24:30"
                     mysql中查看日志
                            show binlog envents
                            show binlog envents in 'mysql-bin.000001';
                            show binlog envents in 'mysql-bin.000001' from 525 limit 3; 525开始的前三行
              general query log:一般日志文件 默认没开启
                     启用--general_log=
                          --general_log_file  指定一般日志文件位置
                         --slow_query_log 慢查询日志
                         --slow_query_log_log
                         --log_output  慢日志记录的格式  none 不记录  file记录在文件  table 记录在表中 默认为file
                     查看一般日志文件是否开启:
                     select @@general_log;
                     select @@general_log_log;
                    
              slow query log 慢速日志查询日志
mysql的日志滚动:日志过大做出的策略
              # mysqladmin  refresh
              flush logs       手动滚动二进制和错误日志 mysql
                            可以将其脚本放到特定的目录crontab
              purge binary logs  修剪二进制日志 删除指定位置以前的所有日志
                     purge binary logs to 'mysql-bin.000005' 修剪000005之前的日志
                     purge binary logs before '2011-3-5 23:00:00';
检索修复表:
              myisamchk --extend-check 文件名 扩展检查修复
                        --recover stu2.MYI
                    myisamchk --extend-check /data/mydb/stu2.MYI
              mysql中执行:
              check table stu2  检查表
              repair table sru2 修复表
              analyze table stu2 分析表
              optimize table stu2 又换表
 
mysql的备份和恢复:
              数据库的损坏:电源 人为 硬件 网络失败
              备份:  完全  增量  差异 
                     冷备  温备  热备
                     逻辑备份 物理备份
              一致性备份 :文件的修改时间在备份之前 可用来做恢复的
              非一致性备份
                     名字              支持引擎   类型         备份速度  恢复速度
              工具:    mysqldump 逻辑   all引擎  温备:只读不写的       
                     mysqldump        innodb   热备:可读可写         
                        ibbackup  商业的 innodb    hot            速度快   
                     mk-parallel-backup  all引擎  温备       中速       中速
                     filesystem          all     冷备         最快     最快  
                     snapshot       all      hot                    
                     mysqlhotcopy         mylsam   几乎冷备              
              mysqldump  -uroot -p mydb > /root/mysql.sql  备份mydb数据库
              mysqldump  -uroot -p  mydb,class > /root/mysql.sql  备份mydbclass数据库
              mysqldump  -uroot -p  --all-databases > /root/mysql.sql  备份所有
              恢复前一般先创建好改数据库
              mysql  -uroot -p mydb  < /root/mysql.sql  恢复
                     source /root/mysql.sql  mysql中执行
              mysqldump参数:
              mysqldump --flush-logs 备份前先日志滚动一下 达到同步状态
                     --lock-tables 备份前将表锁定一下 防止其他用户写
                      --lock-all-tables 锁定所有的表
                   --single-transaction 备份innodb数据库引擎时 可以备份一致性的innodb即使有事务没完成
                 --all-databases  备份所有数据库
                 --databases 备份多个不是所有数据库 中间用空格隔开
                --master-data=n 数字 记录二进制文件名和位置
                --events 备份事件
                 --triggers 备份触发器
                --routines 备份存储过程和存储函数的
                --where "" 指定过滤条件,只备份某些数据
   mysqldump -uroot -p --flush-logs --lock-all-tables --events --routines --triggers mydb >   
/root/mysql-`date +"%F"`.sql 
    selectinfoutfile 可以备份具体的表或数据
                     select * into outfile '/tmp/stu.sql' from stu 备份具体表 要有file权限一般用在表数据不小心删除
                                   truncated table stu 删除表stu的数据
                     恢复表 先创建号该表的表结构
                     use mydb
                     load data infile '/tmp/stu.sql' into table stu 
              备份mk-parallel-backup
                     mk-parallel-backup --basedir=/bachup
              恢复:
                     mk-parallel-restore /backup
                     http://www.maatkit.org 网站下载该rpm包进行安装
      
              snapshot 快照备份 备份的整个数据库 数据要在同一个LVM分区上
              mysqlhotcopy 备份前要锁数据库 备份MyISAM 的物理热备
              LOCK TABLES stu READ; 锁表 将所有的表都锁上
              UNLOCK TABLE stu 表解锁 UNLOCK TABLES
              备份:mysqlhotcopy
              mysqlhotcopy mydb /backup
              mysqlhotcopy --method=scp mydb [email protected]:/backup 备份到其他主机上
              恢复:
              mysqlhotcopy
             
      
时间点备份:       mysql
             
              mysqlbinlog --start-position 15465完全备份后的位置--end-opsition 202010删除之前的位置 | mysql -uroot -p
              mysqlbinlog --start-position 15465 --end-opsition 202010 > /tmp/bin.sql
       恢复:
              mysql -uroot -p < /tmp/bin.sql