转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> MySql >> 正文
MySQL中文参考手册5(安装MySQL上)         ★★★★

MySQL中文参考手册5(安装MySQL上)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:5214 更新时间:2009/4/22 20:56:57
cc时,你也可以试试这样运行configure: 

shell> CFLAGS=-D_PTHREAD_USE_D4  CXX=gcc  CXXFLAGS=-O3  ./configure ……
如果你的信号有问题(MySQL出人意料地在高负载下死掉),你可能找到了一个线程和信号有关的OS错误。在这种情况下,你可以告诉MySQL如下配置以不使用信号: 

shell> CFLAGS=-DDONT_USE_THR_ALARM 
       CXXFLAGS=-DDONT_USE_THR_ALARM 
       ./configure ...

这不影响MySQL性能,但是有负面效应,就是你不能用mysqladmin kill或mysqladmin shutdown杀死在一个连接上“睡眠”的客户。相反,当客户发出下一个命令时,它将死掉。 

4.11.8 SGI-Irix 注意事项
你可能需要在运行configure后且在编译前去掉在“config.h”里面一些东西的定义(underfine)。 

在一些Irix实现中,alloca()函数被破坏。如果mysqld服务器死于一些SELECT语句,把“config.h”定义HAVE_ALLOC和HAVE_ALLOCA_H的行删除即可。如果mysqladmin create不工作,把“config.h”定义HAVE_READDIR_R的行删除,你也可能必须删除HAVE_TERM_H行。 

SGI推荐你将本页上的所有补丁作为一个整体来安装:http://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html

最小地,你应该安装最新的核心卷(rollup)、最新的rld卷和最新的libc卷。 

很明确,对于pthreads支持,你需要本页上所有的POSIX补丁: 

http://support.sgi.com/surfzone/patches/patchset/6.2_posix.rps.html

如果在编译“mysql.cc”时,你得到类似于下面的错误: 

"/usr/include/curses.h", line 82: error(1084): invalid combination of type

那么,在你的MySQL源代码树的顶级目录打下列命令: 

shell> extra/replace bool curses_bool < /usr/include/curses.h > include/curses.h
shell> make

应该也有安排上的问题报告。如果只有一个线程正在运行,事情会变慢的。通过启动另外一个客户来避免它,这可以导致此后其他线程的执行速度增加2到10倍。这是Irix线程难以理解的问题;你可能必须临时准备找出解决方案直到它能被修正。 

如果你正在用gcc编译,你可以使用下列configure命令: 

shell> CC=gcc CXX=gcc CXXFLAGS=-O3 
       ./configure --prefix=/usr/local/mysql --with-thread-safe-client --with-named-thread-libs=-lpthread

4.11.9 FreeBSD 注意事项
对于运行MySQL,FreeBSD 3.x是被推荐的,因为其线程包是更加完整。 

最容易因此是比较受喜欢的安装方法是使用mysql服务者和 mysql客户的移植,可从http://www.freebsd.org得到。

使用这些给你的东西: 

一个全优化的工作在你的FreeBSD版本上的MySQL。 
自动配置和构造。 
启动脚本安装在/usr/local/etc/rc.d。 
用pkg_info -L察看哪个文件被安装的能力,并且如果你在那台机器上不再想要MySQL,用pkg_delete完全删除它们。 
建议在FreeBSD 2.x版上使用 MIT-pthreads,在版本3和以上版本用原生线程。在一些2.2.x的以后版本使用原生线程运行是可能的,但是你可能碰到mysqld关掉的问题。 

确定让你的名字解析程序安装正确,否则当连接mysqld时,你可能会经历解析延时或失败。 

保证在“/etc/hosts”文件中的localhost入口是正确的(否则你与数据库连接时将有问题)。“/etc/hosts”文件应该以一行开始: 

127.0.0.1  localhost  localhost.your.domain
如果你注意到configure使用 MIT-pthreads,你应该阅读MIT-pthreads注意事项,见4.9 MIT-pthreads 注意事项。 

如果你从make install得到一个它不能找到“/usr/include/pthreads”的错误,configure没有检测出你需要 MIT-pthreads。通过执行这些命令修正它: 

shell> rm config.cache
shell> ./configure --with-mit-threads

