在 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)