MySQL 8创建密码无效的新用户

时间:2018-05-18 10:56:18

标签: mysql sql database

我使用MySQL已经有好几年了,在MySQL 5.x版本之前创建新用户的命令如下:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';

最近我安装了MySQL 8.其中,此命令无效。

在命令上方触发时抛出以下错误:

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 'password'' at line 1

MySQL 8中的语法是否有任何变化?在MySQL 8中创建新用户命令的正确语法是什么?

注意:我在MySQL 5.x版本中尝试了这种语法。它在这方面工作正常。

2 个答案:

答案 0 :(得分:16)

试试这个:

use mysql;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON *.* TO 'username'@'localhost';
flush privileges;

答案 1 :(得分:0)

来自 MySQL 最近的版本 -

创建用户 -

for room in $Rooms.get_children():
    if randf() < cull:
        room.queue_free()
    else:
        room.mode = RigidBody2D.MODE_STATIC
        room.collision_layer = 3
        room_positions.append(Vector3(room.position.x, room.position.y, 0))

这是创建新用户和授予权限的两行代码。

使用 MySQL 社区服务器版本 CREATE USER 'newuser1'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password@123'; GRANT ALL ON *.* TO 'newuser1'@'localhost'; Windows 10 x64 位服务器。