您的位置:首页 > 运维架构 > Linux

linux中源码编译安装mysql常见错误

2012-02-12 18:06 741 查看
(一)

#./configure --prefix=/usr/local/mysql-5.1.54

(mysql指定路径安装报错:)

如下:

checking for termcap functions library... configure: error: No curses/termcap library found
安装:

ncurses-devel.***.rpm 包解决

#cd /media/CentOS_5.5_Final/CentOS/

#ls ncurses-devel*

找到这个包并用rpm安装。

# rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm
(或者去下载一个ncurses-5.6.tar.gz,

wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz 解压并安装)

(二)

make时出错

../depcomp: line 571: exec: g++: not found

make[1]: *** [my_new.o] 错误 127

make[1]: Leaving directory `/usr/local/src/mysql/mysql-5.1.32/mysys`

make: *** [all-recursive] 错误 1

解决:

#yum install gcc-c++ 可解决问题。
重新指定安装路径:

#./configure --prefix=/usr/local/mysql-5.0.90
make
make install
?

(三)

初始化数据库时出错:

# scripts/mysql_install_db --user=mysql



#bin/mysql_install_db --basedir=/usr/local/mysql-5.1.54 --datadir=/usr/local/mysql-5.1.54/data --user=mysql
[Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-
external-locking' instead.

?

(解决方法:将my.cnf 中的'--skip-locking' 换成'--skip-external-locking' 就可以了。)
?
(四)修改/etc/my.cnf 的配置文件:
[client]

#password = your_password

port = 3306

socket = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server

[mysqld]

port = 3306

socket = /tmp/mysql.sock
basedir=/usr/local/mysql-5.1.54

datadir=/usr/local/mysql-5.1.54/data
skip-external-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M
[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL

#safe-updates

(五:提示:)
出错时,可及时查看错误日志:

vi /usr/local/mysql-5.1.54/data/localhost.localdomain.err
显示如下:

110107 22:06:31 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.1.54/data

110107 22:06:31 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use
'--skip-external-locking' instead.

/usr/local/mysql-5.1.54/libexec/mysqld: Table 'mysql.plugin' doesn't exist

110107 22:06:31 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

110107 22:06:31 [ERROR] Can't start server : Bind on unix socket: No such file or directory

110107 22:06:31 [ERROR] Do you already have another mysqld server running on socket: var/lib/mysql/mysql.sock
?

110107 22:06:31 [ERROR] Aborting
?
小结1:
mysql 的启动方式:

(1)

#cd /usr/local/mysql-5.1.54/libexec

#./mysqld --defaults-file=../my.cnf --user=mysql
(2)

#cd /usr/local/mysql-5.1.54/bin

#./mysqld_safe --defaults-file=../my.cnf --user=mysql
(3)

#mysql -S /tmp/mysql.sock
(4)

#cd /usr/local/mysql-5.1.54/share/mysql

#./mysql.server start

(可以将mysql添加的系统服务中)

#cp ./mysql.server /etc/init.d/mysql

#chkconfig --add mysql

#service mysql start
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: