9.04也通过。
首先确认一下libc6-dev、libncurses5-dev、g++是否安装。如果没有,请先安装
到解压后的mysql文件夹下面
最好以超级管理员的身份执行以下命令 sudo su -
配置为:
# cd /home/coolhty
# tar zxvf mysql-5.1.31.tar.gz
# cd /home/coolhty/mysql-5.1.31
# groupadd mysql
# useradd mysql -g mysql
# ./configure --prefix=/usr/local/mysql 指定安装目录
--with-extra-charsets=utf8 添加GBK中文字符支持 ,根据实际开发决定是否需要此想象
--with-plugins=all 如果从源代码编译安装mysql,缺省安装时,是没有innodb引擎的.所以,在configure的时候,要加入--with- plugins=all(或者max),这样才会支持innodb.在mysql里可以执行show engines命令来查看当前的mysql服务器所支持的存储引擎.
如果编译的时候出现以下错误:
checking for tgetent in -ltermcap… no
checking for termcap functions library… configure: error: No curses/termcap library found
说明 curses/termcap 库没有安装
去下载一个ncurses-5.6.tar.gz
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
tar zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure –prefix=/usr –with-shared –without-debug
make
make install clean
#上面是安装所依赖的软件
make
make install
with-partition可能会有警告,但是实际在编译时已经起了作用了。
# cp support-files/my-medium.cnf /etc/my.cnf copy配置文件,有large,medium,small三个环境下的,根据机器性能选择,如果负荷比较大,可修改里面的一些变量的内存使用值
注意:my.cnf里注释掉--skip-federated新版本不需要这个参数了。如果需要这个引擎的在编译的时候要加上--with-plugins=federated,在my.cnf里用federated参数就行了。
再更改两处
port = 3306
socket = /tmp/mysql.sock (修改这2个地方)
先修改my.cnf,再初使化数据库,要不然过不去的。
#cd /usr/local/mysql
# bin/mysql_install_db --user=mysql -- 生成mysql用户数据库和表文件有可能会提示找不到该命令,这时就要给这个文件加权限chmod u+x bin/mysql_install_db
# cp support-files/mysql.server /etc/init.d/mysqld --copy启动的mysqld文件
# chmod 700 /etc/init.d/mysqld
# cd /usr/local/mysql #mysql目录
# chmod 750 .
# chgrp -R mysql . --设置该目录的所属用户组,要看清楚,mysql后面有个空格,还有一点,一点代表当前目录
# chown -R mysql . #设置该目录的所属用户
#下面步骤不是必要的,我没有执行
# cd /usr/local/mysql/libexec
# cp mysqld mysqld.old
# strip mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
# service mysqld start
# netstat -atln