大家好,我尝试用密码切换到我创建的其他用户,但是我无法切换,我在谷歌上搜索过,但我不知道是什么类型的错误,它说拒绝用户''@'localhost'访问数据库'*',当我尝试切换用户时,我收到另一个错误,它说,你的sql语法有错误;检查与你的MYSQL服务器版本相对应的手册,以了解在'mysql附近使用的正确语法,最后,当我列出当前用户时,它在当前用户列中显示了@localhost...请帮忙..提前谢谢
答案1
用户名好像是空的。请注意,在 MySQL shell 中您无法切换用户。您必须退出到 Linux shell,然后使用其他用户名再次连接到 mysql,例如:
mysql -u myuser -p
希望这能帮到你。如果没有帮助,请更具体说明你的问题。
答案2
如上所述,要连接到数据库,您需要使用命令mysql -u USER -p
。
这意味着以用户身份连接并需要密码提示。我还注意到,当我添加新用户时,您必须确保授予连接权限。很多时候你会发现主机名无法正常工作,因此当你创建用户时,你应该做这样的事情:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
请注意第二行中的 % - 这意味着您可以从任何地方连接到您的数据库。但如果这是生产环境,那么这可能是一件坏事,因为您最终可能会让其他人连接并修改您的数据库。
看一下这一页了解更多信息。