Установка драйвера MySQL ODBC в Linux Mint
ODBC – это стандартный интерфейс между базой данных и приложением, взаимодействующим с ней. Наличие подобного стандарта позволяет приложению на клиентском компьютере получать доступ к любой базе данных на сервере, используя SQL.
У организации, в которой я работаю, есть несколько сайтов с калькуляторами, для расчета стоимости изготовления фотокниг, печатей и штампов. Для оформления заказов мы используем 1С, поэтому появилась мысль выгружать расчеты с сайтов в программу. В общем то ни чего нового мы не придумали, поэтому через день 1С-ка замечательно отрабатывала заказы с сайтов через ODBC-драйвер на машинах под ОС Windows используя COMОбъекты.
Все бы ни чего, но появилась потребность подключаться к сайтам с машин под управлением OC Linix Mint, а так как COMОбъекты это “фишка” Windows, естественно все перестало работать.
В редакции платформы 1С 8.2.14 появилась возможность устанавливать связь с внешними источниками данных и работает она с ними так же через механизм ODBC, но без использования COMОбъектов. Т.е. установив ODBC драйвер нам потребовалось бы только поправить обработку подключения к базе данных сайта.
Установка ODBC драйвера
Поиск в интернете сразу же выдал список сайтов с описанием процесса установки, правда на ОС Ubuntu, который сводился к выполнению простой команды:
apt-get install libmyodbc
Ну что же, в Linux Mint одним из стандартных репозиториев является убунтовский. Все просто – одна команда и можно работать! Пробуем и… сталкиваемся с проблемой поиска драйвера ODBC.
# apt-get install libmyodbc Reading package lists... Done Building dependency tree Reading state information... Done Package libmyodbc is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'libmyodbc' has no installation candidate
Оказывается такого пакета больше не существует. Согласно архивам его удалили после обнаружения соответствующего бага.
Поэтому все становится несколько сложнее.
- Установим unixODBC, если не установлен :
sudo apt-get install unixodbc
- С сайта MySQL скачиваем последнюю, стабильную версию драйвера для Ubuntu (я взял mysql-connector-odbc-5.3.10-linux-ubuntu17.10-x86-64bit.tar.gz).
- Распаковываем его:
tar -xvf mysql-connector-odbc-5.3.10-linux-ubuntu17.10-x86-64bit.tar.gz
- Копируем драйвер в папку для ODBC:
sudo cp mymysql-connector-odbc-5.3.10-linux-ubuntu17.10-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
- Инсталлируем:
mysql-connector-odbc-5.3.10-linux-ubuntu17.10-x86-64bit/bin/myodbc-installer -d -a -n "MySQL" -t "DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;"
- Настройка ODBC выполняется редактированием файлов odbcinst.ini и odbc.ini. В моем случае, для работы с 1С мне нужно настроить файл /etc/odbcinst.ini, который используется для перечисления установленных драйверов баз данных ODBC:
[MySQL] Description = ODBC for MySQL Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc5a.so Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmy5S.so FileUsage = 1
Теперь можно проверить видит ли ODBC драйвер для MySQL
odbcinst -q -d
Если все сделано правильно, мы должны увидеть следующее:
[MySQL]
Хороший ман, спасибо!