MySQL新建用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES) 的解决方法: 请使用root账户通过命令行或PHP程序运行以下代码
MySQL 创建一个新用户,用户名为username,密码为password,将localhost改为%可允许该用户登录所有主机 CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
为该用户授权,本例将所有权限全部授予给该用户,可以将ALL PRIVILEGES改为具体的权限选项, *.*代表所有数据库下的所有数据表,也可以指定为具体的数据库表 GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION
删除数据库中的空白账户(匿名账户),依次执行以下两条指命,这一步是解决这个问题的核心步骤 DELETE FROM `mysql`.`user` WHERE `user`=''; FLUSH PRIVILEGES;
MySQL 用户权限表,多个权限之间用逗号连接
数据类权限
结构类权限
管理类权限
SELECT INSERT UPDATE DELETE FILE
CREATE ALTER INDEX DROP CREATE TEMPORARY TABLES SHOW VIEW CREATE ROUTINE ALTER ROUTINE EXECUTE CREATE VIEW EVENT TRIGGER
GRANT SUPER PROCESS RELOAD SHUTDOWN SHOW DATABASES LOCK TABLES REFERENCES REPLICATION CLIENT REPLICATION SLAVE CREATE USER