Difference between revisions of "Odbc"

From ArchWiki
Jump to: navigation, search
(MySQL and ODBC)
(71 intermediate revisions by 16 users not shown)
Line 1: Line 1:
=MySQL and ODBC Setup=
#REDIRECT [[Open Database Connectivity]]
This document shows how to set up ODBC in Arch first on your localhost and then extends the steps to setup ODBC on
a server.
==Packages To Install==
Start by installing the unixodbc and myodbc
# pacman -Sy unixodbc
# pacman -Sy myodbc
==Configure Your ini Files==
Configure your "odbc.ini", ".odbc.ini", and "odbcinst.ini" file.
Startinig with odbcinst.ini, Su to root and set up your /etc/odbcinst.ini file as follows
Description    = ODBC Driver for MySQL
Driver          = /usr/lib/libmyodbc.so
Setup          = /usr/lib/libodbcmyS.so
FileUsage      = 1
Next set up your "odbc.ini" and ".odbc.ini" file. "It should be pointed out here that the ".odbc.ini" file is just like the "odbc.ini" file except that it is a file that gets saved in the user's home dir.
Description    = MySQL database test
Driver          = MySQL
Server          = localhost
atabase        = test
Port            = 3306
Socket          = /tmp/mysql.sock
Option          =
Stmt            =
==Create A Symbolic Link==
Next we need to create a symlink for libmyodbc.so. To do this we need to go to /usr/lib/myodbc3-3.51.12.so or
what the version of the module is and set up a symlink to libmyodbc.so
ln -s /usr/lib/libmyodbc3-3.51.12.so ./libmyodbc.so
==Renamed Modules==
OK, for this step I cheapskated it a little and simply renamed these files to agree with version of ODBC Arch
was looking for.
cp libcrypto.so.0.9.8 libcrypto.so.0.9.7
cp libcrypto.so.0.9.8 libcrypto.so.0.9.7
==Test Datbase==
On my machine I run phpmyadmin so I already had a test database to use. If you don't have a test database then
create one in MySQL.
==Testing the ODBC==
To set the ODBC connection run
isql MySQL-test
If you have a problem connecting then run
isql MySQL-test -v
==A Couple Very Useful Websites==
this was the tutorial and here are the steps we did to get around the error messages
For a remote connection there are a couple of extra steps
1) hosts.all needs "mysqld: ALL"
2) verify port 3306 is listening by "netstat -ant" in shell
3) grant permission to individual IP in mysql
Grant access to new database
If you want to add new database called foo for user bar and remote IP then you need to type following commands at mysql> prompt:
Grant access to existing database
Let us assume that you are always making connection from remote IP called for database called webdb for user webadmin then you need to grant access to this IP address. At mysql> prompt type following command for existing database:
mysql> update db set Host='' where Db='webdb';
mysql> update user set Host='' where user='webadmin';
From remote system type command:
$ mysql -u webadmin –h –p
You can also use telnet to connect to port 3306 for testing purpose:
$ telnet 3306
Description    = MySQL database test
Driver          = MySQL
Server          =
Trace          = Off
TraceFile      = stderr
Database        =foo
Port            = 3306
USER            = adowns
Password        = boston
Socket          = /tmp/mysql.sock
Option          =
Stmt            =

Latest revision as of 10:32, 21 February 2015