Es existieren jede Menge Tutorials, in denen beschrieben wird, wie man ODBC mit MySQL unter Linux zum Laufen bekommt. Leider sind die meisten davon nicht als Tutorial konzipiert und die darin beschriebenen Lösungen arbeiten oft weder zuverlässig noch stabil.
Die folgende Variante wurde auf einem Ubuntu-14.04-Server (MySQL 5.5.37, Apache 2.4.7, PHP 5.5.9, unixODBC 2.2.14) getestet und läuft bisher stabil.
Stellen Sie sicher, dass Sie Root-Rechte auf Ihrem System besitzen, entweder indem Sie sich als Root-User anmelden:
su root
oder indem Sie das „sudo“-Präfix vor jedem Befehl auf der Konsole notieren:
sudo ls
sudo vi
...
Installieren und konfigurieren Sie MySQL:
apt-get install mysql-server mysql-client
Installieren Sie die ODBC-Treiber:
apt-get install libmyodbc unixodbc-bin
Ermitteln Sie das Verzeichnis, in dem die ODBC-Treiber abgelegt sind:
find / -name 'lib*odbc*.so'
OUTPUT (BEISPIEL):
/usr/lib/i386-linux-gnu/odbc/libodbcnnS.so
/usr/lib/i386-linux-gnu/odbc/libodbctxtS.so
/usr/lib/i386-linux-gnu/odbc/libodbcdrvcfg1S.so
/usr/lib/i386-linux-gnu/odbc/libodbcmyS.so
/usr/lib/i386-linux-gnu/odbc/liboraodbcS.so
/usr/lib/i386-linux-gnu/odbc/libodbcpsqlS.so
/usr/lib/i386-linux-gnu/odbc/liboplodbcS.so
/usr/lib/i386-linux-gnu/odbc/libodbcminiS.so
/usr/lib/i386-linux-gnu/odbc/libmyodbc.so
/usr/lib/i386-linux-gnu/odbc/libodbcdrvcfg2S.so
Erstellen Sie Ihre eigene ODBC-Installationsdatei:
vi /etc/odbcinst.ini
Fügen Sie dies in Ihre odbcinst.ini ein:
[myodbc_mysql]
Description = ODBC for MySQL
Driver = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/libodbcmyS.so
UsageCount = 1
Ermitteln Sie das MySQL-Socket-Verzeichnis:
mysqladmin -u root -p version
AUSGABE (BEISPIEL):
Server version 5.5.37-0ubuntu0.14.04.1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 7 hours 14 min 15 sec
Erstellen Sie Ihre ODBC-Konfigurationsdatei:
vi /etc/odbc.ini
Fügen Sie dies in Ihre odbc.ini ein:
[myodbc_mysql_dsn] # Ihr System-DSN
Description = description of your DSN
Driver = myodbc_mysql # benutzerdef. Treibername
Server = localhost # oder ggf. externe IP
Port = 3306 # oder ggf. benutzeref. Port
Socket = /var/run/mysqld/mysqld.sock # Socket, siehe oben
Database = mysqldb1 # MySQL DB-Name oder leer
Option = 3
ReadOnly = No
Installieren Sie den ODBC-Treiber:
odbcinst -i -d -f /etc/odbcinst.ini
Installieren Sie Ihren System-DSN:
odbcinst -i -s -l -f /etc/odbc.ini
Testen Sie, ob Ihr System-DSN erfolgreich installiert wurde:
odbcinst -s -q
AUSGABE (BEISPIEL):
[myodbc_mysql_dsn]
Testen Sie, ob Sie per ODBC eine Verbindung mit Ihrer MySQL-Datenbank herstellen können:
isql -v myodbc_mysql_dsn MYSQLUSER MYSQLUSERPASSWORD
AUSGABE (BEISPIEL):
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+