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。

 

posted @ 2019-06-20 13:02  达叔叔  阅读(482)  评论(0编辑  收藏  举报