Mysql 拒绝用户访问';根'@';本地主机';到数据库';drupal';

Mysql 拒绝用户访问';根'@';本地主机';到数据库';drupal';,mysql,Mysql,我在一台MySQL服务器上工作,我还没有配置我自己,在SQL方面我有点不在行 我创建了一个数据库,如下所示: root@localhost:~# mysqladmin -u root -p create drupal root@localhost:~# mysql -u root -p MariaDB [(none)]> GRANT ALL PRIVILEGES ON drupal.* TO root IDENTIFIED BY ...; 然后试图授予这样的特权: root@loca

我在一台MySQL服务器上工作,我还没有配置我自己,在SQL方面我有点不在行

我创建了一个数据库,如下所示:

root@localhost:~# mysqladmin -u root -p create drupal
root@localhost:~# mysql -u root -p

MariaDB [(none)]> GRANT ALL PRIVILEGES ON drupal.* TO root IDENTIFIED BY ...;
然后试图授予这样的特权:

root@localhost:~# mysqladmin -u root -p create drupal
root@localhost:~# mysql -u root -p

MariaDB [(none)]> GRANT ALL PRIVILEGES ON drupal.* TO root IDENTIFIED BY ...;
但是得到这个错误:

ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'drupal'
[更新]我在所有形式的GRANT命令中都遇到此错误

但根据SHOW GRANTS,我应该有特权:

MariaDB [(none)]> SHOW GRANTS;
+--------------------------------------------------------------------------- 
-------------------------------------------+
| Grants for root@localhost                                                                                            
|
+--------------------------------------------------------------------------- 
------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD 
'*...' |
+--------------------------------------------------------------------------- 
-------------------------------------------+
1 row in set (0.00 sec)
MySQL版本为:MySQL版本15.1发行版10.1.26-MariaDB
在Debian 9.5上,问题是根用户没有授予权限

SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
我用这个命令修复了它:

UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';
您必须注销并再次登录才能使其工作