1,对于centos系统,首先需要卸载掉它自带的mysql:
执行如下一连串命令,全部干掉重来!
rpm -qa|grep mysql
rpm -e mysql-libs-5.1.66-2.el6_3.i686 qt-mysql-4.6.2-25.el6.i686 mysql-5.1.66-2.el6_3.i686 mysql-server-5.1.66-2.el6_3.i686 --nodeps
删掉mysql的默认的配置文件,如果还存在的话:
rm -rf /etc/my.cnf
2,下载mysql source code 开始编译安装
首先需要安装一些依赖的包:
yum -y install cmake gcc-c++ ncurses-devel
cmake是用来编译mysql的工具,这个先安装,之后再安装的过程中,如果报错则继续安装其它依赖包!
进入mysql目录开始编译安装,执行如下命令:
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
相关的配置项说明,见:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
这里没有报错,如果有报错,排错之后记得先删除缓存文件,然后再重新编译,删除缓存文件如下:
rm -rf CMakeCache.txt
直到出现如下:
表示编译成功,虽然报了一个警告,但是问题不大。
继续执行:make && make install
这里根据机器的性能,可能等到的时间不一样,总之是个漫长的过程!
然后拷贝配置文件到/etc目录下:
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
由于运行mysql,最好不要以root用户运行,因此需要先建立用户和用户组:
groupadd mysql
useradd -r -g mysql mysql
如果存在,则先删除:
userdel mysql
groupdel mysql
创建好用户及用户组之后,修改/usr/local/mysql的权限:
chown -R root:mysql /usr/local/mysql --- 将Mysql的所有者设置为root,所属组设置为mysql
chown -R mysql:mysql /usr/local/mysql/data ---将data文件的所属组合所有者设置均设置为mysql
然后,创建mysql系统的数据库:
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
执行成功,提示信息:
现在来查看一下mysql的进程信息,执行:ps -el | grep mysql (为空)
然后启动Mysql,根据提示信息执行:usr/local/mysql/bin/mysqld_safe &
启动成功之后继续查看mysql进程信息,如下:
然后停止Mysql进程,配置通过service启动:
kill 32758
然后拷贝mysql.server文件到/etc/init.d/目录下,执行:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
然后执行:/etc/init.d/mysql start 来启动mysql,如下:
然后执行:chkconfig mysql on 将Mysql添加到随机启动,然后执行:service mysql start 来启动Mysql!
最后,将Mysql的bin目录添加到环境变量中,这样方便在shell下直接执行mysql,然后可以连接mysql服务器,不过在连接之前需要先给mysql修改一下密码!
执行如下命令:
vim /etc/profile
添加如下代码:
export PATH="/usr/local/mysql/bin/":$PATH
保存退出之后执行:source /etc/profile
然后根据提示信息修改Mysql中root用户的密码,执行:
mysqladmin -u root password '******'
然后执行:mysql -u root -p
来连接mysql,输入刚刚设置好的密码即可进入!
最后,如过要让mysql可以通过远程连接,则需要防火墙开启3306端口,做如下设置:
vim /etc/sysconfig/iptables
加入如下代码:
然后重新启动防火墙使配置生效,执行:service iptables restart
至此,整个Mysql的编译安装结束!