> CentOS > CentOS服务器 >

CentOS下编译安装MySQL5.5

有一台CentOS服务器原来安装的是通过yum install方式安装的MySQL5.1,现在因为一个项目的数据涉及CJK编码,需要将MySQL升级到5.5。

因为yum中的版本比较旧,所以采用自行编译的方式安装,详细步骤如下:

yum -y install cmake ncurses-devel gcc gcc-c++ bison

准备工作:先通过yum安装需要用到的软件、库之类的。

gcc是Linux下常用的编译器
cmake是一个跨平台的安装(编译)工具
ncurses是字符终端下的可视界面开发包
bison是一个语法分析程序

以上这些都要事先安装好,否则安装过程中会出现这样那样的错误而终止。

wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz
tar zxvf mysql-5.5.28.tar.gz
cd mysql-5.5.28

下载、解压缩、进入目录

cmake . -DCMAKE_INSTALL_PREFIX=/usr/mysql -DMYSQL_DATADIR=/usr/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR==/usr/mysql/data/mysql.sock -DMYSQL_USER=mysql -DWITH_DEBUG=0

cmake是一个和configure类似的程序,从MySQL5.5起,需要通过cmake进行编译MySQL源码。

其中的参数可以修改,最常修改的有:

DCMAKE_INSTALL_PREFIX:MySQL安装目录
DMYSQL_DATADIR:MySQL数据目录

make && make install

和编译Linux下其他软件一样,接下来是编译和安装,如果三、四步执行过程中报错,很有可能是第一步准备工作没有做好,再回头检查。

cd /usr/mysql
scripts/mysql_install_db --user=mysql --basedir=/usr/mysql --datadir=/usr/mysql/data

编译完了还不算完,因为MySQL和其他程序不同,执行MySQL之前需要安装一份初始数据(因为MySQL的权限验证等用到的数据也是存在MySQL中,听起来像绕口令),mysql_install_db这个自带程序就是用来干这个的。

cp /usr/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on

至此MySQL已经可以启动了,但作为一台服务器,能启动还不行,还要做到开机自动启动。mysql.server是MySQL自带的启动脚本,将它拷到系统的启动目录中,然后用chkconfig命令将它添加进去,设置启动级别。

mysqladmin password "1234567"

刚安装好的MySQL是没有密码的,作为服务器当然是很危险的,所以真正投入使用前一定要设置密码。mysqladmin是MySQL自带的维护工具,用它可以很方便的为MySQL的root帐号设置密码。

如果之前未设置过密码就用上面的命令,如果之前有密码(假设是akcms),就用这个命令:

mysqladmin -pakcms password "1234567"

八 大功告成,MySQL服务器已经可以投入使用

(责任编辑:IT)