FreeBSD make的行为与make GNU略有不同。如果你有make相关问题,你应该安装GNU make。 

FreeBSD也已知有一个非常低的缺省文件句柄限制。见18.11 文件没找到。去掉在safe_mysqld中的ulimit -n 小节的注释或在/etc/login.conf为mysqld用户提高限制(并用cap_mkdb /etc/login.conf重建它),如果你不使用缺省,也要保证你为此用户在口令文件(用法:chpass mysqld-user-name )。

你用SELECT NOW()返回GMT形式的值而不是你的本地时间,如果有这样的问题,你必须设定TZ环境变量为你的当前时区的。这应该设置服务器运行的环境,例如在safe_mysqld或mysql.server里。 

为了得到一个安全并且稳定的系统,你应该只仅使用被标记为-STABLE的FreeBSD内核。 

4.11.10 NetBSD 注意事项
为了NetBSD上编译,你需要GNU make,否则当make试图在C++文件上运行lint时,编译将崩溃。 

4.11.11 OpenBSD 2.5 注意事项
在OpenBSD 2.5上,你可以用下列选项编译带原生线程的MySQL: 

CFLAGS=-pthread  CXXFLAGS=-pthread  ./configure -- with-mit-threads=no
4.11.12 BSD/OS 注意事项
4.11.12.1 BSD/OS 2.x 注意事项
如果在编译MySQL时,你得到下列错误, 你对虚存的ulimit值是太低了: 

item_func.h: In method `Item_func_ge::Item_func_ge(const Item_func_ge &)'''':
item_func.h:28: virtual memory exhausted
make[2]: *** [item_func.o] Error 1

试试使用ulimit -v 80000并再运行make。如果这还不行并且你正在使用bash,试试换到csh或sh;一些BSDI用户报告了与bash和ulimit有关问题。 

如果你正在使用gcc,你也可能必须为configure使用--with-low-memory标志才能编译“sql_yacc.cc”。 

你用SELECT NOW()返回GMT形式的值而不是你的本地时间,如果有这样的问题,你必须设定TZ环境变量为你的当前时区的。这应该为服务器运行的环境设置,例如在safe_mysqld或mysql.server里。 

4.11.12.2 BSD/OS 3.x 注意事项
升级到BSD/OS 3.1。如果那不可能,安装BSDI patch M300-038。 

在配置MySQL时,使用下列命令: 

shell> env CXX=shlicc++ CC=shlicc2 
       ./configure 
           --prefix=/usr/local/mysql 
           --localstatedir=/var/mysql 
           --without-perl 
           --with-unix-socket-path=/var/mysql/mysql.sock

下列也已知可用: 

shell> env CC=gcc CXX=gcc CXXFLAGS=-O3 
       ./configure 
           --prefix=/usr/local/mysql 
           --with-unix-socket-path=/var/mysql/mysql.sock

如果你愿意,你可以改变目录地点,或不指定任何地点而使用缺省。 

如果你在重负再下的性能有问题,试试使用对safe_mysqld使用--skip-thread-priority选项!这将以相同优先级运行所有线程;在BSDI 3.1上,这得到较好的性能(至少直到BSDI修正其线程调度程序)。 

如果你在编译时得到virtual memory exhausted错误,试试使用ulimit -v 80000并再运行make。如果这还不行并且你正在使用bash,试试换到csh或sh;一些BSDI用户报告了与bash和ulimit有关问题。 

4.11.12.3 BSD/OS 4.x 注意事项
BSDI 4.x有一些线程有关的错误。如果你想要在这上面使用MySQL,你应该安装所有与线程相关的补丁,至少应该安装M400-023。 

4.11.13 SCO 注意事项
当前的移植仅在“sco3.2v5.0.4”和“sco3.2v5.0.5”系统上被测试,在“sco 3.2v4.2”一个移植也有很大进展。 

此时在OpenServer上推荐的编译器是gcc 2.95.2,用它你应该能编译MySQL: 

CC=gcc CXX=gcc ./configure ... (options)

对于OpenServer 5.0.X,你需要在Skunkware 95上使用GDS(95q4c),这是必要的,因为在Skunkware 97上的GNU gcc 2.7.2 没有GNU as。你也可以使用egcs1.1.2或更新:http://www.egcs.com/。如果你正在使用egcs1.1.2,你必须执行下列命令: 
shell> cp -p /usr/include/pthread/stdtypes.h 
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/egcs-2.91.66/include/pthread/

对该产品和开发系统,你需要GCC 2.5.?的移植。他们在这个SCO UNIX版本上是必需的,你不能只使用GCC Dev系统。 
你应该得到 FSU Pthreads 包并且首先安装它,它可在http://www.cs.wustl.edu/~ schmidt/ACE_wrappers/FSU-threads.tar.gz找到。你也可以从ftp://www.mysql.com/pub/mysql/Downloads/SCO/FSU-threads-3.5c.tar.gz得到一个预编译的包。 
FSU Pthreads能用带tcpip的SCO UNIX 4.2编译,或OpenServer 3.0或Open Desktop 3.0(OS 3.0 ODT 3.0),安装带有使用一个GCC 2.5.X ODT的SCO开发系统,或对OS 3.0你将需要一个GCC 2.5.?的良好移植。 没有一个良好的移植会有很多问题。对这个产品的移植需要SCO UNIX开发系统,没有它,你正缺少所需的库和链接器。 
为了在你的系统上构造FSU Pthreads,做下列工作: 
在“thread/src”目录下运行./configure并且选择SCO OpenServer选项。这个命令拷贝“Makefile.SCO5”到“Makefile”。 
运行make。 
为了在缺省的“/usr/include”目录安装,作为root登录,然后cd 到“thread/src”目录,并运行make install。 
记得在制作MySQL时要使用GNU make。 
在OSR 5.0.5上,你应该使用下列配置命令行: 
shell> CC="gcc -DSCO" CXX="gcc -DSCO" ./configure

需要-DSCO帮助配置正确检测一些线程函数。如果你忘记-DSCO,在编译时,你将得到下列错误消息: 
my_pthread.c: In function `my_pthread_mutex_init'''':
my_pthread.c:374: `pthread_mutexattr_default'''' undeclared (first use this function)


