我是MySQL的新手。
我创建了一个新用户:
CREATE USER 'geo'@'localhost' IDENTIFIED BY '12345';
GRANT ALL PRIVILEGES ON *.* TO 'geo'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
当我打开MySQL控制台窗口并输入密码时,我已设置窗口关闭。
我的问题是:为什么我不能用新密码登录MySQL?我错过了什么?
答案 0 :(得分:1)
以root身份输入mysql并执行以下操作:
USE mysql;
DELETE FROM user WHERE User='geo';
GRANT ALL ON *.* TO 'geo'@'localhost' IDENTIFIED BY '12345';
GRANT ALL ON *.* TO 'geo'@'127.0.0.1' IDENTIFIED BY '12345';
FLUSH PRIVILEGES;
或者您可以创建可从任何IP访问的用户(如果配置中的mysql bind = 0.0.0.0,否则它将侦听本地连接):
USE mysql;
DELETE FROM user WHERE User='geo';
GRANT ALL ON *.* TO 'geo'@'%' IDENTIFIED BY '12345';
FLUSH PRIVILEGES;
您的问题我认为您确实创建了地理主机'本地主机'但是一些mysql客户端使用127.0.0.1和其他localhost,因此对于mysql,这些是不同的主机。