当前位置:Gxlcms > mysql > Thereisno'root'@'%'registered解决_MySQL

Thereisno'root'@'%'registered解决_MySQL

时间:2021-07-01 10:21:17 帮助过:8人阅读

bitsCN.com

There is no 'root'@'%' registered解决

把别人机器上的MYSQL中的一个数据库导出来,生成了一个.sql的文件

在我的机器上导入这个.sql文件之后,在数据库连接时出现了如下错误:

“There is no 'root'@'%' registered”

解决办法:

首先上面的那句话的意思是,这里没有一个叫'root'@'%' 的用户存在。这么一说就明白许多了吧,因为你导入的目标MYSQL服务器里面没有这个用户,所以在数据库里,我推荐使用MYSQL可视化管理工具Navicat,在相应的用户管理上建立一个名为“%”的用户,再将相应的权限(注意视图和存储过程的管理权限在默认情况下是不赋予的)分配给这个用户即可。如果你是敲命令台的话,请自己去查MYSQL的API去吧。。总之做的事情和我上面说的一样就可以了。

PS:关于这个'root'@'%' ,这个形式就是'A'@'B'的形式,它的意思是,密码正确的前提下,IP或域名为B才可以使用MYSQL服务器上的用户名为A的权限。而'root'@'%'的意思是,密码正确的前提下任何人都可以使用MYSQL名为'root'用户的权限,即最高管理员权限。

搞笑的解决办法:

研究了一下发现是.sql文件上视图和存储过程的语句上出现了问题

.sql文件里关于创建视图是这样写的:

DROP VIEW IF EXISTS `视图名称`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `视图名称` AS select ……

看到红色部分的字了吧,把.sql文件里所有视图和存储过程的红字部分的%改成localhost(或者你机器的IP)之后,再导入这个.sql文件,就不会出错了。

bitsCN.com

人气教程排行