Come Installare il Driver ODBC MySQL su Ubuntu 16.04?
Il compito apparentemente facile di installare il driver ODBC MySQL su Ubuntu 16.04 si è rivelato una sfida. Questo problema è derivato dall’aggiornamento del driver che gli sviluppatori di Ubuntu non sono riusciti a gestire.
Se ha installato l’ultima versione di Ubuntu 16.04 sul suo sistema, potrebbe aver già incontrato un intoppo nel tentativo di trovare il driver 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
In precedenza, MySQL poteva essere accessibile tramite applicazioni basate su ODBC, dopo aver installato il driver ODBC utilizzando un semplice comando di Terminale:
apt-get install libmyodbc
Per quanto riguarda l’ultima versione, tutti gli sforzi per cercare il driver ODBC nel repository di Ubuntu sono vani: di tutti i repository elencati nelle fonti software, nessuno di essi include il pacchetto libmyodbc. Secondo la storia delle versioni di Ubuntu, il pacchetto esisteva ma è stato eliminato a causa di un certo bug.
MySQL 5.7, a differenza di altre versioni, limita i simboli disponibili in libmysqlclient20. Sembra che MyODBC utilizzi alcuni di questi simboli, quindi non può essere installato da libmysqlclient-dev.
In realtà, mantenere MyODBC in Ubuntu è una questione discutibile, poiché non ci sono dipendenze strette su di esso, ed è un’alternativa predefinita per libreoffice-canzeley-client.
Quindi, MyODBC che utilizza funzioni di libmysqlclient incompatibili con MySQL 5.7 non è supportato da Ubuntu 16.04 al momento. Una volta completato il lavoro su MySQL 5.7, gli sviluppatori di Ubuntu potrebbero reinserirlo nella release. Tuttavia, c’è una possibilità che ciò non accada mai.
Se ha software che richiede assolutamente il driver ODBC MySQL, è possibile configurarne uno e farlo funzionare su Ubuntu 16.04. Per farlo, segua i passaggi seguenti:
- Scarichi il driver ODBC per Ubuntu 15.10 (mysql-connector-odbc-5.3.6-linux-ubuntu15.10-x86-64bit.tar.gz) da questa pagina.
- Estragga i file:
tar -xvf mysql-connector-odbc-5.3.6-linux-ubuntu15.10-x86-64bit.tar.gz
- Copi il driver nella cartella ODBC:
sudo cp mysql-connector-odbc-5.3.6-linux-ubuntu15.10-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
- Lo installi:
sudo 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;"
Verifichi il suo funzionamento:
- Crei DSN:
sudo mysql-connector-odbc-5.3.6-linux-ubuntu15.10-x86-64bit/bin/myodbc-installer -s -a -c2 -n "test" -t "DRIVER=MySQL;SERVER=127.0.0.1;DATABASE=mysql;UID=root;PWD=123456"
- Si connetta al database e lo interroghi:
radik@radik-VirtualBox:~$ isql test +—————————————+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +—————————————+ SQL> show tables +——————————————————————+ | Tables_in_mysql | +——————————————————————+ | columns_priv | | db | | engine_cost | | event | | func | ……….. +——————————————————————+
- Otterrà finalmente la seguente configurazione dei file:
radik@radik-VirtualBox:~$ cat /etc/odbc.ini [test] Driver=MySQL SERVER=127.0.0.1 UID=root PWD=123456 DATABASE=mysql PORT=3306 radik@radik-VirtualBox:~$ cat /etc/odbcinst.ini [MySQL] Driver=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so UsageCount=1
Il driver ODBC per MySQL è installato. Il suo software ora ha la possibilità di stabilire una connessione con MySQL direttamente tramite TCP/IP.
Il suo MySQL o un altro database contiene informazioni sensibili che richiedono una protezione robusta? Sta cercando conformità con regolamenti come GDPR, SOX o HIPAA? Scopra come il software di sicurezza, audit e mascheramento dei dati di DataSunrise può aiutarla. Scopra la nostra protezione dei dati di persona: Pianifichi una demo online o inizi la sua prova gratuita oggi. Scopra come proteggiamo le sue informazioni critiche.