下面是在redhat 5.8下源码编译安装mysql5.6.12
1. 首先查看系统有没有安装Mysql # rpm -qa |grep mysql
如果系统上有Mysql,先卸载 # yum remove mysql 或者 # rpm -e mysql
2.安装cmake
下载cmake源码 # wget http://www.cmake.org/files/v2.8/cmake-2.8.11.1.tar.gz
# tar -zxvf cmake-2.8.11.1.tar.gz
# cd cmake-2.8.11.1
# ./configure
( 如果提示没安装C++编译器就先安装C++编译器:# yum -y install gcc-c++ )
# make
# make install
3.安装 ncurses-devel 和 bison
# yum -y install ncurses-devel
# yum -y install bison
4.创建mysql的安装目录及数据库存放目录
# mkdir -p /mysqlapp/mysql 安装Mysql
# mkdir -p /mysqlapp/mysql/data 存放数据库
创建mysql用户及用户组
# groupadd mysql 创建mysql组
# useradd -g mysql mysql 创建Mysql用户,同时属于mysql组
设置目录权限
# chown -R root:mysql /mysqlapp/mysql 把目录中所有的文件所有者设为root,所属者设为mysql
# chown -R mysql:mysq /mysqlapp/mysql/data
5.编译安装Mysql
下载mysql源码 # wget http://www.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.12.tar.gz/from/http://cdn.mysql.com/
# tar -zxvf mysql-5.6.12.tar.gz
# cd mysql-5.6.12
# cmake . -DCMAKE_INSTALL_PREFIX=/mysqlapp/mysql -DMYSQL_DATADIR=/mysqlapp/mysql/data -DSYSCONFDIR=/etc
# make
# make install
参数说明:
-DCMAKE_INSTALL_PREFIX //安装根目录
-DINSTALL_DATADIR //数据存储目录
-DSYSCONFDIR //配置文件(my.cnf)目录
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
注意事项:
重新编译时,需要清除旧的对象文件和缓存信息。
# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf
6.配置mysql
# cd /mysqlapp/mysql/
# cp ./support-files/my-default.cnf /etc/my.cnf 将Mysql的启动服务添加到系统服务中
# vi /etc/my.cnf
在 [mysqld] 段修改
basedir = /mysqlapp/mysql
datadir = /mysqlapp/mysql/data
保存退出。
7.初始化数据库
# cd /mysqlapp/mysql
# ./scripts/mysql_install_db --basedir=/mysqlapp/mysql --datadir=/mysqlapp/mysql/data --defaults-file=/etc/my.cnf --user=mysql
# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
8. 设置启动脚本变量
# vi /etc/rc.d/init.d/mysqld
basedir=/mysqlapp/mysql
datadir=/mysqlapp/mysql/data
保存退出。
9. 设置变量环境
# echo "PATH=$PATH:/mysqlapp/mysql/bin" >> /etc/profile (永久生效)
# export PATH=$PATH:/mysqlapp/mysql/bin (当前生效)
10.启动服务
# service mysqld start
11. 设置数据库管理员root密码
# mysqladmin -u root password '123456'
(注:在当前会话窗口操作,否则会出现 “mysqladmin: command not found” 错误,除非重新启动系统。)