终于解决 ERROR 1044(42000): Access denied for user ''@'localhost' to database,亲测有效

在 create database mytestsql 时出现错误:

ERROR 1044(42000): Access denied for user ''@'localhost' to database ‘mytestsql’

错误根本原因:使用了 administrator 用户登陆,但该用户只有 usage 权限,没有 create 的权限。

解决方法(亲测解决):

应该使用mysql的默认用户名‘root’进行登陆:

        使用管理员账户执行cmd,输入:mysql -hlocalhost -uroot -p

        其中-h表示服务器名,localhost表示本地;-u为数据库用户名,root是mysql默认用户名;-p为密码,如果设置了密码,可直接在-p后链接输入,如:-p123456,用户没有设置密码,显示Enter password时,直接回车即可。

这时,再查看权限:

此时的 root 用户具有所有权限,可以创建 database。

参考链接:https://jingyan.baidu.com/article/3aed632e19b5e8701080918f.html


以下是解决过程中尝试过的方法:

解决方法(未解决):

办法一(未解决,出现问题的根本原因有差别):https://www.jb51.net/article/72395.htm

通过 DbVisualizer 修改 Authentication 的 Database userid 为 administrator

均未成功,error1109(42S02): Unknown table 'user' in information_schema

检查发现没有mysql这个database,里面更没有 user这个表。创建新的 database,又会出现没有权限创建。

办法二(未解决,但找到了问题的根本原因):

检查发现只有usage权限 https://blog.csdn.net/anzhen0429/article/details/78296814

尝试赋予权限:https://blog.csdn.net/q_l_s/article/details/51140137

                           https://blog.csdn.net/jpiverson/article/details/50084917

显示没有权限赋予权限...  error1045(28000)

猜你喜欢

转载自blog.csdn.net/Carolinedy/article/details/81167772
今日推荐