mysql 连接服务器报ERROR 1130 ,mysql服务正常运行
今天办公电脑的mysql罢工了,折腾了半天,记录一下。
错误如下:
ERROR 1130 (HY000): Host 'localhost' is not allowed to connect to this MariaDB server
网上查询原因:
mysql只有一个root用户,修改root密码后选了MD5,提交后,重新登陆出现“Host 'localhost' is not allowed to connect to this MariaDB server..."
尝试另一个mysql库中的user表,覆盖,不行,估计是版本不同
解决办法:
不用密码先登录到Mysql server 再说。
编辑 my.ini
在[mysqld]的段中加上一句:skip-grant-tables ,然后进入mysql修改密码;
修改的时候,报错: ERROR 1194 (HY000):Table 'user' is marked as crashed and should be repaired
我说了,为什么登录验证报错,用户表被损坏了,具体怎么造成的这个问题,就不清楚了。
修复表格的办法也挺多的,主要有以下五种方法
1、myisamchk -c -r ../data/tablename/tablename.MYI(这种方法需要重新启动一下数据库)
2、使用phpmyadmin上的上的repair按纽就自动修复
3、myisamchk --recover --quick ../data/database/tablename
4、myisamchk --recover ../data/database/tablename
5、myisamchk --safe-recover /../data/database/tablename
随便使用一种都行,修复过后,记得修改mysql用户密码,最后记得flush。
本博客的所有博文,大都来自自己的工作理解。希望对大家有用,文中难免会有疏漏和错误,欢迎大家批评指正,跟我交流和学习。