odbc in debian stretch

В 9 (stretch) дебиане убрали пакет libmyodbc из репозитория. Теперь даже при установке пакета mysql-server  в качестве сервера БД поставится mariadb-server:

apt-get install mysql-server

ps uax | grep mysql
mysql     2893  1.1  7.2 653456 73824 ?        Ssl  10:01   0:00 /usr/sbin/mysqld

dpkg -S /usr/sbin/mysqld
mariadb-server-core-10.1: /usr/sbin/mysqld

 Значит необходимо настроить odbc для mariadb, благо ничего сложного.

Если раньше файл /etc/odbcinst.ini примерно выглядел так:

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1
 dpkg -S /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
libmyodbc:amd64: /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so

 dpkg -S /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
odbcinst1debian2:amd64: /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so

То для mariadb driver будет другой:

Driver = /usr/lib/x86_64-linux-gnu/odbc/libmaodbc.so

 Файл libmyodbc.so можно найти здесь: https://downloads.mariadb.com/Connectors/odbc/

 P.S. Если необходимо связать астериск по odbc c mysql, то в чистом stretch у меня это не получилось, в логах астериска будет указано:

Can't open lib '/usr/lib/x86_64-linux-gnu/odbc/libmaodbc.so' : file not found. Проблему решил использованием debian jessie, которую проапргейдили до 9.1. В таком варианте конфиг работает.

 

Please publish modules in offcanvas position.