我正在使用 Ubuntu 桌面 16.04(从 15.10 升级)。
我已经从 by 安装了 phpmyadmin apt-get install phpmyadmin
。如果我去,它可以工作,localhost/phpmyadmin
但我无法以 root 身份登录。
我已经搜索了很多。我发现了许多他们建议/etc/phpmyadmin/config.inc.php
用“root”和“”(密码为空)更改和替换用户和密码的来源。但是我config.inc.php
的和他们的不一样。例如,在我的文件中,没有用户名和密码行,它似乎是从另一个文件中自动获取的,即/etc/phpmyadmin/config-db.php
. 尽管如此,我已经更改了该文件中的用户名和密码,但现在我收到了这个错误:
#1698 - Access denied for user 'root'@'localhost'
我该做什么?
Phpmyadmin 版本:4.5.4.1deb2ubuntu1
mysql Ver 14.14 Distrib 5.7.12,适用于使用 EditLine 包装器的 Linux (x86_64)
MySQL 5.7 更改了安全模型:现在 MySQL
root
登录需要sudo
.即,phpMyAdmin 将无法使用
root
凭据。最简单、最安全和永久的解决方案将是创建一个新用户并授予所需的权限。
1.连接mysql
2.创建一个真实的密码
在以下步骤中,我将
<please_replace_this>
用作示例密码。请用您的密码替换它!不要用作<please_replace_this>
密码!3.为phpMyAdmin创建一个用户
运行以下命令(替换
<please_replace_this>
为所需的密码):如果您的 phpMyAdmin 连接到 localhost,这应该足够了。
4. 可选且不安全:允许远程连接
请记住:允许远程用户拥有所有权限是一个安全问题,在大多数情况下这不是必需的。
考虑到这一点,如果您希望此用户在远程连接期间拥有相同的权限,请另外运行(替换
<please_replace_this>
为步骤 #2 中使用的密码):5.更新phpMyAdmin
使用,在以下部分
sudo
编辑文件更新用户/密码值(替换为步骤 #2 中使用的密码):/etc/dbconfig-common/phpmyadmin.conf
<please_replace_this>
如果 phpymadmin 无法连接,可能是因为 auth 机制设置为
auth_socket
. 您可以将其更改为使用常规密码,如下所示:我刚刚在全新安装 Ubuntu 18.04 时遇到了这个问题,这就是让它工作的原因。这里有一篇不错的文章解释更多:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
将 mariaDB 与 phpmyadmin(Ubuntu 16.04LTS)一起使用时,我遇到了同样的问题。
先决条件:
1) 安装 MariaDB
如果要卸载
mariaDB
:2)安装phpmyadmin
3)在apache2中,创建一个指向phpmyadmin的符号链接
好的,现在,如果您按照 Rael 的说明进行操作,您将能够登录
phpmyadmin
,但是,至少对我而言,我无法创建新数据库,因为出现了一条红色消息:(No privileges
或一些类似的消息)解决方法是重新配置 phpmyadmin,并回答一些交互式问题。
现在,如果您尝试
localhost/phpmyadmin
使用连接到 phpmyadmin ( )您将能够创建数据库。
在 Ubuntu 16.04 for Mysql 5.7 中检查下表信息并执行必要的设置:
检查 root 是否有 auth_socket 插件,然后运行以下命令:
为了完整起见,我找到了解决我在使用 MariadB 版本 10.1.23 时遇到的麻烦的方法。用于设置新用户的语法类似于@Rael Gugelmin Cunha 在上面的帖子中报告的语法,我将我的解决方案放在这里以供其他面临同样问题的人参考:
问候
我遇到了同样的问题,我遵循了大多数建议,但没有一个对我有用!当我在浏览器中打开http://localhost/phpmyadmin时,我的问题是一样的,它要求提供登录详细信息。
我使用root作为用户,我知道的密码是正确的。我得到了
所要做的就是使用已知密码
phpmyadmin
作为用户,而不是root
,它让我进入。提到雷尔库尼亚:
是的,他的解决方案有效,我尝试过其他解决方案。但是,在配置文件中提及用户的密码
/etc/dbconfig-common/phpmyadmin.conf
似乎是系统范围操作的安全漏洞。因此,我宁愿提出
MariaDB 10.1.x
有关方面的建议( some_user 和 some_pass 将是您可能想出的任何东西):并保持 phpadmin setup (4) 不变。
之后使用您自己的凭据登录到 phpmyadmin
在我自己的设置中,出于安全目的,我将上面的 '%' 替换为 'localhost',但如果您在服务器上关闭了端口 3306,则不一定会给您带来安全风险。
仅以下代码适用于 ubuntu 18.04、php 7 以上和 mysql 5.7
不要替换“phpmyadmin”。创建任何其他用户没有像创建新用户那样的完全权限,像这样将数据库权限分配给该用户。只有 phpmyadmin 用户才能获得完全访问权限。
如果您单独安装 MySQL,请通过以下命令停止它 sudo /opt/lampp/lampp stop service mysql stop sudo /opt/lampp/lampp start