MySQL 8使用密码创建新用户不起作用

标签 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 版本中尝试过这种语法。它在这方面工作正常。

最佳答案

试试这个:

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

关于MySQL 8使用密码创建新用户不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50409788/

相关文章:

python - 如何将Python程序中的数据间隔插入MySQL数据库

PHP 并将 MySQL 行封装到 JSON 数组中

c# - 在用 C# 加密的 SQL Anywhere 16 中解密 AES,反之亦然

mysql - 从 MySQL 5.0 迁移到 5.1 的原因

c++ - 在 C++ 中与一个简单的数据库交互?

javascript - angular.js 使用来自 mysql 数据库的数据

mysql - 将十六进制数据从 varchar 类型字段移动到 bigint 类型 (mysql)

MySQL内连接只选择1行

c# - LINQ .OrderBy 创建嵌套套管

mysql - 列显示在mysql中