centos 编译安装 mysql

检查安装编译工具

yum install gcc gcc-c++ ncurses-devel

下载mysql源码

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.15.tar.gz

mysql使用cmake编译,也需要用到bison语法优化器

wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
wget http://ftp.gnu.org/gnu/bison/bison-2.7.tar.gz

安装cmake和bison

tar zxvf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./bootstrap
make && make install
cd /tmp
tar zxvf bison-2.7.tar.gz
cd bison-2.7
./configure
make && make install

编译安装MySQL

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar xvf mysql-5.5.15.tar.gz
cd mysql-5.5.15/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/mysql/data \
-DMYSQL_USER=mysql

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/

/usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/var/mysql/my.cnf \
--basedir=/usr/local/mysql \
--datadir=/var/mysql/data \
--user=mysql

chmod +x /etc/init.d/mysqld
emacs /etc/init.d/mysqld 修改这个文件:
basedir=/usr/local/mysql
datadir=/var/mysql/data

加入开机启动项:

chkconfig --add mysqld
chkconfig --level 345 mysqld on

启动服务:

service mysqld start

设置修改root密码:

/usr/local/mysql/bin/mysqladmin password [new-password]