执行ALTER USER kalyan CREATEDB报MySQL ERROR 1064语法错误是什么原因?
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 'CREATEDB' at line 1
错误原因
你执行的ALTER USER kalyan CREATEDB;是PostgreSQL专属的赋权语法,不符合MySQL的语法规则,因此触发上述报错。
MySQL正确赋权步骤
要给kalyan用户授予创建数据库的权限,按以下步骤操作即可:
- 先用具备管理员权限的账号(如root)登录MySQL
- 根据kalyan用户的允许登录范围执行对应赋权命令:
仅允许本地登录的用户执行:
允许任意地址远程登录的用户执行:GRANT CREATE ON *.* TO 'kalyan'@'localhost';GRANT CREATE ON *.* TO 'kalyan'@'%'; - 刷新权限使配置立即生效:
FLUSH PRIVILEGES; - 可执行对应命令验证权限是否配置成功:
-- 验证本地用户权限 SHOW GRANTS FOR 'kalyan'@'localhost'; -- 验证远程用户权限 SHOW GRANTS FOR 'kalyan'@'%';
注意事项
只有将CREATE权限授予在*.*全局层级时,用户才会拥有创建数据库的权限;如果仅给指定数据库授予CREATE权限,用户仅能在对应数据库下创建表,无法创建新数据库。
内容的提问来源于stack exchange,提问作者vtr
相关产品推荐
相关产品推荐

