Linux下编译安装MySQL问题


1.Linux下编译安装MySQL问题:
(1)    ../depcomp: line 571: exec: g++: not found
make[1]: *** [my_new.o] 错误 127
make[1]: Leaving directory `/home/justme/software/mysql-5.1.30/mysys'
make: *** [all-recursive] 错误 1
这个问题原因是缺少g++编译器,解决方法是安装gcc-c++-4.1.2-33.i386.rpm套件。在安装过程中可能其还需要依赖套件libstdc++-devel-3.4.6-3.1.i386.rpm。所以解决途径为:
一)   先安装libstdc++-devel-3.4.6-3.1.i386.rpm
二) 再安装gcc-c++-4.1.2-33.i386.rpm
 
(2)     error: redeclaration of C++ built-in type
出现该问题的原因是重新安装gcc-c++后没有重新执行.configure命令。因此解决途径为:
一)    重新执行 ./configure –prefix=/usr/local/mysql
二)    再执行make
(3)    启动MySQL时报错:
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
   这个错误的原因是用mysql用户去启动,但是查看下var/mysql 下plugin表的所有者是root,故没有权限去执行。执行chown -R mysql var可以解决问题。
 
附:编译安装MySQL的步骤
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> bin/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql var
shell> bin/mysqld_safe --user=mysql &
 
将mysql的执行路径添加到root用户的环境变量中:
shell> vi ~/.bash_profile
修改PATH变量:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/
让修改马上生效,可以执行如下命令:source ~/.bash_profile(或者. ~/.bash_profile)

相关内容