一年前我成为了Linux用户的一员但是多年使用Windows让我觉得Linux有的工具使用不很习惯就拿数据库来说在Windows下开发一些数据库驱动的网站或者小型管理系统时可以选择使用AccessAccess不仅易于使用而且非常方便转到Linux上后做同样事情时发现MySQL是一个不错的选择但其没有图形界面使用起来不是很方便于是希望能够找到解决的方案经过一段时间的探寻终于找到了解决办法即把MySQL和OpenOffice结合使用根据资料显示实现MySQL和OpenOffice协同工作的方法有很多种不过大都过于复杂难于实现在此我介绍两种安装和配置过程
我使用的操作系统是Red Hat 同样的方法用于其它的发行版可能稍有不同在安装配置过程中需要MySQL和unixODBC软件包(OpenOffice缺省情况下已经安装好了)这些软件包在Red Hat 的光盘中都已经自带但在我的测试中使用安装盘的方法似乎无法成功
安装配置方法一
下载软件
所需要的软件包有
mysqlpclinuxitar
MySQLclienti
MySQLsharedi
MyODBCi
unixODBCtar
这些软件包可分别可从以下站点下载
/
上面所列的是我感觉速度比较快的站点事实上在很多镜像站点都可以下载到这些软件包
安装软件
使用以下命令(以root身份)来查看以前是否安装过
rpm qa grep i mysql
rpm e (发现的所有软件包)
updatedb
rpm qa grep i odbc
rpm e (所有发现的软件包)
切换至下载的软件包所在的目录以root用户的身份执行以下命令
$cd /usr/local
$tar xzf mysqlpclinuxitargz
$ln s mysqlpc mysql
$cd mysql
$scripts/mysql_install_db
$chown R root
$chown R mysql data
$chgrp R mysql
$bin/safe_mysqld user=mysql &
下面运行一个MySQL会话
$/mysql utest
Welcome to the MySQL monitor Commands end with ; or \g
Your MySQL connection id is to server version:
Type help; or \h for help Type \c to clear the buffer
这说明MySQL已经成功安装现在输入
mysql> select version();
++
version()
++
++
row in set ( sec)
使用命令\s来查看一些基本信息
mysql> \s
/mysql Ver Distrib for pclinux (i)
Connection id:
Current database:
Current user: test@localhost
Current pager: stdout
Using outfile:
Server version:
Protocol version:
Connection: Localhost via UNIX socket
Client characterset: latin
Server characterset: latin
UNIX socket: /tmp/mysqlsock
Uptime: min sec
Threads: Questions: Slow queries: Opens: Flush tables:
Open tables: Queries per second avg:
为了实现我们的目的需要安装另外三个软件包和MySQL不同的是这三个软件都是以RPM的格式给出的切换至软件包所在的目录运行以下命令
[root@myserver odbc]#su
[root@myserver odbc]# rpm Uvh MySQLclientirpm
Preparing ########################################### [%]
:MySQLclient ########################################### [%]
[root@myserver odbc]# rpm Uvh MySQLsharedirpm
Preparing ########################################### [%]
:MySQLshared ########################################### [%]
[root@myserver odbc]# rpm Uvh MyODBCirpm
Preparing ########################################### [%]
:MyODBC ########################################### [%]
这些软件包的安装一般都不会有什么问题下面来安装unixODBC在我写本文时最新的unixODBC是版提供下载的文件是unixODBCtargz切换至软件包所在目录运行以下命令
tar xzf unixODBCtargz
切换至unixODBC目录运行下述命令
su
/configure
make
make install
但是这个安装过程并不顺利出现了一些问题首先是一些库文件的位置问题这两个库文件是libodbcmySso和libmyodbcso它们一般位于/usr/local/lib目录之下而在安装过程中odbcinstini配置文件中指示这两个文件的位置却在usr/lib目录之下所以需要对/etc/odbcinstini文件进行一些编辑编辑完成后我的odbcinstini文件内容如下所示
[MySQL]
Description = ODBC Driver for MySQL
Driver = /usr/local/lib/libmyodbcso
Setup = /usr/local/lib/libodbcmySso
FileUsate =
CPTimeout =
CPReuse =
然后再创建一个/etc/odbcini文件内容如下所示
Description = MySQL database test
Driver = MySQL
Server = localhost
Database = test
Port =
Socket =
Option =
Stmt =
[MySQLtest]
但是当我按照手册完成这个文件时发现原来unixODBC已经建好了这个文件不过它不在/etc目录之下而是在/usr/local/etc目录下于是我把上述两个编辑好的文件拷贝至该目录中
此外安装库unixODBC时还需要KDE软件开发工具包(其中已经包含了Qt)和X软件开发工具包否则安装过程将无法进行下去如果没有安装该软件包那么可以选择开始选单→系统工具→软件包这时就会启动Red Hat软件包管理工具选中上述两项内容(如图所示)点击确定进行安装
虽然已经成功但是我还是不觉得轻松毕竟这个方法过于复杂于是我开始寻求更简单的解决办法工夫不负有心人最后我终于找到了解决的办法也就是我将要给大家介绍的方法二
安装配置方法二
这种方法的基本思想是通过RHN让Red Hat自己进行软件更新和依赖性的检查至于如何设置RHN请参考本刊年第期使用RHN让Red Hat Linux自动更新的文章
在Red Hat 中安装的步骤如下
第一步 update mysql mysqlserver and mysqldevel
如果网速足够快那么这个步骤也不会花太多的时间
第二步 /usr/bin/mysql_install_db
第三步 chown R mysqlmysql /var/lib/mysql
第四步 chmod R /var/lib/mysql
第五步 /usr/bin/safe_mysqldu mysql &
第六步 update unixODBC unixODBCdevel
第七步 update src MyODBC
第八步 rpmbuild rebuild /var/spool/update/MyODBCsrcrpm
第九步 rpm Uvh force /usr/src/redhat/RPMS/i/MyODBCirpm
第十步 参照方法一编辑/etc/odbcini和/etc/odbcinstini
但是不知是什么原因每次当我使用update列表中的软件包时都有一些问题也许是某一次的安装过程中我没有清理好系统或者是当目录树下有如此多的软件包时update无法正确应对不管怎么说我还是正确完成了安装
小结
现在再来做另外一件事情就是从刚建立的表中提取内容并且打印地址标签完成这个步骤花费了我大量的时间按照帮助系统的指示我大概了解了配置的过程但是最后没有成功并且这个配置过程非常的不直观更何况有的步骤根本就无法正常工作
为此我在网上进行了大量检索并且分别到和MySQL的论坛中进行了提问但问题都没有得到解决功夫不负有心人最后我终于获知原来出错的原因居然是的帮助系统文件档有一些错误我终于找到了可以让它正常工作的方法
当我第一次尝试打印地址标签时MySQL提示出错信息Too many c