CentOS下编译安装MySQL数据库实战详解

MySQL官方下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.22.tar.gz/

CMake官方下载地址:https://cmake.org/download/

Bison 官方下载地址:http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz

本案例所使用的MySQL版本为:mysql-5.5.22.tar.gz

mysql新版本都需要cmake编译安装,估计以后的版本也很都会采用这种方式,所以安装mysql前需要安装cmake支持.个人比较习惯系统装完后一键yum安装所有自带开发工具,免得一个一个的去装。

#yum grouplist
#yum groupinstall Additional Development

一、使用wget命令下载所有软件。

#wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.22.tar.gz/
#wget https://cmake.org/files/v3.9/cmake-3.9.1.tar.gz
#wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz

二、源代码编译安装CMake

#tar zxvf cmake-2.8.6.tar.gz
#cd cmake-2.8.6
#./bootstrap
#gmake && gmake install

三、源代码编译安装bison

#tar zxvf bison-2.5.tar.gz
#cd bison-2.5.tar.gz
#./configure
#make && make install

四、源代码编译安装MySQL5.5.22

编译安装前首先创建mysql用户和组,为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql。此用户不需要直接登陆到系统,可以不创建宿主文件夹。

#groupadd mysql
#useradd -M -s /sbin/nologin mysql -g mysql
#yum -y install ncurses-devel
#tar zxf mysql-5.5.22.tar.gz
#cd mysql-5.5.22
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
#make && make install

下面是意思,我都写出来了,你们自己看把,就不一一解释了。

-DCMAKE_INSTALL_PREFIX:指定mysql数据库安装程序安装到指定目录下。

-DSYSCONFDIR:指定初始化参数文件目录。

-DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf8.

-DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci 是试用于UTF-8字符集的通用规则。

五、安装完成后对数据库目录进行权限设置

#chown -R mysql:mysql /usr/local/mysql
建立配置文件
#rm -rf /etc/my.cnf
#cp support-files/my-medium.cnf /etc/my.cnf

六、初始化数据库

为了能够正常的使用MySQL数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据库存放目录

#/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

七、设置环境变量

为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量。

#echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
#. /etc/profile
#cp support-files/mysql.server /etc/rc.d/init.d/mysqld //最后添加系统服务
#chmod +x /etc/rc.d/init.d/mysqld 
#chkconfig --add mysqld
#service mysqld start       //启动mysqld服务
#/etc/init.d/mysqld status
#netstat -anpt | grep mysqld
#chkconfig mysqld on     //将mysql加入开机启动项
#chkconfig --list mysqld //验证开始开机启动项中是否有mysqld
CentOS下编译安装MySQL数据库实战详解-Linux-me