怎么配置mariadb主从配置的odbc

&&&&&&&&&&&&&&&&&&
posts - 437,comments - 44,trackbacks - 2
1.安装先装 mysql-connector-odbc(或 mariadb-connector-odbc )和unixODBChttps://downloads.mariadb.org/mariadb/repositories/#mirror=opencas&distro=CentOS&distro_release=centos7-amd64--centos7&version=10.0https://downloads.mariadb.org/connector-odbc/2.0.10/#mirror=biznet
MariaDB [(none)]&
MariaDB [(none)]& install plugin connect soname 'ha_connect.so';
yum install unixODBC unixODBC-devel
2.配置 /etc/odbc.ini[myodbc3]Driver
= /usr/lib64/libmyodbc5.soDescription
= MySQL ODBC 5.1 Driver DSNSERVER
= 192.1.1.200PORT
= 3306USER
= ods_userPassword
= 123456Database
= mysqlOPTION
3.配置/etc/odbcinst.ini[MySQL]Description = ODBC for MySQLDriver = /usr/lib64/libmyodbc5.soSetup = /usr/lib64/libodbcmyS.soFileUsage = 1
4.测试连接[root@rac1 ~]# isql myodbc3 -v+---------------------------------------+| Connected!
|| sql-statement
|| help [tablename]
|+---------------------------------------+SQL&
5.配置oracle环境变量export ORACLE_BASE=/u01/app/oracleexport GRID_HOME=/u01/gridexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export ORACLE_SID=rac1export BASE_PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$BASE_PATH:/usr/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/hs/lib:/usr/lib64export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibODBCINI=/etc/odbc. export ODBCINIODBCSYSINI=/ export ODBCSYSINIODBCINSTINI=/etc/odbc.iniexport ODBCINSTINI
6.配置监听listener.ora:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.100)(PORT = 1522))
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(PROGRAM = dg4odbc)
(SID_NAME= myodbc3)
(ORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1)
(ENVS=LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/lib:/usr/lib:/usr/local/lib:/u01/app/oracle/product/11.2.0/db_1/hs/lib:/usr/lib64)
tnsname.ora:
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.100)(PORT = 1522))
(CONNECT_DATA =
(SID = myodbc3))
7.配置odbc监听路径:$ORACLE_HOME/hs/admin注意:名字要跟odbc配置的名字一样 我这里是myodbc3
cat initmyodbc3.oraHS_FDS_CONNECT_INFO = myodbc3HS_FDS_TRACE_LEVEL = ONHS_FDS_TRACE_FILE_NAME = odbc_test.logHS_FDS_TRACE_LEVEL = 4HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.soHS_FDS_SUPPORT_STATISCTICS = FALSEHS_LANGUAGE = AMERICAN_AMERICA.WE8ISO8859P1HS_FDS_SQLLEN_INTERPRETATION=32set ODBCINI = /etc/odbc.ini
8.测试下监听 tnsping myodbc3
9.创建dblinkSQL&create public database link myodbc connect to "ods_user" identified by "123456" using'myodbc3';SQL& select count(*) from "t_user"@
参考资料:
/articles/V3qYrme
http://blog.itpub.net//viewspace-750732/
/mariadb/39.html
阅读(...) 评论()当前位置:&>&&>&
使用MariaDB Connect存储引擎访问Oracle数据库的方法
发布时间:
来源:服务器之家
MariaDB在10.0版本中新增了Connect存储引擎,有了Connect存储引擎后可以方便在MariaDB以及MySQL中方便地访问其他如Oracle、DB2、SQLServer数据库等,还可以访问CSV、XML以及Excel等外部文件。
这里我们从编译MariaDB 10.0.6开始介绍如何访问Oracle数据库。
首先从官方下载MariaDB 10,我下载的时候是10.0.6,首先编译下:
[root@Percona&~]#&cd&mariadb-10.0.6
[root@Percona&mariadb-10.0.6]#&./BUILD/compile-pentium64
testing&nocona&...&ok
+++&/bin/rm&-rf&configure
+++&/bin/rm&-rf&CMakeCache.txt&CMakeFiles/
+++&path=./BUILD
+++&.&./BUILD/autorun.sh
+++++&dirname&./BUILD/compile-pentium64
++++&path=./BUILD
这里只节选部分,在编译完成后便可以make
install安装了,安装完成后使用脚本mysql_install_db初始化数据库,剩下的从安装Connect存储引擎开始。首先查看已编译的存储引擎,由于在MariaDB
10中connect存储引擎已编译了:
[root@db&connect]#&ll&-htr&/usr/local/mysql/lib/plugin/
-rw-r--r--&1&mysql&mysql&&227&Nov&15&05:42&daemon_example.ini
-rwxr-xr-x&1&mysql&mysql&414K&Dec&19&20:29&ha_federated.so
-rwxr-xr-x&1&mysql&mysql&224K&Dec&19&20:29&ha_sequence.so
-rwxr-xr-x&1&mysql&mysql&252K&Dec&19&20:29&ha_example.so
-rwxr-xr-x&1&mysql&mysql&305K&Dec&19&20:29&ha_blackhole.so
-rwxr-xr-x&1&mysql&mysql&625K&Dec&19&20:29&ha_federatedx.so
-rwxr-xr-x&1&mysql&mysql&218K&Dec&19&20:29&ha_test_sql_discovery.so
-rwxr-xr-x&1&mysql&mysql&3.8M&Dec&19&20:29&ha_connect.so
-rwxr-xr-x&1&mysql&mysql&4.2M&Dec&19&20:29&sphinx.so
-rwxr-xr-x&1&mysql&mysql&488K&Dec&19&20:29&ha_archive.so
-rwxr-xr-x&1&mysql&mysql&512K&Dec&19&20:29&ha_sphinx.so
-rwxr-xr-x&1&mysql&mysql&&13K&Dec&19&20:29&auth_socket.so
-rwxr-xr-x&1&mysql&mysql&&17K&Dec&19&20:29&adt_null.so
-rwxr-xr-x&1&mysql&mysql&&17K&Dec&19&20:29&mypluglib.so
-rwxr-xr-x&1&mysql&mysql&119K&Dec&19&20:29&locales.so
-rwxr-xr-x&1&mysql&mysql&4.6M&Dec&19&20:29&ha_spider.so
-rwxr-xr-x&1&mysql&mysql&&38K&Dec&19&20:29&dialog.so
-rwxr-xr-x&1&mysql&mysql&263K&Dec&19&20:29&query_response_time.so
-rwxr-xr-x&1&mysql&mysql&205K&Dec&19&20:29&query_cache_info.so
-rwxr-xr-x&1&mysql&mysql&770K&Dec&19&20:29&feedback.so
-rwxr-xr-x&1&mysql&mysql&&35K&Dec&19&20:29&libdaemon_example.so
-rwxr-xr-x&1&mysql&mysql&1.4M&Dec&19&20:29&handlersocket.so
-rwxr-xr-x&1&mysql&mysql&&12K&Dec&19&20:29&auth_0x0100.so
-rwxr-xr-x&1&mysql&mysql&&14K&Dec&19&20:29&dialog_examples.so
-rwxr-xr-x&1&mysql&mysql&&24K&Dec&19&20:29&auth_test_plugin.so
-rwxr-xr-x&1&mysql&mysql&&16K&Dec&19&20:29&mysql_clear_password.so
-rwxr-xr-x&1&mysql&mysql&&18K&Dec&19&20:29&qa_auth_client.so
-rwxr-xr-x&1&mysql&mysql&&13K&Dec&19&20:29&qa_auth_server.so
-rwxr-xr-x&1&mysql&mysql&&24K&Dec&19&20:29&qa_auth_interface.so
-rwxr-xr-x&1&mysql&mysql&&19K&Dec&19&20:29&sql_errlog.so
-rwxr-xr-x&1&mysql&mysql&490K&Dec&19&20:29&semisync_master.so
-rwxr-xr-x&1&mysql&mysql&404K&Dec&19&20:30&semisync_slave.so
[root@db&connect]#
接下来查看MariaDB内安装的存储引擎:
MariaDB&[(none)]&&show&
+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
|&Engine&&&&&&&&&&&&&|&Support&|&Comment&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|&Transactions&|&XA&&&|&Savepoints&|
+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
|&MRG_MyISAM&&&&&&&&&|&YES&&&&&|&Collection&of&identical&MyISAM&tables&&&&&&&&&&&&&&&&&&&&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&InnoDB&&&&&&&&&&&&&|&YES&&&&&|&Supports&transactions,&row-level&locking,&and&foreign&keys&|&YES&&&&&&&&&&|&YES&&|&YES&&&&&&&&|
|&CSV&&&&&&&&&&&&&&&&|&YES&&&&&|&CSV&storage&engine&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&MyISAM&&&&&&&&&&&&&|&DEFAULT&|&MyISAM&storage&engine&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&MEMORY&&&&&&&&&&&&&|&YES&&&&&|&Hash&based,&stored&in&memory,&useful&for&temporary&tables&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&PERFORMANCE_SCHEMA&|&YES&&&&&|&Performance&Schema&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&Aria&&&&&&&&&&&&&&&|&YES&&&&&|&Crash-safe&tables&with&MyISAM&heritage&&&&&&&&&&&&&&&&&&&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
&rows&in&set&(.&sec)
MariaDB&[(none)]&
从这里可以看出虽然connect存储引擎已经编译了但是尚未安装,接下来手工安装下:
MariaDB&[(none)]&&install&plugin&connect&soname&'ha_connect.so';
Query&OK,&&rows&affected&(.&sec)
MariaDB&[(none)]&&show&
+--------------------+---------+-------------------------------------------------------------+--------------+------+------------+
|&Engine&&&&&&&&&&&&&|&Support&|&Comment&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|&Transactions&|&XA&&&|&Savepoints&|
+--------------------+---------+-------------------------------------------------------------+--------------+------+------------+
|&MRG_MyISAM&&&&&&&&&|&YES&&&&&|&Collection&of&identical&MyISAM&tables&&&&&&&&&&&&&&&&&&&&&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&InnoDB&&&&&&&&&&&&&|&YES&&&&&|&Supports&transactions,&row-level&locking,&and&foreign&keys&&|&YES&&&&&&&&&&|&YES&&|&YES&&&&&&&&|
|&CSV&&&&&&&&&&&&&&&&|&YES&&&&&|&CSV&storage&engine&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&MyISAM&&&&&&&&&&&&&|&DEFAULT&|&MyISAM&storage&engine&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&MEMORY&&&&&&&&&&&&&|&YES&&&&&|&Hash&based,&stored&in&memory,&useful&for&temporary&tables&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&CONNECT&&&&&&&&&&&&|&YES&&&&&|&Direct&access&to&external&data,&including&many&file&formats&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&PERFORMANCE_SCHEMA&|&YES&&&&&|&Performance&Schema&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
|&Aria&&&&&&&&&&&&&&&|&YES&&&&&|&Crash-safe&tables&with&MyISAM&heritage&&&&&&&&&&&&&&&&&&&&&&|&NO&&&&&&&&&&&|&NO&&&|&NO&&&&&&&&&|
+--------------------+---------+-------------------------------------------------------------+--------------+------+------------+
&rows&in&set&(.&sec)
MariaDB&[(none)]&
好了,connect存储引擎已经安装好了。接下来安装ODBC驱动以便访问Oracle:
[root@Percona&~]#&yum&install&unixODBC&unixODBC-devel
接下来修改odbc配置文件,在/etc/odbcinst.ini中增加Oracle动态库的配置,在/etc/odbc.ini中增加DSN配置:
[root@Percona&~]#&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
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
Description&&&&&&&=&Oracle&11g
Driver&&&&&&&&&&&&=&/u01/app/oracle/product/11.2.0/client/libsqora.so.11.1
[root@Percona&~]#&cat&/etc/odbc.ini
Driver&&&&&&&&&&&&=&Oracle
ServerName&&&&&&&&=&//192.168.88.3:1521/urpdb
DSN&&&&&&&&&&&&&&&=&lilo
UserName&&=&user_dba
Password&&=&PnfbpE5D
[root@Percona&~]#
这里的Oracle动态库是安装的Oracle客户端。另请注意,在以上配置中Driver参数必需相匹配!接下来使用ODBC提供的工具isql进行简单的严重:
[root@Percona&~]#&isql&-v&lilo&user_dba&PnfbpE5D
+---------------------------------------+
|&Connected!&&&&&&&&&&&&&&&&&&&&&&&&&&&&|
|&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|
|&sql-statement&&&&&&&&&&&&&&&&&&&&&&&&&|
|&help&[tablename]&&&&&&&&&&&&&&&&&&&&&&|
|&quit&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|
|&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&|
+---------------------------------------+
SQL&&select&sysdate&from&
+--------------------+
|&SYSDATE&&&&&&&&&&&&|
+--------------------+
+--------------------+
SQLRowCount&returns&-
&rows&fetched
这里注意如果宝相关的动态库不存在那么一般都是依赖的相关动态库不存在导致的,可以建立相关的软连接。
至此ODBC访问Oracle数据库调试完毕,可以在MariaDB中进行connect存储引擎测试了。另如MariaDB安装的属组是mysql那么建议su
C mysql切换到mysql用户测试下mysql用户用isql工具是否可以顺利的访问远程Oracle实例。
[root@Percona&~]#&mysql&-u&root&-S&/usr/local/mysql/mysql.sock&
Welcome&to&the&MariaDB&monitor.&&Commands&end&with&;&or&g.
Your&MariaDB&connection&id&is
Server&version:&..-MariaDB&Source&distribution
Copyright&(c)&,&,&Oracle,&Monty&Program&Ab&and&others.
Type&''&or&'h'&for&help.&Type&'c'&to&clear&the&current&input&statement.
MariaDB&[(none)]&&use&
Database&changed
MariaDB&[test]&&create&table&T_DATE_OEACLE&&ENGINE=CONNECT&TABLE_TYPE=ODBC&
&&&&-&&tabname='T_DATE'&CONNECTION='DSN=UID=user_PWD=PnfbpE5D';
Query&OK,&&rows&affected&(.&sec)
MariaDB&[test]&&select&*&from&T_DATE_OEACLE;
+------------+
|&TIME&&&&&&&|
+------------+
+------------+
&rows&in&set&(.&sec)
MariaDB&[test]&&insert&into&T_DATE_OEACLE&values(now());
Query&OK,&&row&affected,&&warning&(.&sec)
MariaDB&[test]&&
Query&OK,&&rows&affected&(.&sec)
MariaDB&[test]&&select&*&from&T_DATE_OEACLE;
+------------+
|&TIME&&&&&&&|
+------------+
+------------+
&rows&in&set&(.&sec)
MariaDB&[test]&
最后一点提醒的是,在MariaDB中connect存储引擎默认应该被设计是不考虑事务的,因为即使显示地用begin进行事务控制也无法rollback,因此在涉及到跨数据库访问时最好不要涉及到事务。
Copyright © . 版权所有linux下mysql odbc配置 - 博客频道 - CSDN.NET
分类:Mysql
公司内部用的SAP data service(linux,IP:136)作为DS服务器,使用ODBC连接另外一台mysql数据库服务器(linux IP:129)。所以在136上安装mysql odbc。
要安装mysql odbc,前提是首先安装unixODBC。可以是rpm安装,但有依赖的rpm,比较麻烦(那当然使用yum就另当别论了),也可以是源码编译安装。
一、安装unixODBC
这里选择编译安装(说明:之前有安装rpm包,也不会影响,configure的时候可以自定义安装目录,版本2.3.0)
tar zxvf unixODBC-2.3.0.tar.gz
cd unixODBC-2.3.0
./configure --prefix=/usr/local/lib --includedir=/usr/include --libdir=/usr/local/lib -bindir=/usr/bin --sysconfdir=/etc
make install安装完成之后,生成相应的文件如下
&pre name=&code& class=&sql&& ll /etc/*.ini
-rw-r--r--. 1 root root 233 Jul
7 18:03 /etc/odbc.ini
-rw-r--r--. 1 root root 292 Jul
7 18:59 /etc/odbcinst.ini
ll /usr/local/lib/
-rwxr-xr-x. 1 root root
8 09:11 libodbccr.la
lrwxrwxrwx. 1 root root
8 09:11 libodbccr.so -& libodbccr.so.1.0.0
lrwxrwxrwx. 1 root root
8 09:11 libodbccr.so.1 -& libodbccr.so.1.0.0
-rwxr-xr-x. 1 root root
516782 Jul
8 09:11 libodbccr.so.1.0.0
-rwxr-xr-x. 1 root root
8 09:11 libodbcinst.la
lrwxrwxrwx. 1 root root
8 09:11 libodbcinst.so -& libodbcinst.so.1.0.0
lrwxrwxrwx. 1 root root
8 09:11 libodbcinst.so.1 -& libodbcinst.so.1.0.0
-rwxr-xr-x. 1 root root
501979 Jul
8 09:11 libodbcinst.so.1.0.0
-rwxr-xr-x. 1 root root
8 09:11 libodbc.la
lrwxrwxrwx. 1 root root
8 09:11 libodbc.so -& libodbc.so.1.0.0
lrwxrwxrwx. 1 root root
8 09:11 libodbc.so.1 -& libodbc.so.1.0.0
-rwxr-xr-x. 1 root root 1861881 Jul
8 09:11 libodbc.so.1.0.0 ll -rt /usr/bin
-rwxr-xr-x.
1 root root
8 09:11 isql
-rwxr-xr-x.
1 root root
127763 Jul
8 09:11 dltest
-rwxr-xr-x.
1 root root
8 09:11 odbcinst
-rwxr-xr-x.
1 root root
8 09:11 iusql
-rwxr-xr-x.
1 root root
8 09:11 odbc_config
odbcinst -j
unixODBC 2.3.0
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /etc/odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
二、安装mysql odbc(mysql Connector/ODBC 5.1.11)
同样,也有rpm安装和源码安装。rpm安装比较简单,但可能会有依赖的包。
源码安装在版本5.1之前需要configure、make及make install,5.1及之后的版本只需解压后拷贝库文件即可。
tar zxvf mysql-connector-odbc-5.1.11-linux-el6-x86-64bit.tar.gz
cd mysql-connector-odbc-5.1.11-linux-el6-x86-64bit\lib
cp libmyodbc5.so /usr/lib
./myodbc-installer -d -a -n &MYSQL& -t &DRIVER=/usr/lib/libmyodbc5.SETUP=/usr/lib/libmyodbc5.so&
Success: Usage count is 1
执行完最后一步,查看odbcinst.ini
cat /etc/odbcinst.ini
= /usr/lib/libmyodbc5.so
= /usr/lib/libmyodbc5.so
UsageCount
说明:最后一步可以不做,可以按上例直接配置odbcinst.ini
三、配置odbc数据源
[storefeedback]
Description = The Database for mysql
Trace = On
TraceFile = stderr
Driver = MYSQL
SERVER = *.129
USER = storefeedback
PASSWORD =
PORT = 3306
DATABASE = storefeedback300
CHARSET= UTF8
OPTION = 3
Driver为odbcinst.ini中的配置MYSQL,也可以使用/usr/lib/libmyodbc5.so代替,即可以不配置odbcinst.ini
Charset是字符集;
server是服务器主机名(可以解析)或IP;
其它的都好理解。
四、配置环境变量(可以添加到/etc/profile)
export ODBCSYSINI=/etc
export ODBCINI=/etc/odbc.ini五、测试isql -v storefeedback
+---------------------------------------+
| Connected!
| sql-statement
| help [tablename]
+---------------------------------------+
排名:第14133名
(53)(9)(4)(10)(4)(1)(62)(2)(19)(1)(4)(9)}

我要回帖

更多关于 mariadb 安装配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信