Интересно, может кто-нибудь помочь с проблемой, которую я не могу решить с ODBC для MySQL. Я довольно плохо знаком с Linux, поэтому любая помощь, которая может быть предложена, будет полезна.
Если это поможет, я запускаю Ubuntu 14.04 x64 на двух машинах VirtualBox.
Я установил сервер MySQL на машине, которая работает, поскольку я могу создавать базы данных, таблицы, вставлять и удалять данные и выполнять запросы без каких-либо проблем. Я создал базу данных с именем my_db
и пользователя с именем db_root
в MySQL.
Сейчас я пытаюсь подключиться к этому серверу MySQL с другого компьютера, но, похоже, не могу установить соединение ODBC. Я просмотрел несколько онлайн-инструкций, но все они в основном дают один и тот же набор инструкций.
Запустили установку unixODBC
, unixODBC-dev
и libmyodbc
. Затем отредактировал файл /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
Затем отредактируйте файл /etc/odbc.ini
. Мой выглядит так: -
[mysql-connector]
Driver = MySQL
Description = ODBC for MySQL
Server = 192.168.1.1
Port = 3306
User = db_root
Password = password
Database = my_db
Option = 3
Socket =
Здесь меняются некоторые инструкции. Некоторые говорят, что в каталоге /var/lib/mysql
должен быть файл с именем mysql.sock
или mysqld.sock
, и этот файл должен быть указан как путь для SOCKET
в файле odbc.ini
. У меня нет каталога mysql
внутри /var/lib
, и поиск в моей машине mysql.sock
и mysqld.sock
оказывается пустым. Некоторые инструкции включают поле SOCKET
в файле odbc.ini
.
Затем все инструкции говорят, проверьте ваше соединение с командой что-то вроде echo "select 1" | isql -v mysql-connector
. Я всегда получаю одну и ту же ошибку [S1000][unixODBC][MySQL][ODBC 5.1 Driver]Can't connect to MySQL server on '192.168.1.1' (111)
.
Я искал несколько дней, но, похоже, не могу найти ничего, что могло бы указать мне правильное решение этой проблемы.
После немного большего количества поиска я нашел, что ответ был установкой MySQL. В /etc/mysql/my.cnf, MySQL только слушал на порте 3306 для локального трафика. Это было зафиксировано путем удаления строки , связывают адресный = 127.0.0.1 в файл my.cnf .