欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Linux下编译安装MySQL问题

程序员文章站 2024-01-21 17:03:34
...

1.Linux下编译安装MySQL问题:(1) ../depcomp: line 571: exec: g++: not foundmake[1]: *** [my_new.o] 错误 127make[1]: Le

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 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)

Linux下编译安装MySQL问题