mysql日志(介绍 路径修改 备份)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

环境:senos6

软件:mysql2.6.20

mysql日志:
    错误日志

    一般查询日志

    慢查询日志

    二进制日志
        只记录DDL,DML等引起数据库改变的操作都会记录下来
        复制,即时点恢复

    中继日志

    事务日志
        只是满足acid要求来做的
    innodb才有事务日志

    
    错误日志:
        mysql数据库启动记录也会在错误日志中
        mysql服务器运行中产生的错误信息
        时间调度器运行一个时间产生的信息
        log_error| /mydata/data/openvpn.err
    一般查询日志:
        general_log     | OFF # 建议关闭 因数据量太大,可以查询慢日志。系统默认关闭!
        general_log_file| /mydata/data/openvpn.log
        log_output| [FILE|TABLES|NONE]
    一般文件类的修改必须写在配置文件中,并重启mysql数据库服务器
    二进制日志(建议开启。作用很大!):
        binlog_max_flush_queue_time | 0
        不刷新二进制日志
        log_bin                     | OFF
       
      开启的方法:vim /etc/my.cnf
        [mysqld]下添加一下内容:
        log_bin = mysql-bin
        开启二进制日志
    如果要滚动二进制文件:1.重启mysql
                          2.mysql>flush logs

    慢日志:
        slow_query_log      | OFF
        slow_query_log_file | /mydata/data/openvpn-slow.log

 

    查看mysql中和日志相关选项
    show global variables like '%log%'

    查看二进制日志相关信息
    mysql>show master status
    mysql>show binary logs
    mysql>show binlog events in '二进制日志文件'
    mysql>purge binary logs to '二进制日志文件'
    mysql>flush logs 滚动二进制日志文件
    mysqlbinlog用于查看二进制日志信息
        --start-datetime
        --stpo-datetime

        --start-position
        --stop-position
    mysqlbinlog mysql-bin.000001 > 1.sql 把二进制日志文件转为sql   二进制日志转换成SQL语句后可以导入mysql里面进行数据恢复,作用很大。

 

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      375 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

显示当前使用的二进制文件和文件中的位置
mysql> show binary logs;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000001 |       375 |
+------------------+-----------+
1 row in set (0.00 sec)


mysql> show binlog events in 'mysql-bin.000001';
+------------------+-----+-------------+-----------+-------------+-----------------------------------------------------+
| Log_name         | Pos | Event_type  | Server_id | End_log_pos | Info                                                |
+------------------+-----+-------------+-----------+-------------+-----------------------------------------------------+
| mysql-bin.000001 |   4 | Format_desc |         1 |         120 | Server ver: 5.6.20-log, Binlog ver: 4               |
| mysql-bin.000001 | 120 | Query       |         1 |         199 | BEGIN                                               |
| mysql-bin.000001 | 199 | Intvar      |         1 |         231 | INSERT_ID=1                                         |
| mysql-bin.000001 | 231 | Query       |         1 |         344 | use `up01`; insert into up01(name) values ('aaaaa') |
| mysql-bin.000001 | 344 | Xid         |         1 |         375 | COMMIT /* xid=24 */                                 |
+------------------+-----+-------------+-----------+-------------+-----------------------------------------------------+
5 rows in set (0.00 sec)

mysql> show binlog events in 'mysql-bin.000001' from 199;
+------------------+-----+------------+-----------+-------------+-----------------------------------------------------+
| Log_name         | Pos | Event_type | Server_id | End_log_pos | Info                                                |
+------------------+-----+------------+-----------+-------------+-----------------------------------------------------+
| mysql-bin.000001 | 199 | Intvar     |         1 |         231 | INSERT_ID=1                                         |
| mysql-bin.000001 | 231 | Query      |         1 |         344 | use `up01`; insert into up01(name) values ('aaaaa') |
| mysql-bin.000001 | 344 | Xid        |         1 |         375 | COMMIT /* xid=24 */                                 |
+------------------+-----+------------+-----------+-------------+-----------------------------------------------------+
3 rows in set (0.00 sec)

    中继日志:
        从服务器上,从主服务器的二进制日志文件中复制而来的事件

    事务日志:
        仅仅满足事务acid要求
        不能单独用来直接进行还原
        innodb_flush_log_at_trx_commit| [0,1,2]
        0:每秒同步,并执行磁盘flush
        1:每事务同步,并执行磁盘flush
        2:每事务同步,但不执行磁盘flush,而是由操作系统绝对何时进行磁盘flush

        innodb_log_buffer_size 缓存大小
        innodb_log_file_size 日志大小
        innodb_log_files_in_group 事务日志中每组里面有多少个文件
        innodb_mirrored_log_groups有多少个事务日志的镜像


        expire_logs_days 设定二进制日志文件过期天数
        general_log 是否启用一般查询日志
        general_log_file 一般查询日志存储路径

        binlog_format 设定二进制日志的类型
        stateamment|row|mixed

        log-bin是否启用二进制日志文件(名称)
        sql_log_bin是否启用二进制日志文件

        
        slow_query_log是否开启慢日志查询
        slow_query_log_file慢日志文件存储路径

        log_warnings把告警信息也放在错误日志当中
        long_query_time=# 设定慢日志超时时间默认10s
        sync_binlog 同步二进制日志文件

