Access denied for user 'apache'@'localhost' (using password: NO)

使用PHP连接到MySQL数据库报错:

Access denied for user 'apache'@'localhost' (using password: NO)

解决方案

检查有没有用户 apache,有没有权限。

用户表在 Mysql数据库中的user表

use mysql
select host,user from user

创建用户

CREATE USER 'apache'@'localhost' IDENTIFIED BY '密码'

授予MySQL用户对数据库databasename 的全部权限

GRANT ALL PRIVILEGES ON `*databasename*`.* to 'apache'@'localhost';

MySQL授予指定的权限

GRANT SELECT ,
INSERT ,
UPDATE ,
DELETE , 
CREATE ,
DROP ,
RELOAD ,
SHUTDOWN ,
PROCESS ,
FILE ,
REFERENCES ,
INDEX ,
ALTER ,
SHOW DATABASES ,
SUPER ,
CREATE TEMPORARY TABLES ,
LOCK TABLES ,
REPLICATION SLAVE ,
REPLICATION CLIENT,
CREATE VIEW ,
SHOW VIEW ,
CREATE ROUTINE,
ALTER ROUTINE,
CREATE USER,
EXECUTE ON * . * TO 'root'@'127.0.0.1' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

回收MySQL用户的权限

REVOKE ALL PRIVILEGES ON * . * FROM 'root'@'127.0.0.1';
日期:2020-03-24 13:29:36 来源:oir作者:oir