2015-05-12 14 views
10

Próbuję użyć dbd z mysql jako uwierzytelniania z Apache 2.4.Błąd dbache Apache Błąd wewnętrzny: AH00629: Nie można połączyć się z mysql

Po uruchomieniu Apache, mam ten błąd:

[Tue May 12 13:07:18.789021 2015] [mpm_event:notice] [pid 10625:tid 140410697815936] AH00489: Apache/2.4.10 (Debian) configured -- resuming normal operations 
[Tue May 12 13:07:18.789118 2015] [core:notice] [pid 10625:tid 140410697815936] AH00094: Command line: '/usr/sbin/apache2' 
[Tue May 12 13:07:18.789469 2015] [dbd:error] [pid 10628:tid 140410697815936] (20014)Internal error: AH00629: Can't connect to mysql: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 
[Tue May 12 13:07:18.789560 2015] [dbd:error] [pid 10628:tid 140410697815936] (20014)Internal error: AH00633: failed to initialise 
[Tue May 12 13:07:18.790282 2015] [dbd:error] [pid 10629:tid 140410697815936] (20014)Internal error: AH00629: Can't connect to mysql: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 
[Tue May 12 13:07:18.790441 2015] [dbd:error] [pid 10629:tid 140410697815936] (20014)Internal error: AH00633: failed to initialise 
[Tue May 12 13:07:18.792481 2015] [dbd:crit] [pid 10628:tid 140410697815936] (20014)Internal error: AH00636: child init failed! 
[Tue May 12 13:07:18.792595 2015] [dbd:crit] [pid 10629:tid 140410697815936] (20014)Internal error: AH00636: child init failed! 

dbd_mysql.conf:

DBDriver mysql 
DBDParams "host=192.168.1.2 port=3306 user=MY_USERNAME pass=MY_PASSWORD dbname=MY_DATABASE" 
DBDMin 2 
DBDKeep 4 
DBDMax 10 
DBDExptime 300 
DBDPersist On 

000-default.conf

[...] 
DBDParams "dbname=DATABASENAME" 
<IfModule authnz_ldap_module> 
    <Directory /var/www/test/> 
     AuthName "Authentication" 
     AuthType Basic 
     AuthBasicProvider dbd 
     AuthDBDUserPWQuery "SELECT SHA2(password, 256) AS password FROM users WHERE username = %s" 
     require valid-user 
    </Directory> 
</IfModule> 
[...] 

Jeśli mogę zmienić hasło do wprowadzenia niepoprawny, otrzymałem wyjątek

Internal error: AH00629: Can't connect to mysql: Access denied for user... 

Debian: 7.8 Apache: 2.4.10 libapr1: 1.5.1-3 (próbowałem downgrade, ale nie mogę)

Uwaga: Serwer nie mają ani php php + mysql (libphpmysql) zainstalowane

Edit:

my.cnf (część klient)

[client] 
port   = 3306 
socket   = /var/run/mysqld/mysqld.sock 

Edit (2):

Próbowałem też użyć "ODBC" na mysql

ODBC.INI:

dbd_mysql.conf

DBDriver odbc 
DBDParams "datasource=MYSERVER_MYSQL_MYDATABASE" 
DBDMin 1 
DBDKeep 1 
DBDMax 10 
DBDExptime 300 

/etc/odbc.ini (i edytować config do usuwania wrażliwy dane)

[MYSERVER_MYSQL_MYDATABASE] 
Driver=/usr/local/lib/libmyodbc5a.so 
Description=MYSERVER_MYSQL_MYDATABASE 
SERVER=192.168.1.2 
PORT= 
USER=MY_USER 
Password=MY_PASSWORD 
Database=MY_DATABASE 
OPTION=3 
SOCKET= 

jeśli mogę użyć:

# isql MYSERVER_MYSQL_MYDATABASE 
+---------------------------------------+ 
| Connected!       | 
|          | 
| sql-statement       | 
| help [tablename]      | 
| quit         | 
|          | 
+---------------------------------------+ 

To działa idealnie .. ale na error.log apache:

[Thu May 14 09:07:51.323638 2015] [mpm_event:notice] [pid 1605:tid 140068309481344] AH00489: Apache/2.4.10 (Debian) configured -- resuming normal operations 
[Thu May 14 09:07:51.323725 2015] [core:notice] [pid 1605:tid 140068309481344] AH00094: Command line: '/usr/sbin/apache2' 
[Thu May 14 09:07:51 2015] [dbd_odbc] Invalid DBD Parameters - open returned SQL_ERROR (-1) at /tmp/buildd/apr-util-1.5:1146 
[Thu May 14 09:07:51.323827 2015] [dbd:error] [pid 1608:tid 140068309481344] (20014)Internal error: AH00629: Can't connect to odbc: [dbd_odbc] Invalid DBD Parameters - open returned SQL_ERROR (-1) at /tmp/buildd/apr-util-1.5:1146 
[Thu May 14 09:07:51.323870 2015] [dbd:error] [pid 1608:tid 140068309481344] (20014)Internal error: AH00633: failed to initialise 
[Thu May 14 09:07:51 2015] [dbd_odbc] Invalid DBD Parameters - open returned SQL_ERROR (-1) at /tmp/buildd/apr-util-1.5:1146 
[Thu May 14 09:07:51.324332 2015] [dbd:error] [pid 1609:tid 140068309481344] (20014)Internal error: AH00629: Can't connect to odbc: [dbd_odbc] Invalid DBD Parameters - open returned SQL_ERROR (-1) at /tmp/buildd/apr-util-1.5:1146 
[Thu May 14 09:07:51.324430 2015] [dbd:error] [pid 1609:tid 140068309481344] (20014)Internal error: AH00633: failed to initialise 
[Thu May 14 09:07:51.331767 2015] [dbd:crit] [pid 1608:tid 140068309481344] (20014)Internal error: AH00636: child init failed! 
[Thu May 14 09:07:51.331823 2015] [dbd:crit] [pid 1609:tid 140068309481344] (20014)Internal error: AH00636: child init failed! 

