Как установить mysql драйвер
Казалось бы, простая задача установить драйвер ODBC для MySQL в Ubuntu 16.04 свелась к нетривиальному процессу. Всё из-за того, что разработчики Ubuntu не справились с задачей обновления драйвера. Установив последнюю версию Ubuntu 16.04 вы, вероятно, уже столкнулись с проблемой поиска драйвера ODBC:
Доступ к предыдущим версиям MySQL можно было получить через приложения на основе ODBC, установив соответствующий драйвер простой командой:
apt-get install libmyodbc
Что же касается новой версии операционной системы Ubuntu, поиски в ее репозиториях определенно не увенчаются успехом: такого пакета больше не существует. Согласно архивам его удалили после обнаружения соответствующего бага.
Последняя версия MySQL 5.7 в отличие от предыдущих ограничивает символы в библиотеке клиентов libmysqlclient20. Вероятно, в MyODBC используются данные символы, поэтому он не может быть установлен из libmysqlclient-dev.
Вопрос поддержки драйвера MyODBC в Ubuntu остается спорным: каких-либо зависимых от него объектов не имеется, и он является своего рода альтернативой по умолчанию для пакета libreoffice-canzeley-client.
Таким образом, драйвер MyODBC, в котором используются более не совместимые с библиотекой клиентов libmysqlclient функции новой версии MySQL 5.7, пока не поддерживается в Ubuntu 16.04. Как только работа над MySQL 5.7 будет завершена, разработчики Ubuntu, возможно, вернут его. Однако такого может и не произойти.
Если у вас есть необходимость в драйвере MySQL ODBC в UBUNTU 16.04, установить его можно. Для этой цели проделайте следующие шаги:
- С сайта MySQL скачиваем драйвер для Ubuntu 15.10 (mysql-connector-odbc-5.3.6-linux-ubuntu15.10-x86-64bit.tar.gz)
- Распаковываем: tar -xvf mysql-connector-odbc-5.3.6-linux-ubuntu15.10-x86-64bit.tar.gz
- Копируем драйвер в папку для ODBC: sudo cp mymysql-connector-odbc-5.3.6-linux-ubuntu15.10-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
- Инсталлируем mysql-connector-odbc-5.3.6-linux-ubuntu15.10-x86-64bit/bin/myodbc-installer -d -a -n «MySQL» -t «DRIVER=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so;»
Проверяем, что всё работает:
- Создаём DSN: sudo ./bin/myodbc-installer -s -a -c2 -n «test» -t «DRIVER=MySQL;SERVER=127.0.0.1;DATABASE=mysql;UID=root;PWD=123456»
- Подключаемся и делаем запрос:
- В итоге получается следующая конфигурация в файлах:
Драйвер ODBC в UBUNTU 16.04 установлен. Теперь ваше программное обеспечение без труда сможет подключиться к базе данных MySQL по протоколу TCP/IP.
Примечание:
1. Это можно узнать вызвав статический метод QSqlDatabase::drivers() или запустив этот проект (взят отсюда).
2. Для библиотеки Qt5.x.x будет другой результат (например, для Qt5.2.1 он такой), хотя просто так работать все равно не будет.
Следовательно для работы с MySQL надо раздобыть где-нибудь этот драйвер. Варианта два:
1. Собрать самому.
2. Использовать уже готовый.
Примечание:
Для библиотеки Qt5.x.x требуется лишь скопировать библиотечный файл по необходимому пути (см. пункт 9).
Если самостоятельно собирать их нет желания, то переходим к концу пункта 7.
Я же опишу полный процесс компиляции драйвера MySQL и выложу результаты (готовые драйвера).
Для начала, что у нас уже имеется (или уточним пути):
1. Библиотека Qt 4.8.5 установлена в: C:\Qt\4.8.5
2. MinGW установлен в C:\Qt\MinGW
3. Qt Creator 3.0.1 установлен в C:\Qt\Creator3
Последовательность действий:
1. Скачиваем исходники библиотеки Qt: qt-everywhere-opensource-src-4.8.5.zip (269 MB)2. Переносим папку qt-everywhere-opensource-src-4.8.5 и все ее содержимое из скачанного архива в папку C:\tmp. Переименуем qt-everywhere-opensource-src-4.8.5 в src4.
3. Теперь необходимо раздобыть include и lib от MySQL версии 5.5 или 5.1 (для версии 5.6 почему-то не компилируются). В том, какую версию использовать - решать вам. Я разницы не заметил (драйвер скомпилированный с include и lib от MySQL 5.1 прекрасно работает с сервером MySQL 5.5).
Официально все берется тут. Но чтобы не возиться с установкой, я предлагаю скачать отдельно только необходимые нам файлы.
Для MySQL 5.5 скачиваем этот архив (mirror1, mirror2)
Для MySQL 5.1 скачиваем этот архив (mirror1, mirror2)
4. Переносим папку mysql из скачанного архива в C:\tmp
5. Запустим Qt 4.8.5 Command Prompt
6. Перейдем в следующий каталог из данного командного интерпретатора следующей командой:
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\opt\\libmysql.lib" mysql.pro
make
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\opt\\libmysql.lib" mysql.pro "CONFIG+=release"
make
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\libmysql.lib" mysql.pro
make
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\libmysql.lib" mysql.pro "CONFIG+=release"
make
У меня получился такой результат выполнения этих команд. Строки Creating library file: debug\libqsqlmysqld4.a и Creating library file: release\libqsqlmysql4.a означают, что драйвера создались успешно.
В результате нам нужны два файла libqsqlmysqld4.a и qsqlmysqld4.dll из папки debug и два файла libqsqlmysql4.a и qsqlmysql4.dll из папки release.
Вот эти файлы скомпилированные мной:
для MySQL5.1 (mirror1, mirror2)
для MySQL5.5 (mirror1, mirror2)
8. Скопируем полученные файлы драйверов командами:
copy .\debug\libqsqlmysqld4.a C:\Qt\4.8.5\plugins\sqldrivers9. Скопируем библиотечный файл MySQL (так же его можно скачать тут: от MySQL5.1 (mirror1, mirror2) или от MySQL5.5 (mirror1, mirror2)):
copy .\debug\qsqlmysqld4.dll C:\Qt\4.8.5\plugins\sqldrivers
copy .\release\libqsqlmysql4.a C:\Qt\4.8.5\plugins\sqldrivers
copy .\release\qsqlmysql4.dll C:\Qt\4.8.5\plugins\sqldrivers
copy C:\tmp\mysql\lib\libmysql.dll C:\Qt\5.2.1\5.2.1\mingw48_32\binВозможно в новых версиях будут иные пути, главный закон по расположению этого файла - он должен быть в каталоге указанном в системной переменной PATH.
10. Всё, драйвера установлены. Можно проверить запустив этот тестовый проект. Результат:
Как видите, появилась поддержка QMYSQL и QMYSQL3.
Папку C:\tmp и все её содержимое можно удалить.
При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.
ODBC расшифровывается как Open Database Connectivity. Это API, который действует как мост между вашей операционной системой и системой управления базами данных, такой как MySQL. Вам потребуется драйвер ODBC для MySQL для Windows 10 для доступа к базам данных MySQL. С этим драйвером вы можете использовать свои базы данных с многочисленными приложениями. Вот как вы можете установить и настроить драйвер ODBC для MySQL для Windows 10 после установки сервера MySQL.
- Во-первых, откройте эту страницу на сайте MySQL.
- Выберите Microsoft Windows в раскрывающемся меню «Выбор платформы».
- Затем нажмите кнопку Загрузить рядом с Windows (x86, 64-разрядная версия), MSI Installer или Windows (x86, 32-разрядная версия), MSI Installer В зависимости от версии Windows у вас. Например, если это 32-разрядная система, нажмите Windows (32-разрядная версия x86), установщик MSI .
- Теперь откройте мастер установки драйвера MySQL ODBC, чтобы установить его.
- Далее вам необходимо настроить подключение драйвера в Windows. Введите «настроить ODBC» в поле поиска Cortana и затем выберите «Настроить источники данных ODBC», чтобы открыть окно на снимке экрана ниже.
- Откройте вкладку System DSN и нажмите кнопку Добавить , чтобы открыть окно на снимке экрана ниже.
- Затем дважды щелкните драйвер MySQL ODBC из этого списка и нажмите Готово , чтобы открыть окно ниже.
Таким образом, вы можете загрузить и настроить драйвер MySQL ODBC в Windows для локального сервера MySQL. Конфигурация для удаленного сервера MySQL аналогична, за исключением того, что обычно требуется команда предоставления разрешения и пароль.
СУБД MySQL предоставляет приложениям Java возможность соединения с базой данных при помощи драйвера MySQL Connector , который реализует интерфейс API Java Database Connectivity (JDBC) . Этот API является независимым от СУБД стандартом связи языка программирования Java с широким спектром баз данных, электронных таблиц и т.п.
API JDBC позволяет осуществлять следующие операции:
- Устанавливать соединение с базой данных;
- Выполнять SQL запросы;
- Обрабатывать результаты, полученные из базы данных.
Далее мы узнаем, как установить и настроить MySQL Connector/J ( драйвер JDBC ), а также используем его при создании приложения.
Версии MySQL Connector/J :
Версия Connector/J | Версия JDBC | Версия MySQL сервера | Статус |
5.1 | 3.0, 4.0 | 4.1, 5.0, 5.1, 5.5, 5.6, 5.7 | Рекомендуемая версия |
5.0 | 3.0 | 4.1, 5.0 | Выпущенная версия |
3.1 | 3.0 | 4.1, 5.0 | Устаревшая |
3.0 | 3.0 | 3.x, 4.1 | Устаревшая |
MySQL Connector J — это официальный драйвер JDBC для MySQL . Вы можете загрузить последнюю версию драйвера отсюда . Выберите одну из кроссплатформенных версий:
Или версию для Microsoft Windows :
Установка
Вы можете установить пакет драйверов Connector/J , используя либо бинарный установочный файл, либо исходный код. Метод с установочным файлом прост, поскольку он представляет собой набор библиотек и прочих скомпилированных файлов.
Метод с использованием исходного кода пригодится, если вы хотите настроить или изменить процесс установки. Помимо этого нужно будет вручную добавить путь к Connector/J в переменную Java classpath .
MySQL Connector/J поставляется как архив .zip или .tar.gz , содержащий файлы исходных классов. После распаковки архива установите драйвер, поместив MySQL-connector-java-version-bin.jar в ваш classpath . Для этого добавьте полный путь к нему в переменную окружения classpath или укажите его в параметре -cp при старте JVM .
Переменную окружения classpath можно установить в системах Unix , Linux или Mac OS X локально для пользователя в его файле .profile , .login или ином login-файле . Или же установить её, изменив глобальный файл /etc/profile .
Например, добавьте драйвер MySQL Connector J ava в переменную classpath с помощью любой из следующих команд в зависимости от используемой оболочки командной строки:
В Windows 2000 , Windows XP , Windows Server 2003 и Windows Vista можно установить переменную окружения в панели управления.
Установка Java Connector в Microsoft Windows
Выберите и загрузите нужный вам установщик здесь .
Затем выполните следующие шаги :
Дважды щёлкните по файлу установщика.
Соединение с MySQL с помощью MySQL Connector/J
Приведенный ниже пример MySQL Connector показывает, как соединиться с базой данных, разорвать соединение и обработать ошибки.
Версия Java 7 Update 25 (сборка 1.7.0_25-b16):
Чтобы создать jdbc-подключение к базе данных c помощью MySQL Connector ODBC , нужно импортировать следующие пакеты из java.sql :
- sql.Connection ;
- sql.DriverManager ;
- sql.SQLException ;
Приведенный ниже код создаёт соединение с базой данных:
Класс JDBC DriverManager определяет объекты, которые могут соединять приложения Java с драйвером JDBC . Этот класс включает в себя метод getConnection() . Он использует url-адрес jdbc , имя пользователя и пароль, чтобы установить соединение с базой данных, и возвращает объект подключения.
В коде, приведенном выше, мы использовали следующие url-адрес , имя пользователя и пароль:
Компиляция и исполнение кода
Примечание : Путь class path – это путь, по которому Java Runtime Environment (JRE) ищет классы и другие файлы ресурсов. Можно изменить этот путь, используя опции -classpath или -cp некоторых команд Java , когда вы вызываете JWM или другие инструменты JDK , или изменив переменную окружения classpath .
Запросы к данным с использованием MySQL Connector/J
Предположим, что мы хотим получить имена ( first_name, last_name ) и размер зарплаты ( salary ) работников, которые получают больше средней зарплаты и работают в ИТ-отделе.
Структура базы данных ‘ hr’:
Пример таблицы ‘ работники ’ (‘ employees ’) :
Далее следует код Java ( версия 7 Update 25 (сборка 1.7.0_25-b16 ) ) с использованием MySQL Connector J :
Компиляция и исполнение кода
Примечание : Путь class path – это путь к MySQL Connector Java , по которому Java Runtime Environment ( JRE ) ищет классы и другие файлы ресурсов. Можно изменить этот путь, используя опции -classpath или -cp некоторых команд Java , когда вы вызываете JWM или другие инструменты JDK , либо изменив переменную окружения classpath .
Пожалуйста, оставьте ваши мнения по текущей теме статьи. За комментарии, подписки, лайки, дизлайки, отклики огромное вам спасибо!
Дайте знать, что вы думаете по данной теме материала в комментариях. Мы очень благодарим вас за ваши комментарии, отклики, подписки, лайки, дизлайки!
Читайте также: