一、安装unixODBC
可以在 unixODBC 主页上获取:http : //www.unixodbc.org/download.html。
使用yum包管理器在基于 RedHat/Fedora 的系统上安装 unixODBC :
yum -y install unixODBC unixODBC-devel
使用zypper包管理器在基于 SUSE 的系统上安装 unixODBC :
zypper in unixODBC-devel
二、安装 unixODBC 驱动程序
应为该数据库安装 unixODBC 数据库驱动程序,该驱动程序将被监控。unixODBC 有一个支持的数据库和驱动程序列表:http : //www.unixodbc.org/drivers.html。在某些 Linux 发行版中,数据库驱动程序包含在包存储库中。
例:使用yum包管理器在基于 RedHat/Fedora 的系统上安装 MySQL 数据库驱动程序:
yum install mysql-connector-odbc
使用zypper包管理器在基于 SUSE 的系统上安装 MySQL 数据库驱动程序:
zypper in MyODBC-unixODBC
三、配置 unixODBC
1.ODBC 配置是通过编辑odbcinst.ini和odbc.ini文件来完成的。要验证配置文件位置,请输入:
[root@localhost lib64]# odbcinst -j
unixODBC 2.3.7
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
2. odbcinst.ini用于列出已安装的 ODBC 数据库驱动程序:
[root@Zabbix-Server ~]# cat /etc/odbcinst.ini
# Example driver definitions
# Driver from the postgresql-odbc package
# Setup from the unixODBC package
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/psqlodbcw.so
Setup = /usr/lib/libodbcpsqlS.so
Driver64 = /usr/lib64/psqlodbcw.so
Setup64 = /usr/lib64/libodbcpsqlS.so
FileUsage = 1
# Driver from the mysql-connector-odbc package
# Setup from the unixODBC package
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
Driver64 = /usr/lib64/libmyodbc5.so
Setup64 = /usr/lib64/libodbcmyS.so
FileUsage = 1
#安装本例 mysql odbc 驱动后,会多出如下驱动信息
[MySQL ODBC 8.0 Unicode Driver]
Driver=/usr/lib64/libmyodbc8w.so
UsageCount=1
[MySQL ODBC 8.0 ANSI Driver]
Driver=/usr/lib64/libmyodbc8a.so
UsageCount=1
参数 | 描述 |
---|---|
mysql | 数据库驱动程序名称。 |
Description | 数据库驱动程序描述。 |
Driver | 数据库驱动程序库位置。 |
3. odbc.ini用于定义数据源:
[test]
Description = MySQL test database
Driver = MySQL ODBC 8.0 Unicode Driver #注意此处选择新安装的mysql数据库驱动
Server = 127.0.0.1
User = root
Password = xxx
Port = 3306
Database = zabbix
属性 | 描述 |
---|---|
test | 数据源名称 (DSN)。 |
Description | 数据源描述。 |
Driver | 数据库驱动程序名称 - 在 odbcinst.ini 中指定 |
Server | 数据库服务器 IP/DNS。 |
User | 用于连接的数据库用户。 |
Password | 数据库用户密码。 |
Port | 数据库连接端口。 |
Database | 数据库名称。 |
4. 要验证 ODBC 连接是否成功工作,应测试与数据库的连接。这可以通过isql实用程序(包含在 unixODBC 包中)来完成:
[root@localhost lib64]# isql test
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
注意:如果出现如下报错
[root@Zabbix-Server ~]# isql test
[ISQL]ERROR: Could not SQLConnect
检查 /etc/odbcinst.ini 文件中数据库驱动 "Driver" 参数信息是否与下载的数据库驱动 .so 文件路径一致。本例通过yum下载,所以通过rpm -ql命令查询
本例中修改此路径后正常,或者 更换新版本数据库驱动尝试