【亲测有效】mysql.infoschema 误删后如何快速恢复的方法教程

吾爱分享 建站运维评论8561字数 1045阅读3分29秒阅读模式

我的环境:宝塔面板 + mysql 8.0

网上好多方法不管用,最后这个完整的教程拯救了我,特此分享!

1. 控制台连接MySQL

mysql -uroot -p你的root密码

2. 创建用户

CREATE USER 'mysql.infoschema'@'localhost' IDENTIFIED BY '你的root密码';

3. 赋权

GRANT SELECT ON *.* TO `mysql.infoschema`@`localhost`;

4. 完工


最后实在忍不住还是要吐槽一下宝塔,导致我误删的过程是:

我用宝塔的“MySQL主从复制(重构版) 1.2”插件进行主从复制的测试,由于没测试服务器,只好拿一个上面有B网站在运行的B服务器来做测试,想着只是添加一个从数据库而已不会影响到B网站的。结果,还真就影响了。

主从同步做好以后不久,就有B网站用户跟我反馈说网站有点问题,下单时支付页面报错,简单排查后确认不是支付接口的问题,于是我马上意识到是刚刚的主从同步导致的,再次测试网站发现无法登录,这时候已经确认是数据库权限被改了,现在只有读权限,无法写入,所以导致无法登录,也无法下单。于是马上登录phpmyadmin检查数据库用户权限,以为是用户权限被改了,于是打开本地环境的宝塔数据库进行对比,其他都一样,只是服务器上的多了一个mysql.infoschema用户,但是本地的没有啊,想着应该是它导致的吧(现在知道了本地是mysql5.7没有这个用户),由于着急恢复网站,所以也就没去百度搜索这是啥,直接就给它删了,删完以后我才想到去软件商店的mysql设置那里去看看,再一次和本地对比,发现配置文件里有read-only=on。这时候我意识到,完蛋,删错了。。

于是开始各种搜索mysql.infoschema误删后如何恢复的教程,最终好在是找到了可用的教程,不然我就只能选择丢失数据,重装mysql然后导入旧备份了。

所以,我到底要吐槽宝塔什么呢?

1、重构版插件和旧版插件使用一个帖子发教程,而且也没明确给出两个版本的对比说明,作为用户根本不知道两个插件的区别,单从名字来看,肯定是选择重构版呀,肯定这个新出的稳定好用。但万万没想到被这个教程坑了,教程中没有明确指出重构版插件会修改整个从服务器的数据库权限为只读。正常的逻辑不也应该是同步哪个数据库就单独只改那个数据库的权限么,谁能想到你为了一个从数据库就修改整个面板数据库的全局权限呢?这不明显已经影响到了同面板上的其他网站或服务了么,这么严重的问题,居然在教程里都不写个提醒,而且你两个不同版本的插件居然用一个帖子发教程,更为可气的是你懒用一个帖子就算了,好歹把教程完善一下?之后仔细阅读后才发现整个教程里只有一句话是关于重构版插件的。其他都是旧版插件的教程,真的是有够懒的!

2、作为官方发布的教程,应该足够仔细和完善才对,不同插件应该用不同的帖子发教程,而不是为了偷懒就只用一个,而且还不完善。同时重构版与旧版应该有明确的对比说明,好让用户知道是怎么个重构法,修复了什么问题,又好在了哪里,需要注意的地方有什么不同,你们不写,作为普通用户怎么能明白呢。

3、作为官方发布的教程,排版难看,字体忽大忽小,还有错别字(一主多从写成一主主从),真的说不过去。

 

 
吾爱分享

发表评论