mysql误删除处理方法

查看二进制日志功能是否打开:show variables like  ‘%bin%‘;如果log-bin显示off就是没打开,没打开的话就在/etc/my.cnf中的[mysqld]下添加log-bin=mysql-bin(其中mysql-bin是日志文件开头名称,可以自定义)

mysql误删数据文件,

第一种方法:这种方式需要二进制文件内容很全,如果二进制文件里面没有建表语句,drop的那个表你也就无法恢复

查看正在使用的是哪个二进制文件:show master status;看到是mysql-bin.000002

备份:mysqlbinlog mysql-bin.000002 > test1.sql

修改掉敏感数据:例如drop database xx

恢复:mysql < test1.sql

第二种方法:

第一步,查看当前正在使用的二进制日志文件的名字是什么:show master status;

查看当前一共有多少二进制日志文件以及他们的大小: show master logs;

第二:看日志文件的命令,主要看日志文件里有什么sql语句,找出时间点进行下面的恢复操作:/usr/local/mysql/bin/mysqlbinlog mysql-bin.000091 | less

两种从二进制日志文件恢复方式:一个是按照时间:/usr/local/mysql/bin/mysqlbinlog --start-datetime ‘2017-02-14 0:12:59‘ --stop-datetime ‘2017-02-14 0:13:31‘ mysql-bin.000091 | mysql -uroot -proot  时间要看的准

上图中的create  table c2的开始时间是2017-02-14 0:12:59 ,停止时间是: 2017-02-14 0:13:31

第二个 上图的at xxx,xxx是大小,看大小:/usr/local/mysql/bin/mysqlbinlog --start-position=361 --stop-position=574 mysql-bin.000091 | mysql -uroot -proot

时间: 2024-10-11 01:55:32

mysql误删除处理方法的相关文章

MySQL修改密码方法总结

方法一 使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数. 方法二 使用mysqladmin,这是前面声明的一个特例. mysqladmin -u root -p password mypasswd 输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd. 把命令里的root改为你的用户名,你就可以改你自己的密码了. 当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysq

mysql分表方法-----MRG_MyISAM引擎分表法

一般来说,当我们的数据库的数据超过了100w记录的时候就应该考虑分表或者分区了,这次我来详细说说分表的一些方法.目前我所知道的方法都是MYISAM的,INNODB如何做分表并且保留事务和外键,我还不是很了解. 首先,我们需要想好到底分多少个表,前提当然是满足应用.这里我使用了一个比较简单的分表方法,就是根据自增id的尾数来分,也就是说分0-9一共10个表,其取值也很好做,就是对10进行取模.另外,还可以根据某一字段的md5值取其中几位进行分表,这样的话,可以分的表就很多了. 好了,先来创建表吧,

优化MYSQL数据库的方法

1.选取最适用的字段属性 尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如'省份,性别',最好设置为ENUM 2.使用连接(JOIN)来代替子查询:  a.删除没有任何订单客户 ELETE FROM customerinfo WHERE customerid NOT in(SELECT customerid FROM orderinfo) b.提取所有没有订单客户 SELECT FROM customerinfo WHERE customerid NOT in(SELECT cust

MySql状态查看方法 MySql如何查看连接数和状态?

如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接 怎么进入mysql命令行呢? mysql的安装目录下面有个bin目录,先用命令行进入该目录,然后用 mysql -uroot -p123456 来登录(注意:用户名和密码不用包含“”) 命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接. show processlist;只列出前100条,如果想全列出请使用show fu

vs连接mysql出错解决方法

vs连接mysql出错解决方法 先按下面的步骤配置一下: **- (1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的"Show directories for:"下拉列表中选中"Includefiles",然后在中间列表框中添加你本地安装MySQL的include目录路径.(我的是D:\Program Files\MySQL\MySQL Server 5.0\include). vs2010中的设置,在:项目-

MySQL 清理slowlog方法

MySQL 清理slowlog方法 SET GLOBAL slow_query_log = 'OFF'; ALTER TABLE mysql.slow_log RENAME mysql.slow_log_drop; CREATE TABLE mysql.slow_log LIKE mysql.slow_log_drop; SET GLOBAL slow_query_log = 'ON'; DROP TABLE mysql.slow_log_drop;

查看三种MySQL字符集的方法(转)

http://database.51cto.com/art/201010/229171.htm ***************************************** MySQL字符集多种多样,下面为您列举了其中三种最常见的MySQL字符集查看方法,该方法供您参考,希望对您学习MySQL数据库能有所启迪. 一.查看MySQL数据库服务器和数据库MySQL字符集. mysql> show variables like '%char%'; +-----------------------

查看mysql数据库版本方法总结

当你接手某个mysql数据库管理时,首先你需要查看维护的mysql数据库版本:当开发人员问你mysql数据库版本时,而恰好你又遗忘了,那么此时也需要去查看mysql数据库的版本...............下文总结一下Linux平台下查看mysql数据库的方法.个人觉得总结的比较全面了. 方法1:登录数据库时,你可以看到对应mysql数据库的版本信息,如下所示: [[email protected] ~]# mysql -u root -p Enter password: Welcome to

mysql 1044 解决方法

今天在学习MYSQL的时候发现一个问题: 我用root用户授权了一个TIGER的用户: 但登陆的时候报1044错误: 我开始的授权时这样的: GRANT ALL PRIVILEGES ON root.* TO [email protected] IDENTIFIED BY '123456': root是当前数据库的名称: 然后我登陆时正常的,但新建数据库的时候出错了1044: 后来百度查找了下才发现原来自己的数据库的名称写错了: 重新授权一次 GRANT ALL PRIVILEGES ON *.