mysql创建新用户时访问被拒绝
mysql创建新用户时访问被拒绝
我想在我的公司创建一个新的mysql用户和数据库demo。以下是我在mysql.exe中输入的命令:
create user 'admin'@'localhost' identified by 'admin'; create database dem;
每次我都会得到以下响应:
用户''@'localhost'被拒绝访问数据库。
实际上,我参考了类似的问题:
有人可以帮忙吗?
问题:在创建新用户时出现“mysql access denied”错误。
原因:未授权给用户admin访问权限。
解决方法:GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
如果登录远程服务器时使用的是admin用户,则还需要为admin用户授权相同的权限。如果没有授权,admin用户将继承基本权限。
参考链接:点击这里
感谢您的回答。我输入授权命令后出现了“Your have an error in your SQL syntax”错误。
以上是MySQL在线参考文档上的内容。请查看我的编辑,现在应该可以执行了。这样做会打开一些安全性方面的问题。解决了当前问题之后,您可以重新考虑如何创建和授权用户。我在回答中添加了一个链接。
问题: 在创建新用户时出现了"mysql access denied"的错误。
原因: 在MySQL中,最佳实践是先创建数据库,然后创建用户,并使用GRANT命令为该用户授予权限。如果先创建用户,再创建数据库,虽然在某些情况下可能有效,但不是MySQL推荐的做法。因此,出现"mysql access denied"错误的原因是因为权限被拒绝或SQL语法错误。
解决方法: 遵循以下步骤来解决该问题:
1. 先创建数据库
2. 再创建用户
3. 使用GRANT命令为用户授予权限
代码示例:
CREATE DATABASE your_database_name; CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'localhost';
注意:将"your_database_name"替换为实际的数据库名称,将"your_username"替换为实际的用户名,将"your_password"替换为实际的密码。
通过按照以上步骤创建数据库、用户和授予权限,您应该能够成功解决"mysql access denied"错误,并创建新用户。