随着互联网的发展和自由软件的日益活跃,越来越多的人开始将各种数据库应用到自己的网络应用中。因此,各种数据库系统出现在互联网的舞台上。最常见的数据库是O'Reilly Network的mysql和PostgreSQL Inc的PostgreSQL,它们在互联网上有不同的应用和用户群。另外,大型数据库如oracle、sybase、infomix等。都逐渐移植到Linux平台上,使得Linux下的数据库日益多样化和专业化。
1.为什么使用数据库?
为了建立一个交互式网站,你需要使用一个数据库来存储访问者的信息。比如你要建立一个就业服务网站,你需要存储你的简历,你感兴趣的工作等信息。创建动态网页也需要使用数据库。如果你想展示符合访问者要求的最佳工作,你需要从数据库中取出该工作的信息。你会发现很多情况下都需要用到数据库。
2.如何获取数据库软件?
现在,大多数流行的Linux数据库都可以从网上下载。您可以从以下位置下载MySql数据库:
Mysql:截止到本书出版,mysql的最新版本号是3.23.22。
http://www.mysql.com
3.MySQL的安装和使用:
3.1.安装前的准备工作:
MySQL至少需要Linux 2.0。
MySQL的Perl支持需要Perl 5.004_03或更高版本。
Mysql Linux下的安装有两种:1)源代码安装,获取Mysql安装tar包后自行编译安装;2)二进制安装,使用MYSQL编译的二进制文件,主要以RPM的形式。
通过将二进制发行版解压缩到您选择的安装位置(通常为'/usr/local/mysql ')来安装它,并在那里创建以下目录(表1):
表1
目录的内容
“Bin”客户端和mysqld服务器
数据日志文件,数据库
“Include”包括(标题)文件。
“Lib”库文件
脚本' mysql_install_db
“Share/mysql”错误消息文件
“Sql-bench”基准程序
源代码是在您配置和编译之后分发和安装的。默认情况下,安装步骤会将文件安装在SPAN title=' general words '/usr/local '下。点击这里查看解释' style=' background-image:URL(C:progra ~ 1!SUNVDFKC3000
ORM mark . gif);背景-位置:左下方;背景-重复:重复-x;光标:手’)列表/SPAN目录(表2):
表2
目录的内容
“Bin”客户端程序和脚本
“Include/mysql”包含(头)文件。
“信息”信息格式的文档
Lib/mysql库文件
Libexec的mysqld服务器
“Share/mysql”错误消息文件
Sql基准程序和碰撞测试
Var '数据库和日志文件。
在安装目录中,源代码安装的布局在以下方面不同于二进制安装:
* mysqld服务器安装在“libexec”目录,而不是“bin”目录。
*数据目录是“var”而不是“data”。
* mysql_install_db安装在“/usr/local/bin”目录中,而不是“/usr/local/mysql/scripts”目录中。
*头文件和库目录是“include/mysql”和“lib/mysql”,而不是“include”和“lib”。
3.2.用mysql源码包安装
您需要以下工具来构建和安装MySQL源代码:
* GNU gunzip解压发行版。
*适当的tar拆包和分发。GNU tar是众所周知的工作。
*运行ANSI C编译器。Gcc=2.8.1,egcs=1.0.2,SGI C和SunPro C是一些已知可以工作的编译器。当使用gcc时,不需要libg。Gcc2.7.x有一个bug,导致无法编译一些完全合法的C文件,比如‘SQL/SQL _ base . cc’。如果只有gcc2.7.x,必须升级gcc才能编译MySQL。
*一个优秀的make程序。GNU make总是被推荐,有时也是必要的。如果你有问题,我们建议试试GNU make3.75或更新的版本。
*您必须拥有系统的root权限。
3.2.1.快速安装:
其实mysql源代码是一个非常适合linux初学者安装的数据库,快速安装极其简单。默认情况下,mysql安装在/usr/local/下,包括它的BIN文件和数据结构。
# tar zxvf tarfile.tar.gz
# cd mysql_src_dir
#./配置
#制造
#进行安装
#变得干净
这种快速安装方法将mysql安装到系统的默认状态。
3.2.2.配置和安装:
用上述方法解包源代码后,可以根据自己的需要使用configure安装配置Mysql。
1.配置选项:
configure脚本可以让您更好地控制如何配置MySQL。您可以使用配置命令行上的选项。您还可以使用正确的环境变量来配置。对于configure支持的选择列表,运行以下命令:
#./configure - help
下面介绍了一些更常用的配置选项:
*仅编译MySQL客户端库和客户端程序,而不是服务器,使用- without-server选项:
# ./configure -无服务器
如果没有C编译器,mysql就不会编译(有一个客户端程序需要C)。在这种情况下,您可以删除configure中的代码来测试C编译器,然后运行。/configure with-with-with-server选项。编译步骤仍然会尝试构造mysql,但是您可以忽略任何关于“mysql.cc”的警告。(如果make停止,尝试make -k告诉它即使有错误也要继续其余的构建步骤)。
*如果不希望日志文件和数据库位于“/usr/local/var”目录中,请使用类似于以下configure命令的命令:
* #./configure -前缀=/usr/local/mysql
* #./configure-prefix=/usr/local-localstatedir=/usr/local/MySQL/data
第一个命令更改了安装前缀,这样所有东西都安装在“/usr/local/mysql”下,而不是默认的“/usr/local”下。第二个命令保留默认的安装前缀,但是覆盖数据库目录默认目录(通常是'/usr/local/var '),并将其更改为/usr/local/mysql/data。
*如果您使用的是Linux,并且希望MySQL的套接字位于缺省位置之外的某个位置(通常在目录'/tmp '或'/var/run '),请使用如下配置命令:
#./configure-with-UNIX-socket-path=/usr/local/MySQL/tmp/MySQL . sock
注意,给定的文件必须是绝对路径!
*如果您想编译一个静态链接程序并运行configure:
* #./configure-with-client-LD flags=-all-static-with-mysqld-LD flags=-all-static
*如果您使用gcc并且没有安装libg或libstdc,您可以告诉configure使用gcc作为C编译器:
#CC=gcc CXX=gcc。/配置
当你使用gcc作为C编译器时,它不会试图链接libg或libstdc。如果构造失败,并且出现有关编译器或链接器的错误,则无法创建共享库“libmysql client . so . # ”(“#”是版本号)。您可以通过为configure指定- disable-shared选项来解决这个问题。在这种情况下,configure不会构造共享的libmysqlclient.so.#库。
*可以设置MySQL不使用非空列的默认列值(即列不允许为空)。这将导致INSERT语句出错,除非您为需要非空值的空列显式指定值。要禁止使用默认值,请按如下方式运行configure:
# cxx flags=-DDONT _ USE _ DEFAULT _ FIELDS。/配置
*默认情况下,MySQL使用ISO-8859-1(Latin1)字符集。要更改默认设置,请使用- with-charset来选择项目:
#./configure - with-charset=gb2312
字符集可以是big5、win1251、cp1257、捷克语、丹麦语、dec8、dos、euc_kr、gb2312 gbk、german1、希伯来语、hp8、匈牙利语、koi8_ru、koi8_ukr、latin1、latin2、ujis、swe7。注意:如果要更改字符集,必须在配置时进行disTCLean!如果你想改变服务器和客户端之间的字符,你应该看看设置选项字符集命令。如果在创建任何数据库表之后更改字符集,则必须为每个表运行myisamchk -r -q,否则索引可能无法正确排序。(如果您安装MySQL,创建一些表,然后重新配置MySQL以使用不同的字符集并重新安装,可能会发生这种情况。)
*要使用调试代码配置MySQL,请使用-with-debug选项:
#./带调试的配置
这导致包含了一个安全的内存分配器,它可以发现一些错误并提供关于正在发生的事情的输出。
2.编译Mysql:
配置完Mysql,就可以编译了。
#制造
3.安装Mysql:
#进行安装
在这一步,系统会将mysql安装到指定的位置。我们假设系统将mysql安装到/usr/local/,这样就完成了Mysql系统的源代码配置、编译和安装。
3.3.用RPM包安装
除了使用mysql源代码安装,Mysql还提供RPM模式。