当前位置: 首页 > 知识库问答 >
问题:

"权限拒绝"错误从管理员与root@localhost

曹子平
2023-03-14

我试图使用管理员连接到MariaDB数据库,但我得到"权限拒绝"错误,当我按下登录按钮。请注意,如果密码错误,这不是我所期望的“拒绝访问”。

这是我第一次使用MariaDB,我也是CentOS的新手,我不确定这里出了什么问题。下面列出了有关我的系统的一些调试和设置。

从PHP连接到MariaDB确实有效,例如,使用以下测试脚本:

<?php
$db = mysqli_connect('127.0.0.1','root','mypassword')
  or die(mysqli_error());
var_dump($db);

使用mysql-h127.0.0.1-u root-p从控制台也可以工作,并且还netstat确认mysqld正在监听:

$ sudo netstat -tlpn | grep mysqld
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      16428/mysqld

亚洲开发银行赠款:

MariaDB [(none)]> show grants;
+--------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                        |
+--------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '...' WITH GRANT OPTION |
| GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION                                    |
+--------------------------------------------------------------------------------------------------+

管理员中的设置:

System: MySQL
Server: 127.0.0.1
Username: root
Password: mypassword
Database: (none)

我的系统:

CentOS 7
Apache 2.4.6
PHP 5.4.16
MariaDB 10.1.16
Adminer 4.2.5

共有1个答案

陶淳
2023-03-14

造成这种情况的主要原因是错误的SELinux设置,但也有一个严重的MariaDB错误影响了这一点。

SELinux具有布尔值httpd\u can\u network\u connect\u db,用于定义HTTP服务器脚本和模块是否可以连接到数据库服务器。这默认为关闭:

$ getsebool httpd_can_network_connect_db
httpd_can_network_connect_db --> off

打开并重新启动*Apache允许使用服务器127.0从管理员连接。0.1

sudo setsebool -P httpd_can_network_connect_db on
sudo systemctl restart httpd

*)我不确定是否真的需要重新启动。

有趣的是,尝试使用服务器连接:localhost仍然不起作用。这是因为MariaDB 10.1.16中关于SELinux上下文的一个关键错误:MDEV-10405

解决此错误的方法是禁用NoNewPrivileges=true设置。

创建文件/etc/system d/system/mariadb.service.d/myfix.conf

# temporary fix for bug https://jira.mariadb.org/browse/MDEV-10404
[Service]
NoNewPrivileges=false

然后运行:

sudo systemctl daemon-reload
sudo systemctl restart mariadb

 类似资料:
  • 问题内容: 我运行 npm install lodash, 但它抛出 错误:EACCES:权限被拒绝 错误。我知道这是权限问题,但据我所知,本地安装节点模块不需要sudo权限。如果我使用sudo运行它,它将安装在〜/ node_modules文件夹中。 drwxrwxr-x 是现有文件夹的文件许可权。我不知道可能出了什么问题。 下面是错误消息。 问题答案: 使用 npm init 创建 packa

  • 我运行npm install lodash,但它抛出错误:EACCES:权限被拒绝错误。我知道这是权限问题,但据我所知,在本地安装节点模块不需要sudo权限。如果我用sudo运行它,它会安装在~/node\u modules文件夹中。drwxrwxr-x是现有文件夹的文件权限。我不知道可能出了什么问题。 下面是错误消息。

  • 误差 System.Exception:存储库配置失败:出现一个或多个错误。({“errors”:[“1错误发生:\n\t*权限被拒绝\n\n”]})在VaultConnection.vaultTextensions.addVaultKeys.getValutKeyValuePairs(IConfiguration buildConfig)C:\users\48013\source\repos\s

  • 我在django admin(127.0.0.1:8000/admin)中尝试为用户添加个人资料照片时收到此错误消息 有人能帮我找出原因吗? OSError at /admin/role/role/6/[Errno 13]权限被拒绝:'/User'请求方法: POST请求URL:http://127.0.0.1:8000/admin/role/role/6/Django版本: 1.8.2异常类型:

  • 我在Ruby 2.0.0-p353和OSX Mavericks上使用Rails 4.0.2、Guard 2.2.4、Guard rspec 4.2.4、rspec Rails 2.14.0、Capybara 2.2.1和Poltergeist 1.5.0。 当我运行bundle exec Guard时,我得到了很多失败的错误消息:一个错误发生在后钩子Errno::EACCES:权限拒绝- /usr

  • 除了为每一个用户设置权限,权限管理员 为连接及其数据库对象的权限提供另一查看方式。注意:只限于 MySQL、Oracle、PostgreSQL、SQL Server 和 MariaDB。 从用户的对象列表工具栏点击 权限管理员 并按照下列步骤进行: 在查看树展开节点直至到达目标对象。 选择对象并点击 添加权限 以打开窗口。 勾选用户以显示网格在右边的面板上。 在网格里,对照在 权限 列出的权限,勾