我使用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版本中尝试了这种语法。它在这方面工作正常。
答案 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 位服务器。