myisam:
    不支持事务
    表锁
    支持表压缩
    表格式:frm,myd,myi
    对于读比较多的数据库可以选择myisam存储引擎
innodb:
    支持事务
    行锁
    表空间
    表格式:frm,idb
    对于读写操作都相当数据库可以选择innodb存储引擎
CSV:
    把数据存为一定格式的文本文件

ARCHIVE:
    归档存储引擎
        实际使用较少,主要用于数据挖掘
MEMORY:
    内存型数据存储引擎

BLACKHOLE:
    黑洞存储引擎

mysql备份和还原:
    备份:
        raid0,raid1:这个方式只能保证硬件故障之后不会中断业务
        drop table ....逻辑上的删除他不能恢复


    50G
        copy

    服务器是否在线:
        热备:在线备份,读写操作都可执行
        温备:能读不能写
        冷备:离线备份,读写都不可操作

    物理备份:拷贝数据库实际在系统中产生数据文件,速度快
    逻辑备份:将数据导出至文本文件中,速度慢,移植性好

    完全备份:备份所有数据
    增量备份:仅仅备份上次完全备份或增量备份以后变化的数据
    差异备份:仅仅备份上次完全备份以来变化的数据

备份什么:
    数据,配置文件,备份二进制日志,事务日志

还原:
    备份最好拿来还原测试以下,保证备份可用,并有还原方案


热备:
    myisam表进行热备几乎不可能,接近热备,使用快照,不然只能使用温备
    innodb表可以使用xtrabackup,mysqldump
    mysql---->从


