Ik heb mijn VPS geupdate met als voornaamste veranderingen een update van Debian 7.8 naar Debian 8.3 en een update van MySQL 5.5 naar MariaDB 5.5. Ook ben ik van apache met php 5.3 + suphp overgestapt naar apache met nginx reverse proxy met php 5.3 + mod_php. Alles is goed gegaan behalve het functioneren van de databases vanwege de mysql socket die niet kan verbinden.
Ik heb de website aan de praat gekregen door hem te laten verbinden met 127.0.0.1 in plaats van localhost (dus geen mysql.sock nodig)
Andere zaken zoals phpmyadmin, webmail en het MySQL gedeelte in DirectAdmin werken niet door het probleem met de socket, verder klooien met 127.0.0.1 lijkt me ook niet de ideale oplossing.
MariaDB is intact en de service draait
Er is een socket aanwezig (al staat ie niet op de gewoonlijke /tmp/mysql.sock)
Het MySQL gedeelte van DirectAdmin (waar je o.a. databases kan aanmaken of verwijderen) geeft deze foutmelding, een permissiefout
Het ligt niet aan de inloggegevens, want via SSH op MySQL inloggen met de DirectAdmin logingegevens gaat prima
/etc/my.cnf staat in ieder geval op de juiste socket afgesteld, lijkt me?
Hetzelfde lijkt me voor php.ini?
Zie ik iets over het hoofd waarom het zo mis gaat met mysql.sock?
Ik heb de website aan de praat gekregen door hem te laten verbinden met 127.0.0.1 in plaats van localhost (dus geen mysql.sock nodig)
Andere zaken zoals phpmyadmin, webmail en het MySQL gedeelte in DirectAdmin werken niet door het probleem met de socket, verder klooien met 127.0.0.1 lijkt me ook niet de ideale oplossing.
MariaDB is intact en de service draait
code:
1
2
3
4
| server:~# service mysqld status mysqld.service - MySQL database server Loaded: loaded (/etc/systemd/system/mysqld.service; enabled) Active: active (running) since Mon 2016-02-15 20:25:27 CET; 1h 16min ago |
Er is een socket aanwezig (al staat ie niet op de gewoonlijke /tmp/mysql.sock)
code:
1
2
| server:~# find / | grep mysql.sock /home/mysql/mysql.sock |
Het MySQL gedeelte van DirectAdmin (waar je o.a. databases kan aanmaken of verwijderen) geeft deze foutmelding, een permissiefout
code:
1
| Error connecting to MySQL: Can't connect to local MySQL server through socket '/home/mysql/mysql.sock' (13) |
Het ligt niet aan de inloggegevens, want via SSH op MySQL inloggen met de DirectAdmin logingegevens gaat prima
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| root@server:~# mysql -uda_admin -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 514 Server version: 5.5.48-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> status; -------------- mysql Ver 15.1 Distrib 5.5.48-MariaDB, for Linux (x86_64) using readline 5.1 Connection id: 563 Current database: Current user: da_admin@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 5.5.48-MariaDB MariaDB Server Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /home/mysql/mysql.sock Uptime: 1 hour 32 min 33 sec Threads: 1 Questions: 8764 Slow queries: 0 Opens: 350 Flush tables: 2 Open tables: 256 Queries per second avg: 1.578 -------------- |
/etc/my.cnf staat in ieder geval op de juiste socket afgesteld, lijkt me?
code:
1
2
3
| [client] port = 3306 socket = /home/mysql/mysql.sock |
Hetzelfde lijkt me voor php.ini?
code:
1
2
3
4
| ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. ; http://php.net/mysqli.default-socket mysqli.default_socket = /home/mysql/mysql.sock |
Zie ik iets over het hoofd waarom het zo mis gaat met mysql.sock?
