Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104645084
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Mysql/postgreSQL

2008-05-26 09:13:25

作者:天极软件 来源:天极软件

MySQL在Linux上使用 LinuxThreads 。如果你正在使用一个没有glibc2的老的Linux版本,你必须在尝试编译MySQL前安装LinuxThreads。

注意:但你做INSERT DELAYED时,所用的包括2.1.1及以前的glibc版本在pthread_mutex_timedwait处理上有一个致命错误,如果你正在使用INSERT DELAYED,你必须把下列补丁加到你的glibc库中:http://MySQL 3.23.7包含了对这个错误的一个临时解决办法。

如果你不能启动mysqld或如果mysql_install_db不工作,请继续读下去!这仅发生在有LinuxThreads问题或libc/glibc库为题的Linux系统上。有很多简单的解决办法让MySQL工作!最简单是使用针对Linux x86的二进制版本的MySQL(不是RPM),这个版本的一个好的方面是它可能比你编译你自己的任何版本快10%!见10.2.1 编译和链接如何影响 MySQL 的速度

二进制分发的一个已知问题是与使用libc的更老的Linux系统(如RedHat 4.x 或 Slackware),你将得到有关主机名解决的一些非致命问题。见4.6.3.1 Linux注意事项

使用libc.so.5.3.12,myisamchk将挂起,升级到最新libc以解决这个问题。

当使用 LinuxThreads 时,你将看到最少 3 进程在运行。这些事实上的线程,对LinuxThreads管理器将有一个线程,一个线程处理连接,还有一个线程处理告警和信号。

如果你用ps看到了一个死掉的mysqld守护进程,这通常意味着你发现了MySQL里面的一个错误或你有一个被破坏的数据库表。见18.1 如果MySQL总是崩溃怎么办

如果你正在使用LinuxThreads并且mysqladmin shutdown不工作,你必须升级到 LinuxThreads 0.7.1 或更新。

如果你正在使用 RedHat ,你可能得到象这样的错误:

/usr/bin/perl is needed...
/usr/sh is needed...
/usr/sh is needed...

如果是这样,你应该升级rpm版本到“rpm-2.4.11-1.i386.rpm”“rpm-devel-2.4.11-1.i386.rpm”(或以后)。

你能从ftp://ftp.redhat.com/updates/4.2/i386得到RedHat 4.2的库文件升级,或对其他分发

如果你正在链接你自己的MySQL客户并且得到错误:

ld.so.1: ./my: fatal: libmysqlclient.so.4: open failed: No such file or directory

当执行它们时,这个问题可用下列方法之一避免:

  • 用下列标志链接客户(而不是-Lpath): -Wl,r/path-libmysqlclient.so
  • 拷贝libmysqclient.so“/usr/lib”
  • 在运行你的客户程序前,把libmysqlclient.so所在目录的路径名加到LD_RUN_PATH的环境变量中。

如果你正在使用 Fujitsu 编译器(fcc / FCC),编译MySQL你将有一些问题,因为 Linux 头文件面向gcc

下列configure行应该与fcc/FCC工作:

CC=fcc CFLAGS="-O -K fast -K lib -K omitfp -Kpreex -D_GNU_SOURCE -DCONST=const 
-DNO_STRTOLL_PROTO" CXX=FCC CXXFLAGS="-O -K fast -K lib  -K omitfp 
-K preex --no_exceptions --no_rtti -D_GNU_SOURCE -DCONST=const 
-Dalloca=__builtin_alloca -DNO_STRTOLL_PROTO '-D_EXTERN_INLINE=static __inline'" 
./configure --prefix=/usr/local/mysql --enable-assembler 
--with-mysqld-ldflags=-all-static --disable-shared --with-low-memory
阅读(1022) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~