中国网管论坛's Archiver

alsjia 发表于 2007-4-19 16:54

关于编译mysql的一个疑问

我下了个mysql-5.0.22的源码包,我用的gcc为gcc-4.0.12
我会用 了下面的命令
CFLAGS="-03" CXX=gcc CXXFLAGS="-03 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/user/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static
make
make install
出现
gcc 无法识别“03”
请问CFLAGS="-03"是什么意思,我是看包内的INSTALL-SOURCE中的步骤来的,

iamshiyu 发表于 2007-4-19 21:16

既然人家介绍了用这个参数,那应该也有其他相应的说明吧,或许你看得不够明白……

vishnu 发表于 2007-4-20 11:41

CFLAGS的作用主要是根据CPU型号和GCC版本对系统进行优化,这个参数的使用方法是[code]· -O
o   -O (-O1), -O0, -O2, -O3, -Os
o   依照后面数字的大小,针对效能最佳化的程度也不同 (稳定度也可能递减)。其中 -Os 是个比较特殊的等级,针对原始码大小最佳化。
o   可使用 -Os,降低程序加载的时间。 [/code]

[[i] 本帖最后由 vishnu 于 2007-4-20 11:57 编辑 [/i]]

iamshiyu 发表于 2007-4-20 12:42

呵呵,高手!
幸会幸会!
:loveliness:

alsjia 发表于 2007-4-20 13:10

真是高手呀,是不是很多时候不必用这个项呀,用这个只是为了节约时间,是这个意思吗?

vishnu 发表于 2007-4-20 14:08

不敢当啊~
我一般也是编译程序之前会执行CFLAGS,把CPU的类型和GCC对应起来,这样编译的工具使用起来效率会比较高~
如果有兴趣的话,可以重新编译整个系统的源代码,据说可以把系统的性能提高40%-60% (据说啊~)

alsjia 发表于 2007-4-20 14:44

我没有加这几项,因为加了会出现
gcc 无法识别“03”
我用了 cxx=gcc cc=gcc两项编译完成后出现了
Unknown suffix '@' used for variable 'port' (value '@MYSQL_TCP_PORT@')
mysql:Error while setting value 'MYSQL_TCP_PORT@' to 'port'
命令为
mysql -u root
这又是什么原因,我去/etc/my.cnf里把
port     =@MYSQL_TCP_PORT前的port改为3306也不行
真是郁闷,望楼上的高手给予指点

iamshiyu 发表于 2007-4-21 08:22

