Plesk-Fehler beim Hinzufügen eines Abonnements: ODBC-Fehler # 08S01 kann keine Verbindung zu lokalem MySQL herstellen [geschlossen]

0

Ich erhalte diesen Fehler nach dem Update von MySQL auf 5.6 (Plesk 11.5, Neuinstallation) unter Verwendung des offiziellen MySQL-Repository direkt nach dem Hinzufügen eines neuen Abonnements.

Internal error: ODBC error #08S01: [unixODBC][MySQL][ODBC 5.3(w) Driver]Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Message ODBC error #08S01: [unixODBC][MySQL][ODBC 5.3(w) Driver]Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
File     aps_php.php
Line    11933
Type    Exception

Wie auch immer die Datenbank funktioniert, ich kann problemlos auf phpMyAdmin unter Einstellungen -> Datenbankserver zugreifen. PHP 5.5 mit Remi-Repository.

# yum list installed | grep -i mysql
mysql-community-client.x86_64   5.6.17-4.el6                   @mysql56-community
mysql-community-common.x86_64   5.6.17-4.el6                   @mysql56-community
mysql-community-libs.x86_64     5.6.17-4.el6                   @mysql56-community
mysql-community-libs-compat.x86_64
                                5.6.17-4.el6                   @mysql56-community
mysql-community-release.noarch  el6-5                          installed
mysql-community-server.x86_64   5.6.17-4.el6                   @mysql56-community
mysql-connector-odbc.x86_64     5.3.2-1.el6                    @mysql-connectors-community
perl-DBD-MySQL.x86_64           4.013-3.el6                    @base
php-mysqlnd.x86_64              5.5.11-1.el6.remi              @remi-php55

Installierte Bibliotheken (Hinweis: Ich habe den symbolischen Link manuell erstellt, /usr/lib64/libmyodbc5.soda er nicht vorhanden war):

# ls -l /usr/lib64/ | grep -i myodbc
-rwxr-xr-x.  1 root root  4294072 Mar 27 15:41 libmyodbc5a.so
lrwxrwxrwx.  1 root root       25 May  2 14:43 libmyodbc5.so -> /usr/lib64/libmyodbc5w.so
-rwxr-xr-x.  1 root root  4292472 Mar 27 15:41 libmyodbc5w.so

Inhalt von /etc/odbcinst.ini:

[PostgreSQL]
Description = ODBC for PostgreSQL
Driver      = /usr/lib/psqlodbc.so
Setup       = /usr/lib/libodbcpsqlS.so
Driver64    = /usr/lib64/psqlodbc.so
Setup64     = /usr/lib64/libodbcpsqlS.so
FileUsage   = 1

[MySQL]
Description = MySQL driver for Plesk
Driver      = /usr/lib64/libmyodbc5.so
Setup       =
FileUsage   = 1
Driver64    = /usr/lib64/libmyodbc5.so
Setup64     =
UsageCount  = 1

[MySQL ODBC 5.3 Unicode Driver]
Driver     = /usr/lib64/libmyodbc5w.so
UsageCount = 1

[MySQL ODBC 5.3 ANSI Driver]
Driver     = /usr/lib64/libmyodbc5a.so
UsageCount = 1

Jede Hilfe, die ich sehr geschätzt habe.

user34295
quelle
Diese Frage scheint nicht zum Thema zu gehören, da es sich um eine Frage handelt working with a service provider's management interface, such as cPanel.
HopelessN00b

Antworten:

1

Beeindruckend. Wir diskutieren gerade über https://stackoverflow.com/questions/23428301/correct-way-of-updating-php-mysql-on-a-running-plesk-11-5-server :

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
Oleg Neumyvakin
quelle
Toll. Neugierig, was das Problem verursacht.
Marco Marsala
Wie ich sehe, geschieht dies, wenn der mysql- und der odbc-Connector aus verschiedenen Quellen installiert werden. ODBC-Bibliotheken (libmyodbc5) verweisen daher auf den alten Speicherort von mysql.sock, da dieser Pfad innerhalb der lib-Binärdatei kompiliert wird.
Oleg Neumyvakin
Es ist mein Fall. Ich habe Plesk auf CentOS 5, aber ich habe ein Update auf MySQL 5.5 von einem anderen Repo durchgeführt (CentOS 6 Repo bot nur MySQL 5.1 an). Ich erinnere mich, dass das Fehlen von ODBC zur Aktualisierung vom Parallels-Support behoben wurde (wahrscheinlich auch das Plesk-Repo). Aber das war vor Monaten. Vor kurzem habe ich einen Neustart durchgeführt und dann habe ich das Problem bemerkt. Vielleicht hat der Neustart gelöschte / temporäre Dateien. Gibt es eine Möglichkeit, dieses Update dauerhaft zu machen, oder sollte ich MySQL oder ODBC aus richtigen Quellen neu installieren (und wie)?
Marco Marsala
1
Um die Verbindung nach dem Neustart des Servers beizubehalten, fügen Sie am Anfang von /etc/init.d/mysqld die folgende Zeichenfolge hinzu: if [! -L /tmp/mysql.sock]; dann ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock; fi
Oleg Neumyvakin
okay. Es ist wertlos, neu zu installieren?
Marco Marsala