1. 首页 > 最新分享

MySQL数据库服务器的配置 mysql数据库服务启动失败 INNODB

作者:admin 更新时间:2025-05-28
摘要:随着互联网的发展和自由软件软件的日益活跃,越来越多的人开始将各种数据库应用于自己的网络应用中。于是,各种各样的数据库系统出现在互联网的舞台上,最常见的数据库有O'Reilly Network的MySQ,MySQL数据库服务器的设置 mysql数据库服务启动失败 INNODB,MySQL数据库服务器的配置 mysql数据库服务启动失败 INNODB

 

随着互联网的进步和自在软件软件的日益活跃,越来越多的人开始将各种数据库应用于自己的网络应用中。于是,各种各样的数据库体系出现在互联网的舞台上,最常见的数据库有O'Reilly Network的MySQL 和PostgreSQL Inc的 PostgreSQL,在互联网有着不同的应用和用户群。除了这些之后象oracle、sybase、infomix等大型数据库也开始渐渐给Linux平台移植,使得Linux下的数据库日益呈现多样化和专业化的动向。

1.何故要运用数据库

为了建立交互站点,你需要运用数据库来存储来自访问者的信息。例如,你要建立壹个 职业说明服务的站点,你就需要存储诸如个人简历,所感兴趣的职业等等这样的信息。 创建动态网页也需要运用数据库,如果你想显示符合来访者标准的最好的职业,你就需要从数据库中取出这份职业的信息。你将会发现,在许多情况下需要运用数据库。

2.怎样取得数据库软件

现下流行的Linux数据库基本都可以通过INTERNET下载的到,你可以从下面内容多少地方下载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服务器
"data" 日志文件, 数据库
"include" 包含(头)文件
"lib" 库文件
"scripts" mysql_install_db
"share/mysql " 错误消息文件
"sql-bench" 基准程序

源代码分发在你配置并编译后进行配置。缺省地,配置流程将文件配置在"/usr/local"下的下<SPAN title="常规词语,单击这里可以查看解释" style="BACKGROUND-IMAGE: url(C:PROGRA~1!SUNVDFKC3000
ormmark.gif); BACKGROUND-POSITION: left bottom; BACKGROUND-REPEAT: repeat-x; CURSOR: hand" )>列子</SPAN>目录(表.2):

表.2

目录 目录的内容
"bin" 客户程序和脚本
"include/mysql" 包含(头)文件
"info" Info格式的文档
"lib/mysql" 库文件
"libexec" mysqld服务器
"share/mysql" 错误消息文件
"sql-bench" 基准程序和crash-me测试
"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
#./configure
#make
#make install
#make clean

这样的快速配置方式就把mysql配置成体系的默认情形

3.2.2.配置配置:

用上述的方式对源码解包后,就可以根据自己的需要利用configure对Mysql进行配置配置了

1.Configure选项:

configure脚本给你壹个很大的控制权来怎样配置你的MySQL。你运用configure命令行的选项进行。你也可以用正确的环境变量影响于configure。对于壹个由configure支持的选择列表,运行这个命令:
#./configure -- help

一些更常用的configure选项见下面的描述:

* 只编译MySQL客户库和客户程序而不是服务器,运用--without-server选项:

# ./configure --without-server

如果你没有壹个 C++ 编译器,mysql将不编译(有壹个客户程序需要C++)。在这种情况下,你可以去掉configure里面测试C++编译器的代码,接着运行带有 --without-server选项的./configure。编译流程步将仍然尝试构造mysql,然而你可以忽略任何关于" mysql.cc "的警告。(如果make停止,尝试make -k告知它即使出错继续剩下的构造流程)。

* 如果你不想要位于"/usr/local/var"目录下面的日志(log)文件和数据库,运用类似于下列configure命令的壹个:

* #./configure --prefix=/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的命令:

#./configure --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock

注意给出的文件必须一个完全途径!

* 如果你想编译静态链接程序运行configure:

* #./configure --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static

* 如果你正在运用gcc而且没有配置libg++或libstdc++,你可以告知configure运用gcc作为C++编译器:

#CC=gcc CXX=gcc ./configure
当你运用时gcc作为C++编译器是,它将不试图链接libg++或libstdc++。如果构造失败而且产生有关编译器或链接器的错误,不能创建共享库"libmysqlclient.so.#"("#"一个版本号), 你可以通过为configure指定--disable-shared选项来化解此难题。在这种情况下,configure将不构造壹个共享libmysqlclient.so.#库。

* 你可以配置MySQL对于非NULL的列不运用DEFAULT列值(即,不允许列是NULL)。这导致INSERT语句产生壹个错误,除非你明确地为全部标准非NULL值的列指定值。为了禁止运用缺省值,这样运行configure:
# CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure

* 缺省地,MySQL运用ISO-8859-1(Latin1)字符集。为了改变缺省配置,运用--with-charset选项目:

#./configure -- with-charset= gb2312
CHARSET可以是big5、cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312 gbk、german1、hebrew、 hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7、win1251或win1251ukr其中一个。注意:如果你想要改变字符集,你必须在配置期间做make distclean!如果你想在服务器和客户之间变换字符,你应该看一下SET OPTION CHAR动作ER SET命令。如果你在创建了任何数据库表之后改变字符集,你将必须对每个表运行myisamchk -r -q,否则你的索引也许不正确地排序。(如果你配置了MySQL,创建一些表,接着从头配置MySQL运用壹个不同的字符集而且从头配置它,这时就也许发生这种情况。)

* 为了配置MySQL带有调试代码,运用--with-debug选项:

#./configure --with-debug
这导致包含壹个安全的内存分配器,能发现一些错误和并提供关于正在发生的事务的输出。

2.编译Mysql:

配置完Mysql就可以进行编译了

#make

3.配置Mysql:

#make install

这步体系会把mysql配置到指定的位置,大家假设体系把mysql配置到了/usr/local/下,到这就完成了Mysql体系的源码方法配置、编译和配置了。

3.3.用RPM包进行配置

除了运用mysql的源码配置外,Mysql还提供了RPM方法