Erro ODBC conectando-se ao MySQL

0

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.

    
por Paumaz 09.05.2015 / 12:05

1 resposta

0

Depois de pesquisar um pouco mais, descobri que a resposta era a configuração do MySQL. No /etc/mysql/my.cnf , o MySQL estava apenas escutando na porta 3306 para o tráfego local. Isso foi corrigido removendo a linha bind-address = 127.0.0.1 no arquivo my.cnf .

    
por Paumaz 17.05.2015 / 11:04