mysql数据库提示本地无法连接远程服务器(Host is not allowed to connect to this MySQL server)解决办法
问题描述:
1、远程服务器安装了mysql服务并且启动成功,在本地可以进行自由的访问和更新等操作
2、服务器已开通了远程访问服务器3306端口的权限并且通过netstat -ltnp命令查看3306处于监听过程中
3、远程通过工具链接该mysql数据库会报Host ‘xxx.xxx.xxx.xxx’(本地ip) is not allowed to connect to this MySQL server 的错误
解决办法:
1、远程链接服务器,在服务器内mysql系统目录下的/bin文件下执行./mysql -u root -p;输入密码登入mysql;
2、在mysql中执行use mysql命令,进入系统数据库
3、在mysql数据库中执行下面的命令;如果返回结果如下图:
select host from user where user = 'root'
该结果表示是由于当前的root用户限制在当前的内网ip内访问的,需要修改他的访问域。
4、在mysql数据库中执行如下命令:
update user set host = '%' where user = 'root';
必须再执行flush privileges,否则更改没有保存住无效。
5、执行完成后通过命令 service mysql restart 来重启mysql数据库,大功告成
use mysql mysql> select host, user from user;
将相应用户数据表中的host字段改成'%';
update user set host='%' where user='root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 不予理会
flush privileges;
重新远程连接OK
MySQL服务正在启动或停止中,请稍候片刻后再试一次【解决方案】
首先以管理员身份打开命令行窗口,注意是管理员身份,不然无权限访问。之后输入命令“tasklist| findstr "mysql"”,用于查找mysql的残留进程。果不其然,确实存在mysql的残留进程,难怪一直提示MySQL服务处于正在启动或者停止的状态中,此时要做的就是杀死MySQL进程。之后输入命令“taskkill/f /t /im mysqld.exe”,就可以将mysql残留进程全部杀死了,再次输入命令“tasklist| findstr "mysql"”,查看是否还留有有其他的mysql残留进程,如果还有,则继续杀死,直到完全杀死进程为止,如下图所示。
当mysql残留进程全部结束之后,我们就可以正常启动MySQL服务了,如下图所示。需要注意的是此时还是要以管理员的身份进入命令行窗口。
相关文章
- mysql中/*!40000 DROP DATABASE IF EXISTS `top_server`*/;这中注释有什么作用?
- 用navicat连接数据库报错:1130-host ... is not allowed to connect to this MySql server如何处理
- 【MySQL高级】Mysql复制及Mysql权限管理
- 连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
- 【MySQL进阶-01】深入理解mysql索引本质
- MySQL mysqldump备份数据库及恢复数据库(mysql命令)
- 【mysql问题】解决2003-Can‘t connect to MySQL server on ‘ ‘(10060“Unknown error“)
- Can't connect to MySQL server on localhost (10061)解决方法
- sql server 导出的datetime结果 CAST(0x00009E0E0095524F AS DateTime) 如何向mysql,oracle等数据库进行转换
- 使用navicat连接mysql连接错误:Lost connection to Mysql server at 'waiting for initial communication packet'
- Mysql 5.7源码编译启动 报error问题:The server quit without updating PID file (/data/data_mysql/mysql.pid).
- Mysql问题:Connector/Net no longer supports server versions prior to 5.0
- MySQL数据库 WARN: Establishing SSL connection without server‘s identity verification is not recommended
- ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql (转)
- Mysql中出现please use mysql_upgrade to fix this errot解决的办法
- Mac - Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动
- 【MySql 】is not allowed to connect to this MySql server 无法访问远程MySQL数据库
- python封装一个工具类 ,对MySQL数据库增删改查,可多字段动态插入mysql数据库中
- Tomcat启动失败错误解决Could not publish server configuration for Tomcat v7.0 Server at localhost
- MySQL 教程(基础篇)第04话:mysqld 和 mysql 命令的区别
- Linux安装Mysql server镜像安装失败 警告:mysql-community-devel-8.0.31-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature