我是 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 将解决您所有的问题。您可以在那里轻松创建用户。
关于mysql - 无法使用来自命令行客户端的不同用户访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52677475/