精华内容
下载资源
问答
  • 2021-03-14 12:33:27

    windows:

    1.mysql开启:net start mysql

    2.关闭:net stop mysql

    3.进入:mysql -h localhost -u root -p root

    4.退出: exit

    5.配置

    my.ini  ---mysql的配置文件

    1)mysqldump备份:mysqldump -uroot -p t1 -l -F >ceshi.sql

    2)开启binlog日志:在ini文件中添加

    # Binary Logging

    server_id=1918

    log_bin = mysql-bin

    binlog_format = ROW

    也可设置为全路径,那么log文件就会生成存储在设置的文件夹中:

    log_bin = E:\MysqlLog\mysql-bin

    3)binlog日志恢复数据库:

    常见的四个恢复参数:

    --start-datetime

    --stop-datetime

    --start-position

    --stop-position

    查看binlog日志中的内容:

    show binlog events in 'mysql-bin.000002';

    找到需要恢复的位置,进行恢复:

    mysqlbinlog --start-position="173" --stop-position="286" C:\ProgramData\MySQL\MySQLServer5.5\data\mysql-bin.000002 |mysql -uroot -proot t1

    4)flush刷新日志,在此刻产生一个新编号的binlog日志文件  flush logs

    注意:每次mysql重启时,会自动执行flush命令,产生新的日志文件;mysqldump备份时,加上-F也会刷新binlog日志

    这个新的binlog日志就会用来记录备份之后的数据库“增删改”操作s

    恢复日志的流程: 定时mysqldump备份数据,-F刷新日志,记录备份后一段时间内的增删改操作。

    当数据库在该段时间内出现数据丢失,先用备份数据恢复, 再根据需要的时间点或者位置点binlog恢复修改的数据。

    参考网址:

    https://blog.csdn.net/rorntuck7/article/details/84650123

    标签:bin,binlog,备份,mysqldump,mysql,日志

    来源: https://blog.csdn.net/xiao_Ray/article/details/97163894

    更多相关内容
  • MySQL开启binlog日志

    千次阅读 2021-07-20 10:23:24
    2、查看binlog是否开启:show variables like "%bin%";,如果是OFF代表是关闭,ON代表开启 3、如果没有开启的情况下,请在服务器上找到对应的MySQL配置文件my.cnf,例如: 4、重启mysql A、使用service启动: ...

    1、通过命令行登录MySQL,例如navicat:

    2、查看binlog是否开启:show variables like "%bin%"; ,如果是OFF代表是关闭,ON代表开启

    3、如果没有开启的情况下,请在服务器上找到对应的MySQL配置文件my.cnf,例如:

    4、重启mysql

            A、使用 service 启动:
                    service mysqld restart 
                    service mysql restart (5.5.7版本命令)

            B、使用 mysqld 脚本启动:
                    /etc/init.d/mysqld restart

    展开全文
  • 发现是没有开启binlog 修改Docker的MySQL的my.cnf配置文件 添加下面内容,注意: log-bin = /logs/mysql-bin.log 是Docker内部的路径,不是Linux宿主机的路径 #设置日志格式 binlog_format = mixed #设置日志路径,注意...

    查看 binlog状态

    在MySQL终端执行一下, Navicat都行

    show variables like '%log_bin%'
    

    在这里插入图片描述
    发现是没有开启binlog

    修改Docker的MySQL的my.cnf配置文件

    添加下面内容,注意: log-bin = /logs/mysql-bin.log 是Docker内部的路径,不是Linux宿主机的路径

    #设置日志格式
    binlog_format = mixed
    #设置日志路径,注意路经需要mysql用户有权限写
    log-bin = /logs/mysql-bin.log
    #设置binlog清理时间
    expire_logs_days = 5
    #binlog每个日志文件大小
    max_binlog_size = 50m
    #binlog缓存大小
    binlog_cache_size = 4m
    #最大binlog缓存大小
    max_binlog_cache_size = 512m
    

    重启docker容器重启失败发现报错信息

    docker restart 命令重启docker之后发现重启失败
    查看docker日志:
    docker logs 容器id

    2021-01-16 07:05:53 0 [Note] mysqld (mysqld 5.6.49-log) starting as process 29 ...
    mysqld: File '/logs/mysql-bin.index' not found (Errcode: 13 - Permission denied)
    2021-01-16 07:05:53 29 [ERROR] Aborting
    2021-01-16 07:05:53 29 [Note] Binlog end
    

    上面意思是没权限,需要给docker内部的这个/logs赋予权限,

    开始解决问题

    把上面修改binlog的配置还原回来,重启docker容器, 让docker重启成功,进入docker容器
    命令 : docker exec -it 容器id bash

    进入容器之后执行:

    chown -R mysql:mysql   /logs
    

    修改MySQL目录的用户和用户组权限

    修改完了之后退出docker

    然后再给修改binlog日志信息. 接着重启docker容器,.发现docker容器启动成功

    验证一下

    连接MySQL执行一下

    show variables like '%log_bin%'
    

    在这里插入图片描述
    发现已经开启binlog

    展开全文
  • Docker-compose搭建mysql开启binlog日志

    千次阅读 2021-11-26 16:28:29
    mysql-master: #镜像 image: mysql:5.7 restart: always #名称(可以为空) hostname: mysql-master #容器名称 container_name: mysql_master #端口号 ports: - 3306:3306 #环境变量 environment:

    docker-compose.yml 如下:

    #版本号
    version: "3"
    services:
    #主数据库
      mysql-master:
    #镜像
        image: mysql:5.7
        restart: always
    #名称(可以为空)
        hostname: mysql-master
    #容器名称
        container_name: mysql_master
    #端口号
        ports:
          - 3306:3306
    #环境变量
        environment:
          MYSQL_ROOT_PASSWORD: root
          TZ: Asia/Shanghai
    #挂载文件
        volumes:
          - ./mysql/data:/var/lib/mysql
        command:
    #id唯一
          --server_id=100
          --log-bin=mysql-bin
          --sync_binlog=1
          --binlog-ignore-db=mysql
          --binlog_format=mixed
          --expire_logs_days=7
          --default-authentication-plugin=mysql_native_password
          --character-set-server=utf8mb4
          --collation-server=utf8mb4_general_ci
          --explicit_defaults_for_timestamp=true
          --lower_case_table_names=1
          --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    

    安装成功后可以在挂在目录下看到如下文件:

    或者可以通过执行语句来确认一下binlog的是否开启:

    mysql> SHOW VARIABLES LIKE '%log_bin%';
    +---------------------------------+--------------------------------+
    | Variable_name                   | Value                          |
    +---------------------------------+--------------------------------+
    | log_bin                         | ON                             |
    | log_bin_basename                | /var/lib/mysql/mysql-bin       |
    | log_bin_index                   | /var/lib/mysql/mysql-bin.index |
    | log_bin_trust_function_creators | OFF                            |
    | log_bin_use_v1_row_events       | OFF                            |
    | sql_log_bin                     | ON                             |
    +---------------------------------+--------------------------------+
    6 rows in set (0.01 sec)
    

    为了方便测试,我们可以先将log清空一下,此时只剩下一个日志文件如下:

    RESET MASTER; -- 清空语句

     这时我们创建一个库binlogtest,并创建一个表table_01,并在表中插入一条数据如下:

     这是我们可以使用命令flush logs;用来生成一个新的日志文件mysql-bin.000002 

     现在我们直接删库,如下可以看到库已被删除

    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    
    

    准备恢复,执行语句:

    // 先查看对应的mysql容器
    [root@adobe1 data]# docker ps  
    CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
    372953fef56a   mysql:5.7   "docker-entrypoint.s…"   32 minutes ago   Up 32 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql_master
    // 进入容器
    [root@adobe1 data]# docker exec -it 372953fef56a bash
    // 进入日志目录
    root@mysql-master:/# cd /var/lib/mysql 
    root@mysql-master:/var/lib/mysql# ls
    auto.cnf    client-cert.pem  ib_logfile1  mysql-bin.000001    private_key.pem  sys
    binlogtest  client-key.pem   ibdata1	  mysql-bin.000002    public_key.pem
    ca-key.pem  ib_buffer_pool   ibtmp1	  mysql-bin.index     server-cert.pem
    ca.pem	    ib_logfile0      mysql	  performance_schema  server-key.pem
    // 执行恢复语句
    root@mysql-master:/var/lib/mysql# mysqlbinlog --no-defaults ./mysql-bin.000001 |mysql -uroot -p
    Enter password: 
    // 恢复完成
    root@mysql-master:/var/lib/mysql# 
    

     此时我们在此查看库以及数据有没有恢复:

     是不是很棒,当然也可以通过具体位置恢复或者具体时间恢复语句如下:

    恢复指定位置数据
    mysqlbinlog ‐‐no‐defaults ‐‐start‐position="408" ‐‐stop‐position="731"./mysql‐bin.000001
    |mysql ‐uroot ‐p tuling (数据库)
    
    恢复指定时间段数据
    mysqlbinlog ‐‐no‐defaults ./mysql‐bin.000001 ‐‐stop‐date="2018‐03‐02 12:00:00" ‐‐start‐date="2019‐03‐02 11:55:00" | mysql ‐uroot ‐p test(数据库)

    可以自行去试一下。

    当然我们数据库内容可能很大,所以我们想要完善binlog的话,我们可以定时将我们的日志归档,便于后期恢复。主要控制权限,别被删库的家伙把binlog也删了,那耶稣来了也就不了你了。

    展开全文
  • MySQLBinlog日志内容量巨大,这里就不赘述了,后面有时间会做专门的关于MySQLBinlog日志的总结,不过我们也得知道Binlog日志是干啥的。 一、Binlog日志 1.什么是Binlog日志? binlog是记录所有数据库表结构变更...
  • windows环境mysql开启binlog日志方法

    千次阅读 2018-12-20 13:29:18
    进入mysql C:\Users\hcf> mysql -uroot -p123456 查看binlog mysql> show binary logs; ERROR 开始配置 在myslq的安装目录下,找到my.ini 在mysqld下面添加 server_id=1918 log_bin = ...
  • Mysql开启binlog日志

    2020-11-13 16:54:09
    Mysql安全设置—开启binlog日志 binlog介绍: binlog是二进制文件; binlog记录了数据库的所有dml操作; 通过binlog日志可以进行数据恢复操作; binlog配置: 修改my.cnf数据库的配置文件,配置binlog; 重启mysql...
  • 后来就先把密码端口改了,然后配置一下binlog日志以防万一,在此记录一下配置,方便下次查阅。 ps:改完配置要重启mysql服务,没报错就是开启了。 # For advice on how to change settings please see # ...
  • binlog是二进制日志文件,用于记录mysql的数据变更,数据在恢复的时候binlog日志能起到很大的作用。mysql的主从复制就是利用的binlog原理 1、登录mysql之后使用下面的命令查看是否开启binlog show variables like ...
  • 开启MySQLbinlog日志

    千次阅读 2022-03-03 09:40:53
    binlog 就是binary log,二进制日志文件,这个...那么,如何开启mysqlbinlog日志呢? 在my.inf主配置文件中直接添加三行 log_bin=ON log_bin_basename=/var/lib/mysql/mysql-bin log_bin_index=/var/lib/mysql/mysql
  • sudo vi /usr/local/etc/my.cnf //添加内容如下:[mysqld]#log_binlog-bin = mysql-bin #开启binlogbinlog-format = ROW #选择row模式server_id = 1 #配置mysql replication需要定义,不能和canal的slaveId重复mysql...
  • Linux中MySQL5.7开启binlog日志

    千次阅读 2022-04-04 22:25:11
    二进制日志文件(binary log)简称:binlog,这个文件记录了MySQL所有的DML(增删改查)操作。通过binlog日志,可以做数据恢复、主从复制等。
  • 1、查询binlog日志是否开启 show variables like '%log_bin%' 下图所示就是未开启 2、修改C:\ProgramData\MySQL\MySQL Server 5.7\my.ini 增加下面两行 3、重启mysql服务 4、查询 下图所示表示已开启
  • 1、开启binlog日志。 找到mysql安装目录,打开配置文件my.ini 在[mysqld]下添加: bin-log=mysql-bin 保存后重启mysql。此时在data目录会生成mysql-bin.000001和mysql-bin.index。 注意:MySQL每次重启服务会...
  • mysql 开启binlog日志,恢复数据linux下开启mysql的binlog日志功能。恢复数据总结 linux下开启mysql的binlog日志功能。 1.配置mysql配置文件my.cnf。 #配置文件储存的位置 log-bin=mysql-bin #5.7以及以上版本需要...
  • 1. 修改文件:vim /etc/my.cnf,在 [mysqld] 下添加 ...log-bin=/var/lib/mysql/mysql-bin 然后保存 2. 重启mysql:service mysqld restart 3. 进入mysql控制台,输入:show variables like 'log_%'; 确认
  • 开启MySQLbinlog日志及日志详解

    千次阅读 2021-01-18 19:18:33
    Mysql的binlog日志详解mysql5.7默认是不开启binlog日志的,具体的开启方式在开启的笔记中查看。binlog开启成功之后,binlog文件的位置可以在my.inf配置文件中查看。也可以在mysql的命令行中查看。命令行查看代码如下...
  • 1)首先,为什么要开启binlog日志和慢查询日志呢?binlog日志会记录下数据库的所以增删改操作,当不小心删除、清空数据,或数据库系统出错,这时候就可以使用binlog日志来还原数据库,简单来说就是一个记录备份的东西...
  • MySQL5.7开启 binlog

    千次阅读 2022-03-28 13:19:25
    binlog日志,即binary log,是二进制日志文件。它有两个作用,一是增量备份,即只备份新增的内容;二是用于主从复制等,即主节点维护了一个binlog日志文件,从节点从binlog中同步数据 开启步骤 1. Linux下 1.登录...
  • MySQL默认没有开启使用binlog,且mac安装默认没有my.cnf文件,因此需要自己在/etc目录下新建文件并添加相应的配置 一、可以查看本地MySQLbinlog开启情况 # 登录 mysql -uroot -p # 查询binlog开启情况 show ...
  • 出于监控MySQL中数据更新的目的,需要开启binlog,在/etc/mysql/mysql.conf.d/mysqld.cnf目录下添加以下参数: log-bin=/var/lib/mysql/mysql-bin 重启服务后发现MySQL服务启动失败,需要在/etc/mysql/mysql....
  • binlog是二进制日志文件,用于记录mysql的数据变更,数据在恢复的时候binlog日志能起到很大的作用 1、登录mysql之后使用下面的命令查看是否开启binlog show variables like 'log_%'; 2、编辑配置文件 在myslq...
  • 开启mysqlbinlog日志&查看$备份

    万次阅读 2019-01-12 11:23:31
    1、5.7版本前 ...# vi /usr/local/mysql/my.cnf log-bin=my-bin #my-bin就是bin-log文件的名字,可以根据各自情况自定义文件名 log_bin是生成的bin-log的文件名,后缀则是6位数字的编码,从000001开始,按...
  • linux开启MySQL binlog日志

    万次阅读 多人点赞 2018-02-07 13:45:41
    binlog日志,即binary log,是二进制日志文件。它有两个作用,一是增量备份,即只备份...下面就介绍一下开启MySQL binlog日志的过程:1、登录MySQL,查看binlog日志的状态 登录MySQL后,输入show variables like...
  • MySQL binlog日志优化

    千次阅读 2021-01-19 03:17:01
    mysql日志类型有慢查询日志,二进制日志,错误日志,默认情况下,系统只打开错误日志,因为开启日志会产生较大的IO性能消耗。一般情况下,生成系统中很少打开二进制日志(bin log),bin log日志的优化策略:mysql&...
  •  1)查看是否开启 binlog日志(默认不开启,log_bin值为OF)及日志位置  show variables like '%log_bin%';    2)查看产生的 日志文件。  show binary logs;  3)查看当前使用的日志文件,即记录操作的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,840
精华内容 20,336
关键字:

mysql开启binlog日志

mysql 订阅