[quote]原帖由 [i]alsjia[/i] 于 2007-4-20 14:44 发表 [url=http://bbs.bitscn.com/redirect.php?goto=findpost&pid=647018&ptid=96842][img]http://bbs.bitscn.com/images/common/back.gif[/img][/url]
我没有加这几项,因为加了会出现
gcc 无法识别“03”
我用了 cxx=gcc cc=gcc两项编译完成后出现了
Unknown suffix '@' used for variable 'port' (value '@MYSQL_TCP_PORT@')
mysql:Error while setting v ... [/quote]
这个你也敢乱改?
port应该会作为变量在后面继续被调用的吧?

vishnu 发表于 2007-4-21 09:37

[quote]原帖由 [i]alsjia[/i] 于 2007-4-20 14:44 发表 [url=http://bbs.bitscn.com/redirect.php?goto=findpost&pid=647018&ptid=96842][img]http://bbs.bitscn.com/images/common/back.gif[/img][/url]
我用了 cxx=gcc cc=gcc两项编译完成后出现了
Unknown suffix '@' used for variable 'port' (value '@MYSQL_TCP_PORT@')
mysql:Error while setting v ...
命令为
mysql -u root
[/quote]

是执行“mysql -u root”的时候出错的么??还是mysql启动的时候报错的?

2689178 发表于 2007-4-22 12:56

我也遇到了同样的错误信息
我的是 redhat4 mysql5.0
编译./configure --prefix= 没别的参数了
bin目录下执行
./mysql_install_db --user=root
出现楼主的错误

听说是因为selinux的缘故,阻止了端口什么的
因为我是新手很多不懂,alsjia 如果你搞定了 拜托在这个帖子上把过程详细写下吧
我每天都来看

iamshiyu 发表于 2007-4-22 21:48

如果是selinux的问题,把selinux关掉就行了……

日出东方 发表于 2007-4-22 22:56

[quote]原帖由 [i]2689178[/i] 于 2007-4-22 12:56 发表 [url=http://bbs.bitscn.com/redirect.php?goto=findpost&pid=650191&ptid=96842][img]http://bbs.bitscn.com/images/common/back.gif[/img][/url]
我也遇到了同样的错误信息
我的是 redhat4 mysql5.0
编译./configure --prefix= 没别的参数了
bin目录下执行
./mysql_install_db --user=root
出现楼主的错误

听说是因为selinux的缘故,阻止了端口什么 ... [/quote]
为什么要用root用户初始化数据库,在装mysql时首先要建mysql组和用户
bin/mysql_install_db --user=mysql
要是selinux的缘故,阻止了端口可用setsebool mysqld_disable_trans=1
试试不过我装了很多次mysql还遇到过因selinux的缘故起启不了mysql
安装是./configusr --prefix=/usr/local/myql 一般的这样安装就可以了当然如果你对configuer后面的参数很熟也可加参数来优化

alsjia 发表于 2007-4-23 12:47

到今天我还没有弄明白呢,这两天没有空弄这个,现在在弄vsftpd的问题呢,等有空了再研究它

alsjia 发表于 2007-4-23 12:51

日出东方的法子,我以前也用过,也是不行的,出现同样的问题,我用的是fc 5
--user=mysql 和--user=root 一样会出现这个问题

2689178 发表于 2007-4-24 12:50

我的弄好了,从源代码包里考出来的my.cnf模版有问题,把etc/下面的my.cnf删掉,把源包里的my_me***.cnf 名字我忘了,这个拷到etc/my.cnf
把下面两句话改成: 我加空格了
port     =@MYSQL_TCP_PORT  改成
port     = 3306

port    =@MYSQL_UNIX_****@   忘了字母了
port    = /tmp/mysql.sock     单词好象是这样    网上能查到这个参数

这就行了

但是后面又遇到了很多问题,比如host.frm找不到了  是应为要先运行./mysql_insatll_db建立表 再启动服务器
mysql.sock找不到了是应为权限问题
等等一堆 解决了
基本都是权限问题
好象必须有个mysql用户,没这个不行有些目录必须是myslq用户权限,用root都不行,在这里也许root不是最大的吧
还不太明白

[[i] 本帖最后由 2689178 于 2007-4-24 12:59 编辑 [/i]]

alsjia 发表于 2007-4-24 13:26

你若是编译的,不用改,考贝一定要考贝的
在安装的目录用上下面的命令
chown -R root .
chown -R mysql var
chgrp -R mysql .
bin/mysqld_safe --user=mysql &
你先看一下,netstat -an |grep 3306,有没有启动,你看是哪个?

/usr/local/mysql5/bin/mysql -u root -p
上面是你安装的目录下面的看你的目录而定
或者是重新编译一下,要加上--with-client-ldflags=-all-static
我的就是这样解决了

[[i] 本帖最后由 alsjia 于 2007-4-24 13:42 编辑 [/i]]

日出东方 发表于 2007-4-24 21:23

你要是参考这里安装应该不会走这么多弯路
[url]http://bbs.bitscn.com/93545[/url]

alsjia 发表于 2007-4-25 10:09

你是写源码包时里 的INSTALL-SORUE里的各项吧,我也是一开始用的这个,结果出现了上述情况,重新编译后才可以用

页: [1]

Powered by Discuz! Archiver 6.1.0  © 1999-2008 bbs.bitsCN.com