如果你不是作为root启动safe_mysqld,你将可能每进程只有缺省的110个打开文件。mysqld将在日志文件写下关于此的注解。 
用SCO 3.2 V5.0.5,你应该使用一个FSU Pthreads版本3.5c或更新。下列configure命令应该工作: 
shell> CC="gcc -belf" ./configure --prefix=/usr/local/mysql --disable-shared

用SCO 3.2V4.2,你应该使用一个FSU Pthreads版本3.5c或更新。下列configure命令应该工作: 
shell> CFLAGS="-D_XOPEN_XPG4" CXX=gcc CXXFLAGS="-D_XOPEN_XPG4" 
       ./configure 
           --with-debug --prefix=/usr/local/mysql 
           --with-named-thread-libs="-lgthreads -lsocket -lgen -lgthreads" 
           --with-named-curses-libs="-lcurses"

你可能得到一些包括文件的某些问题。在这种情况下,你能在ftp://www.mysql.com/pub/mysql/Downloads/SCO/SCO-3.2v4.2-includes.tar.gz找到新的SCO特定的包括文件。你应该在你的MySQL源代码树的“include”目录下打开这个文件。 

SCO开发注意事项: 

MySQL应该自动地检测FSU Pthreads并且用-lgthreads -lsocket -lgthreads选项链接mysqld。 
SCO开发库在FSU Pthreads是重入(reentrant)的。SCO宣称它的库函数是重入的,因此他们一定在FSU Pthreads中是重入的。在 OpenServer上的 FSU Pthreads 试图使用SCO方案制作重入的库。 
FSU Pthreads(至少在www.mysql.com的版本)链接了GNU malloc,如果你甭到内存使用的问题,确定“gmalloc.o”被包含在“libgthreads.a”和“libgthreads.so”中。 
在FSU Pthreads中,下列系统调用是pthreads感知的:read()、write()、getmsg()、connect()、accept()、select()和wait()。 
如果你想要在SCO上安装DBI,你必须编辑在DBI-xxx和每个子目录下的“Makefiles”: 

OLD:                                  NEW:
CC = cc    

上一页  [1] [2] [3] [4] [5] [6] [7]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台