您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

unixODBC安装(mysql Ubuntu)

2025/12/3 13:18:47发布39次查看
这几天真是郁闷死了,基本每天都在编译安装qt和unixodbc,无奈总会出现些莫名其妙的错误。首先,我承认我linux玩地不熟,但这些开源软件产商之间的兼容性也太差了吧。所以还是制定个标准比较好,大家都遵守一个约定。从这个意义来说,微软的垄断,还是有一定
      这几天真是郁闷死了,基本每天都在编译安装qt和unixodbc,无奈总会出现些莫名其妙的错误。首先,我承认我linux玩地不熟,但这些开源软件产商之间的兼容性也太差了吧。所以还是制定个标准比较好,大家都遵守一个约定。从这个意义来说,微软的垄断,还是有一定的好处的。
      最终qt还是没有安装成功,此前有一个版本,经过小的改动已经能编译安装成功了,不知为什么,后来怎么也安装不上,晕阿。后来发现,安装unixodbc可以不启用qt功能,虽然没有图形界面,但核心功能是有的。况且,这个驱动管理器最终还要移植到一个嵌入式操作系统上,相互依赖的组件越多,组件也越难移植。下个星期把unixodbc移植到vxworks上,估计问题不少......
      结合网络上下载的一些资料,把最近工作的的东西总结下。
      1.安装unixodbc组件:
      (1).在ubuntu下,利用新立德下载命令,很容易就能安装unixodbc
      apt-get  install  unixodbc
      (2)利用源码,编译安装(我用的版本是unixodbc-2.2.14)
      # tar vxzf unixodbc-2.2.14.tar.gz
      # cd unixodbc-2.2.14
      # ./configure --enable-gui=no (不利用qt画界面,添加--enable-gui=no)
      # make
      # make install      
      通过上面介绍的两种方法,就把unixodbc组件安装成功了。
    2.测试unixodbc组件是否能用,即是否能通过数据源访问数据库。
    (1)安装mysql,同样可以利用新立德下载管理工具。
        apt-get install mysql-server  mysql-client      
    (2)注意:安装mysql后,并没有安装mysql的odbc驱动,因此,还需下载对应的驱动
       apt-get install libmyodbc
    (3)写配置文件,建立自己的数据源
      unixodbc的配置文件主要是usr/local/etc/odbcinst.ini以及usr/local/etc/odbc.ini。前者用于配置驱动程序,后者用于保存系统dsn。刚才安装了mysql的驱动程序,需要把它的配置信息填写到/etc/odbcinst.ini内。现在打开你所喜爱的编辑器,编辑/etc/odbcinst.ini:[mysql]
description = mysql
driver for linux driver = /usr/lib/odbc/libmyodbc.so
setup = /usr/lib/odbc/libodbcmys.so
fileusage = 1
配置信息依次是驱动程序描述、驱动程序位置、配置程序位置、驱动程序使用次数。实际的驱动程序位置依linux发行版的不同而有所差异。 ubuntu通常位于/usr/lib/odbc/下。suse位于/usr/lib/unixodbc/。redhat等发行版可能有所不同。
然后是配置dsn,接下来我们创建一个名为hustmysqldb的dsn。编辑usr/local/etc/odbc.ini文件
[hustmysqldb]
description = the database for hustmysql
trace = on
tracefile = stderr
driver = mysql
server = localhost
user = root
password = mypassword
port = 3306
database = hustmysql

在配置文件里,dsn的名字即为div的名字。在配置信息中,有一部分配置项是odbc使用的,另一部分则由驱动程序处理。如果操作完全正确的话,现在odbc已经成功了。可以试下isql命令操作刚配置的dsn。
(4)测试dsn
$ isql hustmysqldb -v 
+---------------------------------------+
| connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       | +---------------------------------------+
注:-v参数是为了显示调试信息,便于出错时,显示信息方便调试。
另外,贴一点关于mysql的常用命令。
1.启动mysql:mysqld_safe &
2.停止mysql:mysqladmin -uroot -ppassw0rd shutdown 注意,u,p后没有空格
3. 设置mysql自启动:把启动命令加入/etc/rc.local文件中
4. 允许root远程登陆:
1)本机登陆mysql:mysql -u root -p (-p一定要有);改变数据库:use mysql;
2)从所有主机:grant all privileges on *.* to root@% identified by passw0rd with grant option;
3)从指定主机:grant all privileges on *.* to root@192.168.11.205 identified by passw0rd with grant option; flush privileges;
4) 进mysql库查看host为%的数据是否添加:use mysql; select * from user;
5. 创建数据库,创建user:
1) 建库:create database test1;
2) 建用户,赋权:grant all privileges on test1.* to user_test@% identified by passw0rd with grant option;
3)删除数据库:drop database test1;
6. 删除权限:
1) revoke all privileges on test1.* from test1@%;
2) use mysql;
3) delete from user where user=root and host=%;
4) flush privileges;
8. 显示所有的数据库:show databases; 显示库中所有的表:show tables;
9. 远程登录mysql:mysql -h ip -u user -p
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product