2016-07-30 25 views
0

Adminerを使用してMariaDBデータベースに接続しようとしていますが、ログインボタンを押したときに「Permission denied」エラーが発生します。これは、例えば場合、私が期待され、「アクセスが拒否」されていないことに注意してくださいパスワードが間違っています。root @ localhostでAdminerから「Permission denied」エラーが発生しました

これは私の初めてのMariaDBの使用です。私はCentOSもかなり新しくなっています。ここで何が間違っているのか分かりません。私のシステムに関するいくつかのデバッグと設定は以下のとおりです。 PHPからMariaDBへの接続

は、例えば、作業を行いますこのテストスクリプトで:

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

MariaDB補助金:Adminerで

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

セッティング:

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

コンソールもまたnetstat作品、およびからmysql -h 127.0.0.1 -u root -pを使用してmysqldが聞いていることを確認し

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

主な理由は、間違ったSELinuxの設定ですが、これに影響を与える重要なMariaDBのバグもあります。

SELinuxには、HTTPサーバースクリプトとモジュールがデータベースサーバーに接続できるかどうかを定義するブール値httpd_can_network_connect_dbがあります。 offこのデフォルト:

$ getsebool httpd_can_network_connect_db 
httpd_can_network_connect_db --> off 

このonをオンにして再起動* ApacheがServer: 127.0.0.1を使用してAdminerから接続できます。

sudo setsebool -P httpd_can_network_connect_db on 
sudo systemctl restart httpd 

*)は、私は再起動が本当に必要かどうかわかりません。

興味深いことに、Server: localhostを使用して接続しようとすると機能しません。これは、SELinuxのコンテキストに関するMariaDB 10.1.16における重大なバグは次のとおりです。このバグのMDEV-10405 & MDEV-10404

-周りの作業はNoNewPrivileges=true設定を無効にすることです。

ファイル/etc/systemd/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 
関連する問題