• centeros 7安装mysql


    1下载并安装MySQL官方的 Yum Repository
    wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    2 
    yum -y install mysql57-community-release-el7-10.noarch.rpm
    3.安装公钥
    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    4 安装服务器
    yum -y install mysql-community-server
    
    
    5 启动服务器
    systemctl start  mysqld.service
    6 查看运行状态
    systemctl status mysqld.service
    7 获取默认密码
    grep "password" /var/log/mysqld.log
    
    2022-10-20T07:43:05.313142Z 1 [Note] A temporary password is generated for root@localhost: wq5h0Varho!T
    
    8进入数据库
    mysql -uroot -p
    
    9 修改默认密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password'
    
    10 开启所有人可访问(若只能某个ip访问 那就吧% 换成ip)
    grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
    
    11 刷新
    flush privileges; 
    
    
    
    
    
    
    12 配置 my.cnf 文件
    
    13 vi /etc/my.cnf
    
    14 配置mysql语言utf-8 (没有如下内容就新增)
    
    [client]
    default-character-set=utf8
    
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    
    15 保存重启
    service mysqld restart
    
    16 开启binlog
    	[mysqld]
    	character-set-server=utf8
    	collation-server=utf8_general_ci
    	
    	server_id=1
    	log_bin=/usr/local/data/mysql/mysql-bin.log
    	expire_logs_days = 7
    	max_binlog_size = 1000m
    	binlog_format=ROW
    	#原生语句
    	binlog_rows_query_log_events=1
    17 重启
    service mysqld restart
    18 查看 binlog 是否开启
      show variables like '%log_bin%';
      
    log_bin  ON  已开启了
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72

    1 删库恢复

    1 删库利用binlog 恢复
    	创建数据库 localtest
    	创建表 user
    	插入几条数据
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    • 2 删除数据库

    在这里插入图片描述

    • 3.看下数据库是否还存在

    在这里插入图片描述

    • 4.准备恢复
      navicate 执行 看所有的binlog,找出最近的
      show master logs;
      查看 binlog 000005 的所有详细操作
      show binlog events in ‘mysql-bin.000005’;
      在这里插入图片描述
      在这里插入图片描述
    219这个点创建的数据库,2437 这个点删除的数据库 我们只需恢复这个点的数据就好了
    
    mysqlbinlog --start-position=219 --stop-position=2437 /usr/local/data/mysql/mysql-bin.000005 | mysql -uroot -p
    
    再去看库回来了
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    --------------------------------------------------------------------

    2 行数据恢复

    1.误删除了表中id = 4 的数据,去binlog找什么时候id = 4的数据插入的
    在这里插入图片描述
    根据起始和截止 pos 再去增加上

    mysqlbinlog --no-defaults --start-position=2075 --stop-position=2372 /usr/local/data/mysql/mysql-bin.000005 | mysql -u root -p
    
    • 1

    三 误删表恢复

    恢复数据 — 表恢复
    如果是误删了数据表,恢复逻辑也是一样的,核心点就是找到误操作之前最后一次有效的位置区间。
    误删表的有效区间是:从创建表开始 到 删除表操作 之间的所有操作
    就是 创建表的begin — 误删前的commit
  • 相关阅读:
    BUUCTF----[极客大挑战 2019]HardSQL
    2023-09-28 LeetCode每日一题(花期内花的数目)
    STM32H743的FDCAN使用方法(2):STM32CubeMX初始化代码修改
    【语音识别-说话人识别】基于MFCC结合Mel频率倒谱系数实现垃圾分类附matlab代码
    【Java牛客刷题】入门篇(01)
    引领汽车潮改新风向,看“菱大师”柳州炫技
    NLP实践——Bert转onnx格式简介与踩坑记录
    2022 年跨境电商要尝试的 25 个黑五营销技巧
    【Rust 日报】2023-09-17 yazi:终端文件管理器
    [Typescript]基础篇之接口
  • 原文地址:https://blog.csdn.net/weixin_43275578/article/details/127428728