备份策略:
    完全+增量 完全+差异(差异备份:一般使用

        mysqlbinlog
        --start-datetime
        --stpo-datetime

        --start-position
        --stop-position

    还原时长需要考虑

mysql备份工具:
    mysqldump 逻辑备份工具
    mysqlhotcopy物理备份工具,会锁表,温备

文件系统工具:
    cp
    快照

innodb:
    ibbackup(图形化操作软件)
    xtrabackup(图形化操作软件)

mysqldump:
    进行完全备份+二进制日志
    完全+增量(需要手动进入mysql界面使用:flush logs;)

 

mysqldump db_name [tb1] [tb2]            # 默认不会备份创建数据库的sql语句

备份步骤:
mysql>flush tables with read lock;   #锁表(建议锁住所有表,可以防止表表之间的关联关系)
mysqldump -uroot -p123456 db_name > file.sql  #备份
mysqldump -uroot -p123456 db_name tb_name tb_name > file.sql   #备份

mysql>unlock tables   #解锁表

--master-data=0|1|2
0:不记录二进制日志文件极其事件位置
1:以change master to方式记录位置,可以用于恢复后直接启动从服务器
2:以change master to方式记录位置,默认为注释

--lock-all-tables#所定所有表
--lock-tables#锁表
--flush-logs#二进制日志文件滚动
--single-transaction#如果你确定你所有的表都所innodb存储引擎的就可以使用此选项完成innodb的热备

--all-databases备份所有数据库
--databases备份单库
备份的时候同时备份创建数据库sql

--routines备份存储过程和函数的

--triggers备份触发器的

myisam:
mysqldump -uroot -p456789 --lock-all-tables(锁住所有表) --flush-logs (滚动二进制日志)--all-databases(备份所有库) --master-data=2 (方式记录位置,默认为注释)>file.sql   (完全备份)


innodb热备:(热备不许要锁表)
mysqldump -uroot -p456789 --single-transaction --master-data=2 --all-databases > file.sql

备份还原:
    mysql>source /path/file.sql     
    mysql -uroot -p < /path/file.sql
    password:
    以上备份文件是包含了创建数据库的sql语句

    mysql>create database db_name
    mysql>use db_name;
    mysql>source /path/file.sql
    
    mysql -uroot -p -D db_name < /path/file.sql
    以上备份文件是没有包含创建数据库的sql语句

快速备份单表:
    mysql>select * into outfile '/path/file' from tb_name

快速还原单表:
    mysql>load data infile '/path/file' into table tb_name

lvm:使用快照的方式进行备份主要是用于myisam的几乎热备
    前提:
        数据文件在逻辑卷上
        此逻辑卷必须要有足够的空间来存储快照
        数据文件和事务日志必须在同一个逻辑卷上
    步凑:
        1.打开会话,添加所有表的锁操作,读锁
          mysql>flush tables with read lock;
          mysql>flush logs
        2.通过另一给终端,保存二进制日志文件及其位置信息
          mysql -uroot -p123456 -e "show master status\G" >> /path/file
        3.创建快照卷
          lvcreate -L # -s -p -n LV_NAME /path/to/source_lv
        4.释放锁
          mysql>unlock tables

        5.挂载快照卷,备份
          mount
          cp

        6.删除快照卷

        7.增量备份二进制日志

复制:
   mysql ab复制
    mysql server1----U,D,T------>mysql server2
   原理:
    当主库有更新操作的时候,主库会把更新操作的sql,写如到二进制日志文件当中,并维护一个二进制日志文件的索引文件,以便日志文件轮询
    在从库启动异步复制的时候,从库会开启两个I/O线程
    其中一个用于连接主库
    另外一个用于传输sql

注意:
    必须打开二进制日志文件
    从库必须知道主库是从那一给位置偏移量开始的
    主库和从库的数据库名称可以不一样,推荐使用一样
    主库和从库的mysql版本必须一致
192.168.1.1:master
192.168.1.2:slave


vim /etc/my.cnf
master:
     log-bin    = mysql-bin
     relay-log  = mysql-relay-bin
     server-id  = 1
     binlog-do-db= up01
     binlog-ignore-db = mysql
     binlog-ignore-db = test
slave:
    log-bin = mysql-bin
    relay-log = mysql-relay-bin
    server-id = 2
    master-host=192.168.1.1
    master-port=3306
    master-user=repl
    master-password=repl
    master-connect-retry=30
    replicate-do-db=up01
    replicate-ingore-db=mysql
    replicate-ingore-db=test

转载于:https://my.oschina.net/hdlp520/blog/785337

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Algorithm I assignment Collinear

这本来应该是第三周的作业&#xff0c;但是由于其他作业逼近deadline&#xff0c;暂时推后了一周完成。 这周的assignment大大提高了我对这门课的看法&#xff0c;不得不说&#xff0c;Algorithms这门课的assignment部分设计得很好。为什么好&#xff1f;个人认为有以下几点&am…

Java BigDecimal详解

1.引言 float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算&#xff0c;这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而&#xff0c;它们没有提供完全精确的结果&#xff0c;所以不应该被用于要求精确结果的场合。但是…

windows 串口编程 c语言,windows下C语言版串口发送程序(基于VS2017)

#include "tchar.h"#include int main(){/*****************************打开串口*************************************/HANDLE hCom;//全局变量&#xff0c;串口句柄hCom CreateFile(_T("COM3"),//COM3口GENERIC_READ | GENERIC_WRITE,//允许读和写0,/…

scikit-learn决策树算法类库使用小结

之前对决策树的算法原理做了总结&#xff0c;包括决策树算法原理(上)和决策树算法原理(下)。今天就从实践的角度来介绍决策树算法&#xff0c;主要是讲解使用scikit-learn来跑决策树算法&#xff0c;结果的可视化以及一些参数调参的关键点。 1. scikit-learn决策树算法类库介绍…

c语言编写程序求8,使用c语言编写程式,实现计算1*2*3+4*5*6+7*8*9+……+28*29*30的值...

使用c语言编写程式&#xff0c;实现计算1*2*34*5*67*8*9……28*29*30的值以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;使用c语言编写程式&#xff0c;实现计算1*2*34*5*67*8*9……28*29*3…

PHP 正则表达式分割 preg_split 与 split 函数

为什么80%的码农都做不了架构师&#xff1f;>>> preg_split() preg_ split() 函数用于正则表达式分割字符串。 语法&#xff1a; array preg_split( string pattern, string subject [, int limit [, int flags]] ) 返回一个数组&#xff0c;包含 subject 中沿着与…

简单学C——第五天

结构体 首先明确&#xff0c;结构体是一种构造的数据类型&#xff0c;是一种由多个数据类型如 int&#xff0c;char&#xff0c;double&#xff0c;数组或者结构体......组成的类型,现在告诉大家如何定义一个结构体。在定义int整型变量时&#xff0c;大家肯定都知道 int a; 即…

Codeforces Round #325 (Div. 2) B. Laurenty and Shop 前缀和

B. Laurenty and Shop Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/586/problem/BDescription A little boy Laurenty has been playing his favourite game Nota for quite a while and is now very hungry. The boy wants to make sau…

android gallery自动播放,可循环显示图像的Android Gallery组件

类型&#xff1a;源码相关大小&#xff1a;23.6M语言&#xff1a;中文 评分&#xff1a;9.1标签&#xff1a;立即下载第 4 页 实现循环显示图像的Gallery组件实现循环显示图像的Gallery组件在本节将组出与循环显示图像相关的ImageAdapter类的完整代码。读者可以从中看到上一节介…

curl网站开发指南

curl网站开发指南 作者&#xff1a; 阮一峰 日期&#xff1a; 2011年9月 4日 我一向以为&#xff0c;curl只是一个编程用的函数库。 最近才发现&#xff0c;这个命令本身&#xff0c;就是一个无比有用的网站开发工具&#xff0c;请看我整理的它的用法。 curl网站开发指南 阮一…

Who Gets the Most Candies? POJ - 2886 (线段树)

按顺时针给出n个小孩&#xff0c;n个小孩每个人都有一个纸&#xff0c;然后每个人都有一个val&#xff0c;这个val等于自己的因子数&#xff0c;如果这个val是正的&#xff0c;那就顺时针的第val个孩子出去&#xff0c;如果是负的话&#xff0c;就逆时针的第val个孩子出去&…

javax.validation.ValidationException: Unable to find a default provider

2019独角兽企业重金招聘Python工程师标准>>> [ERROR] [2016-11-16 13:58:21 602] [main] (FrameworkServlet.java:457) Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name org.springframewo…

android视频播放器api,03.视频播放器Api说明

03.视频播放器Api说明目录介绍01.最简单的播放02.如何切换视频内核03.切换视频模式04.切换视频清晰度05.视频播放监听06.列表中播放处理07.悬浮窗口播放08.其他重要功能Api09.播放多个视频10.VideoPlayer相关Api11.Controller相关Api12.边播放边缓存api13.类似抖音视频预加载14…

Taurus.MVC 2.0 开源发布:WebAPI开发教程

背景&#xff1a; 有用户反映&#xff0c;Tausus.MVC 能写WebAPI么&#xff1f; 能&#xff01; 教程呢&#xff1f; 嗯&#xff0c;木有&#xff01; 好吧&#xff0c;刚好2.0出来&#xff0c;就带上WEBAPI教程了&#xff01; 开源地址&#xff1a; https://github.com/cyq116…

chrome瀏覽器去掉緩存的方法

方法一&#xff1a; 1.開發說打開開發者工具 勾選這個訪問可以 方法二: commandshiftR 转载于:https://www.cnblogs.com/kaibindirver/p/9378572.html

sony z2 android 5.0,索尼Xperia Z2 5.0 root教程_索尼Z2获取5.0系统的root

来说一下咱们的索尼Xperia Z2手机的5.0系统的root&#xff0c;因为现在很多机友的系统是5.0的&#xff0c;可是对于5.0的系统很多机友还不知道如何进行root操作&#xff0c;之前的针对4.4的系统的root方法肯定是用不到5.0的系统上的&#xff0c;因此需要专门的针对5.0的root软件…

ABP文档 - Javascript Api - AJAX

本节内容&#xff1a; AJAX操作相关问题ABP的方式 AJAX 返回信息处理错误 HTTP 状态码WrapResult和DontWrapResult特性 Asp.net Mvc 控制器Asp.net Web Api 控制器动态Web Api层Asp.net Core 控制器动态Web Api层AJAX操作相关问题 执行一个AJAX调用在现在的应用里非常常见&…

stack overflow--技术问答网站

转自&#xff1a;http://baike.baidu.com/link?urleMR6Pwdk9IkauI5B3nZb2Yo3VUAcK6vQfrMpcSMPWqgH0ngqFkup3Gdr3t_s_yZe_UFwkR8c1pboaxhEuY-iwF_nGiUYHajEPMO6Y1kqWvT8aPz7a_T6t3a1vxyTccgKl_UIx1cU-6IP7qjre2ijtq Stack Overflow是一个与程序相关的IT技术问答网站。用户可以在…

uvalive 4973 Ardenia

题意&#xff1a;给出空间两条线段&#xff0c;求距离。 注意输出格式&#xff01; 1 #include<cstdio>2 #include<cmath>3 #include<algorithm>4 using namespace std;5 6 struct Point37 {8 int x, y, z;9 Point3(int x0, int y0, int z0):x(x),y(…

rz和sz上传下载文件

安装软件包 yum install lrzsz 上传文件&#xff0c;输入rz选择文件上传(可以按住shift键多选) # rz sz 下载文件到本地&#xff0c;选择保存文件夹 # sz dd xshell设置默认上传下载文件夹 转载于:https://www.cnblogs.com/fcing/p/9382377.html