我正在设置一个新的服务器,但一直遇到这个问题。
当我尝试使用root用户登录MySQL数据库时,我得到了以下错误:
错误1698(28000):拒绝用户'root'@'localhost'的访问
不管我是通过终端(SSH)连接,还是通过PHPMyAdmin或MySQL客户端(例如Navicat)连接。他们都失败了。
我查看了mysql.user表,得到了以下信息:
+------------------+-------------------+
| user | host |
+------------------+-------------------+
| root | % |
| root | 127.0.0.1 |
| amavisd | localhost |
| debian-sys-maint | localhost |
| iredadmin | localhost |
| iredapd | localhost |
| mysql.sys | localhost |
| phpmyadmin | localhost |
| root | localhost |
| roundcube | localhost |
| vmail | localhost |
| vmailadmin | localhost |
| amavisd | test4.folkmann.it |
| iredadmin | test4.folkmann.it |
| iredapd | test4.folkmann.it |
| roundcube | test4.folkmann.it |
| vmail | test4.folkmann.it |
| vmailadmin | test4.folkmann.it |
+------------------+-------------------+
如您所见,root用户应该具有访问权限。
null
它正在运行Ubuntu 16.04.1 LTS和Apache,MySQL和PHP,这样它就可以托管网站,而iredmail0.9.5-1,这样它就可以托管邮件。
在安装iredmail之前,登录MySQL数据库可以正常工作。我也试过了,只是安装了iRedMail,但是root,也不起作用。。。
如果有人能告诉我如何修复我的MySQL登录问题,或者如何在现有的MySQL安装之上安装iRedMail。是的,我尝试了安装提示,但我在配置文件中找不到这些变量。
我在Windows 10桌面上通过Putty与Debian 8 VM交互时遇到了这个问题。
我尝试了这里的各种建议,但没有一个很有效,我正在Debian主机上运行MariaDB。最后,我发现我无法在安全模式下启动db服务器,但我并不需要这样做,下面的命令实际上对我有效,即允许新创建的MySql用户登录到MySql/mariadb服务器:
sudo service mysql restart
sudo mysql # logs in automatically into MariaDB
use mysql;
update user set plugin='' where user='your_user_name';
flush privileges;
exit;
sudo service mysql restart # restarts the mysql service
如果上面的方法对你不是很有效,那么就按照zetacu上面的帖子(zetacu)中概述的步骤来做,然后再按照我的步骤来做。
现在您应该能够使用远程终端客户机,并使用以下命令安全地登录到mysql:
mysql -u your_user_name -p
*提示时输入密码
检查此处:
新版本的MYSQL就是这样做的。
在新的my-sql中,如果安装时密码为空,那么它将基于
正确的方法是使用
$ sudo mysql -u root -p
null
$ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';
完成后,
$ sudo service mysql stop
$ sudo service mysql start
有关完整的详细信息,您可以参考此链接。
如有疑问,请发表意见。
一些系统如Ubuntu,mysql默认使用UNIX auth_socket插件。
基本上意味着:使用它的db_users,将被系统用户凭据“auth”。您可以通过执行以下操作查看
$ sudo mysql -u root # I had to use "sudo" since is new installation
mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;
+------------------+-----------------------+
| User | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+
null
有2种方法可以解决这个问题:
备选方案1:
$ sudo mysql -u root # I had to use "sudo" since is new installation
mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ sudo service mysql restart
选项2:(用您拥有的用户名替换YOUR_SYSTEM_USER)
$ sudo mysql -u root # I had to use "sudo" since is new installation
mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY 'YOUR_PASSWD';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ sudo service mysql restart
请记住,如果您使用option AUTE 2,您必须以您的系统用户名(codeMySQL-U Your_System_User/code>)连接到mysql
注意:在某些系统(例如Debian stretch)上,'auth_socket'插件被称为'unix_socket',因此相应的SQL命令应该是:
更新:from@andy's comment似乎mysql 8.x.x更新/替换了
null
问题内容: 我正在设置新服务器,并继续遇到此问题。 当我尝试以root用户登录MySQL数据库时,出现错误: 错误1698(28000):用户’root’@’localhost’的访问被拒绝 是否通过终端(SSH),PHPMyAdmin或MySQL客户端(例如Navicat)连接都没有关系。他们都失败了。 我在mysql.user表中查看了以下内容: 如您所见,root应该具有访问权限。 该服务器
我安装了以下版本的MySQL: 我记得我在安装过程中没有为root用户设置密码。然而,如果我尝试使用命令简单地启动它,我会得到以下错误: 同样,作为root用户, 我尝试按照重置根密码:Unix和类Unix系统的说明进行操作;我在我的主目录中制作了文本文件,并从那里尝试使用选项启动MySQL服务器。但是,我再次收到权限错误: 我读到过类似的错误,无法连接到Mysql服务器;无法创建/写入pid文件
我是Raspberry Pi和MySQL的新手。 我已经创建了一个代码,数据库在phpmyadmin运行的wamp服务器在我的PC。同时,我想在Raspberry PI3中运行这段代码。此外,当我在Raspberry Pi 3中运行代码时,我希望数据可以保存在phpmyadmin中,这样,当我在PC上运行localhost时,我从Raspberry Pi中输入的数据也可以保存在PC中。但是,当我运
我刚刚在我的Ubuntu机器上安装了MySQL服务器。所有安装都正常,当它询问我的密码时,我只需点击“回车”键,将密码留空。现在,当我尝试登录时: 只需按enter键,就会出现以下错误: 错误1698 (28000):用户'root'@'localhost'的访问被拒绝 我不知道错误是什么,也不知道如何修复它。有人能帮忙吗?我试图阅读MYSQL文档,但我不明白他们在说什么。 当我尝试访问phpMy
错误1045(28000):拒绝用户'root'@'localhost'的访问(使用密码:Y ES) 这个错误是什么意思?