2012-04-22 00:08
网上找的教程,安装测试ok。
mysql 最新的版本都需要cmake编译安装,记录一下安装步骤及过程,以供参考。
注意:此安装是默认centos下已经安装了最新工具包,比如GNU make, GCC, Perl, libncurses5-dev,如果在编译安装过程中发现有缺失的工具包,先yum install 单独下载安装再继续即可。
以下安装中涉及的几点需要提前说明的问题:
1. 所有下载的文件将保存在 /usr/local/src/ 目录下
2. mysql 将以mysql用户运行,而且将加入 service 开机自动运行
3. mysql 将被安装在 /usr/local/mysql/ 目录下
4. mysql 默认安装使用 utf8 字符集
5. mysql 的数据和日志文件保存在 /var/mysql/ 对应目录下
6. mysql 的配置文件保存于/var/mysql/my.cnf
一. Centos 用 wget 下载需要的软件,保存到目录 /usr/local/src/ 下
==============================过程可能出现的错误=====================================
安装Mysql5.5之前先卸载CentOS自带的Mysql5.0:
[root@localhost ~]#
yum remove mysql
编译安装cmake
下载cmake源码包cmake-2.8.4.tar.gz,mv到/usr/local/src目录下
[root@localhost ~]#
cd /usr/local/src/
[root@localhost src]#
tar xzvf cmake-2.8.7.tar.gz
[root@localhost src]#
cd cmake-2.8.7
[root@localhost cmake-2.8.4]#
./bootstrap
---------------------------------------------
CMake 2.8.4, Copyright 2000-2009 Kitware, Inc.
---------------------------------------------
Error when bootstrapping CMake:
Cannot find appropriate C compiler on this system.
Please specify one using environment variable CC.
See cmake_bootstrap.log for compilers attempted.
---------------------------------------------
Log of errors: /usr/local/src/cmake-2.8.4/Bootstrap.cmk/cmake_bootstrap.log
---------------------------------------------
报错:缺少C的编译器。
安装gcc编译器
可以从Linux系统的安装盘中安装,也可以简单地用yum安装
[root@localhost ~]#
yum install gcc
继续cmake的安装
[root@localhost cmake-2.8.4]#
./bootstrap
---------------------------------------------
CMake 2.8.4, Copyright 2000-2009 Kitware, Inc.
C compiler on this system is: cc
---------------------------------------------
Error when bootstrapping CMake:
Cannot find appropriate C++ compiler on this system.
Please specify one using environment variable CXX.
See cmake_bootstrap.log for compilers attempted.
---------------------------------------------
Log of errors: /usr/local/src/cmake-2.8.4/Bootstrap.cmk/cmake_bootstrap.log
---------------------------------------------
再次报错:缺少C++编译器。
安装gcc-c++编译器
同样可以从Linux系统的安装盘中安装,或者简单地用yum安装
[root@localhost ~]#
yum install gcc-c++
重复上面的操作
[root@localhost cmake-2.8.4]#
./bootstrap
没有报错后,编译安装
[root@localhost cmake-2.8.4]#
gmake
[root@localhost cmake-2.8.4]#
gmake install
开始正式安装Mysql
====================================================================
二. 安装 cmake
cd /usr/local/src
tar zxvf cmake-2.8.7.tar.gz
cd cmake-2.8.7
./bootstrap
gmake
gmake install
cd ../
tar zxvf bison-2.5.tar.gz
cd bison-2.5
./configure
make
make install
cd ../
#编译mysql ./configure时error:no curses/termcap library found
tar zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure
make
make install
cd ../
三. 编译安装 MySQL 5.5.23
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
chmod 777 /var/mysql/data
tar xvf mysql-5.5.23.tar.gz
cd mysql-5.5.23/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/var/mysql/data
make && make install
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
mkdir -p /var/mysql/
mkdir -p /var/mysql/data/
mkdir -p /var/mysql/log/
chown -R mysql:mysql /var/mysql/
cd support-files/
cp my-large.cnf /var/mysql/my.cnf (注意:my-large.cnf适用于1G内存左右的服务器,可以根据自己配置情况选用my-large.cnf 或 my-huge.cnf 等不同配置)
cp mysql.server /etc/init.d/mysqld
四. 配置启动MySQL 5.5.23
1. 若有需要请先修改 mysql 的配置 my.cnf
vi /var/mysql/my.cnf
2. mysql 初始化安装
/usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/var/mysql/my.cnf \
--basedir=/usr/local/mysql \
--datadir=/var/mysql/data \
--user=mysql
即系一行
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/var/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/var/mysql/data --user=mysql
3. 将 mysql 加入开机启动
chmod +x /etc/init.d/mysqld
vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:)
basedir=/usr/local/mysql
datadir=/var/mysql/data
chkconfig --add mysqld
chkconfig --level 345 mysqld on
/usr/local/mysql/bin/mysqladmin -u root password
new password
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
Test:
mysql -u root -p
4. 启动 mysql
service mysqld start
//至此,安装已经完成