
大家好,今天小编关注到一个比较有意思的话题,就是关于mysql数据库恢复命令的问题,于是小编就整理了4个相关介绍mysql数据库恢复命令的解答,让我们一起看看吧。
- MySQL全备份如何只恢复一个库或者一个表?
- linux中,mysql的mysql.sock文件被删了,怎么在不重启mysql的情况下恢复?
- mysql中drop的表能恢复吗?
- MySQL数据库丢失后如何自动恢复呢? ?
MySQL全备份如何只恢复一个库或者一个表?
这个问题我之前发过,可以参考一下***s://***.toutiao***/ugc/share/wap/thread/1615990901404686/?app=&iid=50332659268&target_***=13&tt_from=copy_link&utm_medium=toutiao_android&utm_campaign=client_share
linux中,mysql的mysql.sock文件被删了,怎么在不重启mysql的情况下恢复?
这个文件是Unix套接字文件,用来进行通讯的。这是没有办法不从启恢复的。
如果你删除了,利用套接字当时连接数据库的客户端会通通无法连接。而用IP +端口号的连接则完全正常。
所以你的客户端用套接字文件的方式连接数据库的话,这个时候已经连接不上了,无法操作了。你就应该迅速重启重新生成.sock文件就好了。不重启的意义是什么呢?如果客户端是在本地,那么一般都用的是套接字。
如果你的客户端用的是ip端口当时连接,那你删了.sock应该不影响,不需要做什么。等待可以重启的时候重启一下MySQL就行了。
如果你有多个客户端连接数据库,有的用sock的,有的用ip。那无法重启的话,可以把用sock连接的客户端改用ip 端口号的方式连接数据库。
mysql中drop的表能恢复吗?
情况1、如果你有该库的整体备份或对这个表的单独备份,那么也许可以恢复。可以将最新的备份恢复到一个备用的服务器上,导出那表的内容,完成恢复情况2、如果没有任何备份,那就基本没戏了。一般删除表的操作是drop table,日志中不会记录删除具体行数的记录。表所对应目录下的文件已经被删除(innodb独立表空间,单表归为一文件)。
同样的情况适用于myisam数据库引擎,对应的myd/myi/frm文件均被删除。
这不像windows还有垃圾箱,是不可逆的操作此外,对数据库最危险的操作就是对表进行删除行、删除表或删库的操作了,所以任何对数据库有高危风险的操作前最重要的就是备份!备份!再备份!
MySQL数据库丢失后如何自动恢复呢? ?
这里介绍一种简单的方法,就是开启binlog二进制日志,记录用户对MySQL数据库的所有操作(除了查询),然后通过mysqlbinlog命令导出为SQL文件(剔除drop语句),最后再恢复就行,下面我简单介绍一下操作过程,实验环境Win10+MySQL5.5,感兴趣的朋友可以尝试一下:
1.首先,开启binlog功能,这个需要修改MySQL安装目录下的my.ini配置文件,在[mysqld]下面添加一行设置“log-bin = mysql-bin”就行,如下:
接着重启MySQL服务,就可以在MySQL数据目录下看到生成的日志记录文件—mysql-bin.000001和mysql-bin.index,其中mysql-bin.000001是日志文件,会自动顺序递增,记录每次数据库重启后用户的所有操作记录,mysql-bin.index是日志索引文件,记录所有的日志文件名称:
2.接着我们就可以模拟数据库误删的过程了,这里我先新建了一个db数据库,然后创建了一个test数据表,依次insert插入3条数,如下:
然后我们执行“drop database db”删除数据库,再“use db”时就会报错,如下,告诉数据库db不存在:
3.接着就是数据库恢复的过程,打开cmd窗口,运行“mysqlbinlog --no-defaults binlog日志文件路径(这里换成你的binlog文件)”命令,就可以看到我们重启数据库后所有的数据库操作记录,如下,每个操作都有唯一的对应位置,这里我们需要剔除掉drop语句,也就是恢复到958这个位置:
到此,以上就是小编对于mysql数据库恢复命令的问题就介绍到这了,希望介绍关于mysql数据库恢复命令的4点解答对大家有用。