mysql - 无法使用来自命令行客户端的不同用户访问数据库

标签 mysql sql

我是 MySQL 的初学者,最近才开始使用这个服务器。我之前没有使用过任何其他服务器。我也是 SQL 查询语言的初学者。 当我下载 MySQL 服务器时,一个名为“MySQL 8.0 Command Line Client”的程序与“MySQL Shell”一起下载。到目前为止,我一直在使用 root 用户的命令行客户端来访问数据库和编写查询。后来我决定使用以下代码从命令行客户端创建一个新用户:

> use mysql;
> CREATE USER 'LRNGSQL'@'localhost' IDENTIFIED BY 'lrngsql123';
> GRANT ALL ON *.* TO 'LRNGSQL'@'localhost';
> flush privileges;

在我能够创建新用户之前,我必须使用“mysql”数据库,这是 MySQL 服务器中已有的默认数据库。创建新用户后,我退出了命令行客户端。当我启动 Command Line Client 时,它直接要求输入密码,我不需要指定代码:

Shell > mysql -u USERNAME -p

This is how the Command Line Client terminal looks like when I start it.

在要求我输入密码之前,我在顶部收到了警告。这是警告:

mysql: [Warning] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe: ignoring option '--no-beep' due to invalid value ''

我不知道上面的警告是什么意思,但是我输入密码后可以从root用户访问数据库,所以我就忽略了。

仅当我输入 root 用户的密码时,命令行客户端才允许我继续(即它给我“mysql>”脚本),否则程序退出并关闭。我尝试输入“LRNGSQL”用户的密码,但无法使用此密码访问数据库。只有使用 root 密码才能访问数据库。我尝试在 Windows 命令提示符下使用“LRNGSQL”用户访问数据库,我已经成功了。我不明白为什么我不能使用 MySQL 8.0 命令行客户端执行相同的操作。我想从我的其他用户访问数据库。

最佳答案

下载 Sqlyog 将解决您所有的问题。您可以在那里轻松创建用户。

https://www.webyog.com/

关于mysql - 无法使用来自命令行客户端的不同用户访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52677475/

相关文章:

mysql & INTO OUTFILE - 转义或替换数据中的新行

mysql - 查询mysql后使用if

mysql - 如何使用 MySQL Group_concat

php - 如何在 id= 处插入图像名称? ...在 mySQL [PHP] 中

sql - 在 SSIS 变量中使用 SQL 字段

sql - postgresQL 中子产品的递归列表

java - Java如何执行多条SQL语句?

javascript - 将 xmlhttp 数据用于 Google Maps api v3 折线

mysql - mysql where 子句中的 if else 语句

java - 当函数返回而不关闭准备好的语句/结果集时,这会很糟糕吗?