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


(一)
#./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

 

本文出自“崔元荣学技术”

相关内容

    暂无相关文章