我试图使用管理员连接到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
造成这种情况的主要原因是错误的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。 从用户的对象列表工具栏点击 权限管理员 并按照下列步骤进行: 在查看树展开节点直至到达目标对象。 选择对象并点击 添加权限 以打开窗口。 勾选用户以显示网格在右边的面板上。 在网格里,对照在 权限 列出的权限,勾