grant select,update on . to 'usertest'@'localhost' identified by 'testpwd';这行代码为什么报ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'testpwd'' at line 2错误
时间: 2023-08-15 11:08:38 浏览: 173
您缺少指定要授予权限的表或数据库。语法应该是:
```
grant <permission> on <database or table>.<table or column> to '<user>'@'<host>' identified by '<password>';
```
例如,如果要授予 `usertest` 用户对 `mydatabase` 数据库中所有表的 `SELECT` 和 `UPDATE` 权限,并且使用密码为 `testpwd`,则可以使用以下语法:
```
grant select, update on mydatabase.* to 'usertest'@'localhost' identified by 'testpwd';
```
请注意,您可能需要具有足够的权限才能执行此操作。
相关问题
grant select,update on *.* to 'usertest'@'localhost' identified by 'testpwd'; 哪里有语法错误
这个 SQL 语句的语法是正确的,但是可能会出现以下两种情况:
1. 如果没有为 'usertest' 用户授权的话,执行该语句会提示错误:`ERROR 1044 (42000): Access denied for user 'youruser'@'localhost' to database '*'`。
2. 如果已经存在 'usertest' 用户,执行该语句会提示错误:`ERROR 1396 (HY000): Operation CREATE USER failed for 'usertest'@'localhost'`,因为该用户已经存在了。
所以,需要确保在执行该语句之前,'usertest' 用户不存在,并且当前用户有足够的权限来授权给 'usertest' 用户。
阅读全文