宝塔数据库管理密码突然无效(成功解决)
宝塔数据库管理密码突然无效(成功解决)
这是个悲伤的故事,昨天下午到今天早上6点多才睡,工作了10来个小时。因为这几年的库存数据都丢了:(哭,头皮一阵发麻。各种经营数据-销货记录、库存记录、几千条货物价格都没了。感觉人生都灰暗了。
昨天下午 发现服务器管理密码突然无效,管理不了数据库了,无论怎么更改用户名都无效了。就感觉不妙!!
然后尝试强跳过密码检测,行修改密码Vim /etc/my.cnf。 添加mysqld --skip-grant-tables跳过密码检测登录。跳过登录系统后,各种update、setpassword语句都不成功, MySQL提示执行了,但是没有成功更新。
Vim /etc/my.cnf
启动 service mysqld start
关闭 service mysqld stop
进入MySQL mysql -uroot
语句执行后没有更新
也不能执行赋权命令
靠,死循环了,最后测试用了phpmyadmin 可以登录 然后 用sql 执行
use mysql;
update user set authentication_string=PASSWORD(“root123”) where user=‘root’;
然后可以登录了。
总计:
问题应该是从5.5 升级到了5.6.50,但是5.50 MySQL.user表里有2个空账户。导致鉴权不过。
期间经历了换数据库版本。各个版本的数据文件一般可以向下兼容。有过被高版本数据库,写入以后高版本的数据库是不能被低版本数据软件的读取的。所以版本由高到低的时候有几个写过的表就出问题了。
重点:不知什么原因,跳过鉴权以后,过一段时间不能登录。MySQL.user 表里面有2个空账户。动数据的时候最好做备份。最好导出sql语句。