|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
MySQL的双许可模式意味着,那些希望对数据库具有额外控制的人可以直接从数据库厂商那儿得到帮助。MySQLAB公司提供了支持和维护服务,诸如代码更新和补丁修补服务等,每年订阅费为大约3000美元。一年前,我成了Linux用户的一员,可是多年利用Windows,让我以为Linux有的工具利用不很习气。就拿数据库来讲,在Windows下,开辟一些数据库驱动的网站大概小型办理体系时能够选择利用Access。Access不但易于利用,并且十分便利。转到Linux上后,做一样事变时发明MySQL是一个不错的选择,但其没有图形界面,利用起来不是很便利,因而但愿可以找到办理的计划。经由一段工夫的探访,终究找到懂得决举措,即把MySQL和OpenOffice分离利用。依据材料显现,完成MySQL和OpenOffice协同事情的办法有良多种,不外多数过于庞大,难于完成。在此我先容两种安装和设置历程。 我利用的操纵体系是RedHat8.0,一样的办法用于别的的刊行版大概稍有分歧。在安拆卸置过程当中,必要MySQL和unixODBC软件包(OpenOffice缺省情形下已安装好了)。这些软件包在RedHat8.0的光盘中都已自带,但在我的测试中,利用安装盘的办法仿佛没法乐成。 安拆卸置办法一 1.下载软件 所必要的软件包有:- >mysql-3.23.55-pc-linux-i686.tarMySQL-client-3.23.55-1.i386MySQL-shared-3.23.55-1.i386MyODBC-2.50.39-1.i386unixODBC-2.2.4.tar
复制代码 这些软件包可分离可从以下站点下载:- http://mirrors.sunsite.dk/mysql/Downloads/MySQL-3.23/http://mysql.azc.uam.mx/Downloads/MyODBC/http://www.unixodbc.org
复制代码 下面所列的是我感到速率对照快的站点,现实上在良多镜像站点都能够下载到这些软件包。 2.安装软件 利用以下命令(以root身份)来检察之前是不是安装过:- rpm-qa|grep-imysqlrpm-e(发明的一切软件包)updatedbrpm-qa|grep-iodbcrpm-e(一切发明的软件包)
复制代码 切换至下载的软件包地点的目次,以root用户的身份实行以下命令:- $cd/usr/local$tarxzfmysql-3.23.55-pc-linux-i686.tar.gz$ln-smysql.3.23.55-pcmysql$cdmysql$scripts/mysql_install_db$chown-Rroot.$chown-Rmysqldata$chgrp-Rmysql.$bin/safe_mysqld--user=mysql&
复制代码 上面运转一个MySQL会话:- $./mysql-utestWelcometotheMySQLmonitor.Commandsendwith;org.YourMySQLconnectionidis1toserverversion:3.23.55Typehelp;orhforhelp.Typectoclearthebuffer.
复制代码 这申明MySQL已乐成安装,如今输出:- mysql>selectversion();+-----------+|version()|+-----------+|3.23.55|+-----------+1rowinset(0.01sec)
复制代码 利用命令“s”来检察一些基础信息:- mysql>s--------------./mysqlVer11.18Distrib3.23.55,forpc-linux(i686)Connectionid:4Currentdatabase:Currentuser:test@localhostCurrentpager:stdoutUsingoutfile:Serverversion:3.23.55Protocolversion:10Connection:LocalhostviaUNIXsocketClientcharacterset:latin1Servercharacterset:latin1UNIXsocket:/tmp/mysql.sockUptime:6min57secThreads:1Questions:6Slowqueries:0Opens:6Flushtables: 1Opentables:0Queriespersecondavg:0.014
复制代码 为了完成我们的目标,必要安装别的三个软件包。和MySQL分歧的是,这三个软件都是以RPM的格局给出的。切换至软件包地点的目次,运转以下命令:- [root@myserverodbc]#su[root@myserverodbc]#rpm-UvhMySQL-client-3.23.55-1.i386.rpmPreparing...###########################################[100%]1:MySQL-client###########################################[100%][root@myserverodbc]#rpm-UvhMySQL-shared-3.23.55-1.i386.rpmPreparing...###########################################[100%]1:MySQL-shared###########################################[100%][root@myserverodbc]#rpm-UvhMyODBC-2.50.39-1.i386.rpmPreparing...###########################################[100%]1:MyODBC###########################################[100%]
复制代码 这些软件包的安装一样平常都不会有甚么成绩。上面来安装unixODBC。在我写本文时最新的unixODBC是2.2.5版,供应下载的文件是unixODBC-2.2.5.tar.gz。切换至软件包地点目次,运转以下命令:- tarxzfunixODBC-2.2.5.tar.gz
复制代码 切换至unixODBC-2.2.5目次,运转下述命令:- su./configuremakemakeinstall
复制代码 可是,这个安装历程其实不顺遂,呈现了一些成绩。起首是一些库文件的地位成绩,这两个库文件是libodbcmyS.so和libmyodbc.so,它们一样平常位于/usr/local/lib目次之下。而在安装过程当中,odbcinst.ini设置文件中唆使这两个文件的地位却在usr/lib目次之下。以是必要对/etc/odbcinst.ini文件举行一些编纂。编纂完成后,我的odbcinst.ini文件内容以下所示:- [MySQL]Description=ODBCDriverforMySQLDriver=/usr/local/lib/libmyodbc.soSetup=/usr/local/lib/libodbcmyS.soFileUsate=1CPTimeout=CPReuse=
复制代码 然后再创立一个/etc/odbc.ini文件,内容以下所示:- Description=MySQLdatabasetestDriver=MySQLServer=localhostDatabase=testPort=3306Socket=Option=Stmt=
复制代码 [MySQL-test] 可是,当我依照手册完成这个文件时,发明本来unixODBC已建好了这个文件,不外它不在/etc目次之下,而是在/usr/local/etc目次下。因而我把上述两个编纂好的文件拷贝至该目次中。 别的,安装库unixODBC时还必要KDE软件开辟工具包(个中已包括了Qt)和X软件开辟工具包,不然安装历程将没法举行下往。假如没有安装该软件包,那末能够选择:入手下手选单→体系工具→软件包。这时候就会启动RedHat软件保证理工具,选中上述两项内容(如所示),点击断定举行安装。
3.举行测试 起首看一看ODBC和MySQL是不是能够准确相同。我利用isqlMySQL-test-v命令来举行测试,了局呈现了“CouldnotSQLConnect”的毛病信息。由于我利用了显现具体信息的-v选项,因而体系提醒没法找到/var/lib/mysql/mysql.sock的信息。厥后我发明MySQL是把mysql.sock文件存储在了/tmp目次下,而ODBC则是在/var/lib/mysql目次下查找该文件,难怪它们不克不及顺遂相同。 如今以root身份来创立一个/var/lib/mysql目次,随后运转以下命令:- chown-Rmysql.mysql/var/lib/mysql
复制代码 然后从头启动mysqld,而且指了然用户名和socket的地位,命令以下所示:- bin/safe_mysqld--user=mysql--socket=/var/lib/mysql/mysql.sock&
复制代码 再测试一遍,了局统统一般。如今能够举行以下测试了:- /isqlMySQL-test-v+---------------------------------------+|Connected!||||sql-statement||help[tablename]||quit|||+---------------------------------------+SQL>selectversion();+----------+|version()|+----------+|3.23.55|+----------+1rowsaffected1rowsreturned
复制代码 经由后面不休地失利,我都不赶信任软件用户手册了。接着,启动OpenOfficeWriter,然后选择工具→数据源。这时候,又一个毛病呈现,OpenOffice显现说没法找到libodbc.so。我把libodbc.so从/usr/local/lib拷贝到/usr/lib后,成绩就办理了。因而,统统都一般了。是OpenOffice的表计划窗口,在这个窗口中,我很简单就完成了一个表的计划,真是太棒了。
固然已乐成,可是我仍是不以为轻松,究竟这个办法过于庞大。因而,我入手下手追求更复杂的办理举措。光阴不负故意人,最初,我终究找到懂得决的举措,也就是我将要给人人先容的办法二。 安拆卸置办法二 这类办法的基础头脑是,经由过程RHN让RedHat本人举行软件更新和依附性的反省,至于怎样设置RHN,请参考本刊2003年第1期“利用RHN让RedHatLinux主动更新”的文章。 在RedHat8.0中,安装的步骤以下: 第一步up2datemysqlmysql-serverandmysql-devel 假如网速充足快,那末这个步骤也不会花太多的工夫。在我的呆板上,这个历程只消费了4分钟,如所示。
第二步/usr/bin/mysql_install_db 第三步chown-Rmysql.mysql/var/lib/mysql 第四步chmod-R666/var/lib/mysql 第五步/usr/bin/safe_mysqld-umysql& 第六步up2dateunixODBCunixODBC-devel 第七步up2date--srcMyODBC 第八步rpmbuild--rebuild/var/spool/up2date/MyODBC-2.50.39-7.src.rpm 第九步rpm-Uvh--force/usr/src/redhat/RPMS/i386/MyODBC-2.50.39-7.i386.rpm 第十步参照办法一编纂/etc/odbc.ini和/etc/odbcinst.ini 可是不知是甚么缘故原由,每次当我利用up2date列表中的软件包时都有一些成绩。大概是某一次的安装过程当中,我没有清算好体系,大概是当目次树下有云云多的软件包时,up2date没法准确应对。不论怎样说,我仍是准确完成了安装。 小结 如今再来做别的一件事变,就是从刚创建的表中提取内容,而且打印地点标签。完成这个步骤消费了我大批的工夫。依照匡助体系的唆使,我也许懂得了设置的历程,可是最初没有乐成。而且,这个设置历程十分的不直不雅,更况且有的步骤基本就没法一般事情。 为此,我在网长进行了大批检索,而且分离到OpenOffice.org和MySQL的论坛中举行了发问,但成绩都没有失掉办理。工夫不负故意人,最初我终究获知本来堕落的缘故原由竟然是OpenOffice.org的匡助体系文件档有一些毛病。我终究找到了可让它一般事情的办法。 当我第一次实验打印地点标签时,MySQL提醒堕落信息:“Toomanyconnections.”,本来页面中的每个标签都必要一个本人的毗连。因而,我做了两件事变来办理这个成绩。起首,把上面这些到场到了/etc/my.cnf的MySQL章节中:- set-variable=max_connections=200
复制代码 中断了正在运转的历程以后,在从头启动之前实行了sumysql。我在网上看到有一个MySQL开辟职员倡议,假如不以root身份来启动mysqld的话能够办理“Toomanyconnection”的成绩。因而我以MySQL的身份从头启动了mysql,而且在命令行中到场了一个用户参数。如许改动今后,数据库的会见就一般了。固然,究竟哪个办法无效还要经由一些实行。 全部利用过程当中,我的感到是OpenOffice.org要远比我设想的庞大和壮大很多,它能够和各类数据库办理体系一同事情。假如你的SOHO办公情况必要数据库会见和操纵,那末我倡议不要即刻切换至OpenOffice.org,而是先对其举行测试,看一看其是不是能够满意你的需求。必要指出的是,任何软件不管是代码仍是文档,城市有一些毛病,以是不要对利用过程当中呈现的一些成绩年夜加埋怨,应当以更主动的立场来发明息争决成绩。
平台即服务PaaS、基础设施即服务IaaS、软件即服务SaaS都是我们比较熟悉的MySQL学习教程,现在又出现了数据库即服务DBaaS,以基于云的方式存储结构化数据。 |
|