怎么解决mysql不允许远程连接的错误

2025-02-14 15:40:08
推荐回答(3个)
回答1:

解决mysql不允许远程连接的错误:
一般地,远程连接mysql无法使用的错误原因是:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。
于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访问权限。
1、在cms中输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行。
2、输入use mysql;
3、输入select user,password,host from user;
可以看到host中只有localhost主机。这是需要将xxx.xxx.xxx.xxx也添加到这里才对。

添加方法如下:
输入
grant all privileges on *.* to root@"xxx.xxx.xxx.xxx" identified by "密码";
这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限。
然后再输入
flush privileges;
这相当于是重新加载一下mysql权限,这一步必须有。
4、现在再次用Navicat for MySQl访问远程mysql数据库,已经能正常打开了。

回答2:

mysql对root用户开启远程功能
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by 'mima1234' WITH GRANT OPTION;
FLUSH PRIVILEGES;

mima1234改为自己需要的密码,然后重启下数据库再看下。

回答3:

有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。 1. check table 和 repair table 登陆mysql 终端: mysql -uxxxxx -p dbname check table tabTest; 如果出现的结果说Status是OK,则不用修复,如果有Error,可以用: repair table tabTest; 进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。 2. myisamchk, isamchk 其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,