Edit (3):

I okazało się, że nie zarejestrować sterownik:

./myodbc-installer -d -a -n "MySQL ODBC 5.3 Driver" -t "DRIVER=/usr/local/lib/libmyodbc5a.so" 

Następnie zmieniono "dbd_mysql.conf" na:

DBDriver odbc 
DBDParams "CONNECT='DRIVER={MySQL ODBC 5.3 Driver};SERVER=192.168.1.2;DATABASE=MY_DATABASE;UID=MY_USER;PWD=MY_PASSWORD;'" 
DBDMin 1 
DBDKeep 1 
DBDMax 10 
DBDExptime 300 

Ale nadal ten sam problem (error.log):

[Fri May 15 09:38:31.905733 2015] [core:notice] [pid 5215:tid 140452627486592] AH00094: Command line: '/usr/sbin/apache2' 
[Fri May 15 09:38:31 2015] [dbd_odbc] Invalid DBD Parameters - open returned SQL_ERROR (-1) at /tmp/buildd/apr-util-1.5:1146 
[Fri May 15 09:38:31.905842 2015] [dbd:error] [pid 5218:tid 140452627486592] (20014)Internal error: AH00629: Can't connect to odbc: [dbd_odbc] Invalid DBD Parameters - open returned SQL_ERROR (-1) at /tmp/buildd/apr-util-1.5:1146 
[Fri May 15 09:38:31.905888 2015] [dbd:error] [pid 5218:tid 140452627486592] (20014)Internal error: AH00633: failed to initialise 
[Fri May 15 09:38:31 2015] [dbd_odbc] Invalid DBD Parameters - open returned SQL_ERROR (-1) at /tmp/buildd/apr-util-1.5:1146 
[Fri May 15 09:38:31.906424 2015] [dbd:error] [pid 5219:tid 140452627486592] (20014)Internal error: AH00629: Can't connect to odbc: [dbd_odbc] Invalid DBD Parameters - open returned SQL_ERROR (-1) at /tmp/buildd/apr-util-1.5:1146 
[Fri May 15 09:38:31.906528 2015] [dbd:error] [pid 5219:tid 140452627486592] (20014)Internal error: AH00633: failed to initialise 
[Fri May 15 09:38:31.915211 2015] [dbd:crit] [pid 5218:tid 140452627486592] (20014)Internal error: AH00636: child init failed! 
[Fri May 15 09:38:31.915578 2015] [dbd:crit] [pid 5219:tid 140452627486592] (20014)Internal error: AH00636: child init failed! 
+0

Czy działa mysql i/lub czy jest to właściwa lokalizacja dla pliku gniazda? ponieważ apache próbuje użyć pliku gniazda, podczas gdy twoja konfiguracja próbuje powiedzieć, żeby użył połączenia TCP. –

+0

Serwer Mysql działa na innym serwerze. Nie ustawiłem żadnego pliku gniazda. – Joshua

+0

, apache próbuje połączyć się przez gniazdo, więc coś w twojej konfiguracji jest złe. –

Odpowiedz

4

DBDParams muszą być oddzielone przecinkami: DBDParams param1=value1[,param2=value2] http://httpd.apache.org/docs/2.4/mod/mod_dbd.html

+0

Zmieniłem ";" do "," 'DBDParams" DRIVER = {sterownik MySQL ODBC 5.3}, SERVER = 192.168.1.2, DATABASE = MY_DATABASE, UID = MY_USER, PWD = MY_PASSWORD "', wciąż ten sam błąd: 'Nieprawidłowe parametry DBD - otwórz zwróconą wartość SQL_ERROR (-1) ' – Joshua

+0

Moja odpowiedź pomoże ci w pierwszym przypadku z' DBDriver mysql' W drugim przypadku wydaje się, że dbd cant 'znaleźć sterownik ODBC przez podaną nazwę. –

+0

Dzięki, to działa! Konfiguracja: 'DBDriver mysql DBDParams "Host = 192.168.1.2 użytkownik = MY_USER przechodzą = MY_PASSWORD, nazwa_bd = MY_DATABASE" DBDMin 1 DBDKeep 1 DBDMax 10 DBDExptime 300 DBDPersist On' – Joshua

0

w moim.conf spróbować

[client] 
protocol=tcp 

Odniesienie Connecting to the MySQL Server dostarcza wyjaśnienie, w jaki sposób zastąpić metody domyślnej połączenia.

W tekście podano informacje, które wartości można umieścić w pliku my.conf. Zasadniczo w pliku opcji można podać argument, który można przekazać do polecenia mysql w wierszu poleceń (np. --protocol) bez kreskόw.

Powiązane problemy