Gostaria de saber se alguém poderia ajudar com um problema que não consigo resolver com o ODBC para MySQL. Eu sou razoavelmente novo no Linux, então qualquer ajuda que possa ser oferecida seria útil.
Se isso ajudar, estou executando o Ubuntu 14.04 x64 em duas máquinas VirtualBox.
Instalei o servidor MySQL em uma máquina que parece estar funcionando, pois posso criar bancos de dados, tabelas, inserir e remover dados e executar consultas sem qualquer problema. Eu criei um banco de dados chamado my_db
e um usuário chamado db_root
no MySQL.
Agora estou tentando conectar-me a este servidor MySQL de outra máquina, mas parece que não consigo fazer a conexão ODBC funcionar. Eu olhei para várias instruções online, mas elas praticamente dão o mesmo conjunto de instruções.
Começou com a instalação unixODBC
, unixODBC-dev
e libmyodbc
. Em seguida, editei o arquivo /etc/odbcinst.ini
. O meu parece: -
[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
Em seguida, edite o arquivo /etc/odbc.ini
. O meu parece: -
[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 =
Aqui é onde algumas instruções mudam. Alguns dizem que deve haver um arquivo chamado mysql.sock
ou mysqld.sock
no diretório /var/lib/mysql
e esse arquivo deve ser definido como o caminho para o SOCKET
no arquivo odbc.ini
. Eu não tenho nenhum diretório mysql
dentro de /var/lib
e procurando em minha máquina por mysql.sock
e mysqld.sock
aparece em branco. Algumas instruções incluem o campo SOCKET
no arquivo odbc.ini
.
Todas as instruções dizem, teste sua conexão com o comando algo como echo "select 1" | isql -v mysql-connector
. Eu sempre recebo o mesmo erro de [S1000][unixODBC][MySQL][ODBC 5.1 Driver]Can't connect to MySQL server on '192.168.1.1' (111)
.
Estou procurando há dias, mas parece que não consigo encontrar nada que possa me apontar na direção certa para resolver isso.