我正在使用最新版本的mysql。运行以下命令时,它要求我使用ALTER USER命令而不是GRANT。我没有看到使用ALTER USER命令在任何地方更新权限的语法。 https://dev.mysql.com/doc/refman/5.7/en/alter-user.html
GRANT ALL PRIVILEGES ON *.* to 'root'@'localhost' IDENTIFIED by ‘1234’;
任何指针都会非常感激。
答案 0 :(得分:5)
GRANT
的文档提及:
注意强>
如果
GRANT
语句中指定的帐户尚不存在,GRANT
可能会在稍后讨论NO_AUTO_CREATE_USER SQL
模式的条件下创建帐户。也可以使用GRANT
来指定非特权帐户特征,例如它是否使用安全连接以及对服务器资源的访问限制。但是,从MySQL 5.7.6开始,不推荐使用
GRANT
来创建帐户或定义非特权。相反,请使用CREATE USER
或ALTER USER
执行这些任务。
查询的IDENTIFIED by ‘1234’
部分用于设置/更改用户的密码。密码不是特权,应使用ALTER USER
更改密码。
使用:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'
向用户授予所需的权限,并且:
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234'
如果需要,可以更改密码。
值得一提的是,ALTER USER
声明为introduced in MySQL 5.6。对于旧版本,GRANT
语句是更改用户密码的唯一方法。