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

linux下mysql的安装编译问题总结

2013-10-24 10:14 771 查看
(一)

#./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

?

-----------------------------------------------------------

gcc -DMYSQL_CLIENT_NO_THREADS -DHAVE_CONFIG_H -DNO_KILL_INTR -I.
-I../../include -I../../include -I../../include
-I../.. -g
-O2 -DUNIV_LINUX -MT tilde.o
-MD -MP -MF .deps/tilde.Tpo -c -o tilde.o tilde.c

在包含自 tilde.c:55 的文件中:

xmalloc.h:29:31: 错误:readline/rlstdc.h:没有那个文件或目录

make[2]: *** [tilde.o] 错误 1

make[2]: Leaving directory
`/root/nginx/mysql-5.5.3-m3/cmd-line-utils/readline'

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

make[1]: Leaving directory
`/root/nginx/mysql-5.5.3-m3/cmd-line-utils'

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

解决方法:

在linux下编译时,如果出现错误:readline/readline.h:没有那个文件或目录

可以直接更新

yum install
readline-devel

然后再重新编译即可。

在包含自 libmysql.c:30 的文件中:

../include/violite.h:98:30: 错误:openssl/opensslv.h:没有那个文件或目录

../include/violite.h:114:25: 错误:openssl/ssl.h:没有那个文件或目录

../include/violite.h:115:25: 错误:openssl/err.h:没有那个文件或目录

In file included from libmysql.c:30:

../include/violite.h:127: 错误:expected specifier-qualifier-list
before ‘SSL_CTX’

make[2]: *** [libmysql.lo] 错误 1

make[2]: Leaving directory
`/root/nginx/mysql-5.5.3-m3/libmysql'

make[1]: *** [all] 错误 2

make[1]: Leaving directory
`/root/nginx/mysql-5.5.3-m3/libmysql'

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

yum install openssl*

(三)

初始化数据库时出错:

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