找回密码
 新建账号

MySQL 创建新用户后 Access denied for user 'x'@'localhost' 无法登录

[复制链接]
php 发表于 2014/10/1 02:00 | 显示全部楼层 |阅读模式
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

手机版|轻松E站

GMT+8, 2024/4/26 06:44

快速回复 返回顶部 返回列表