准备工作


为了不影响实验效果,提前可以把selinux 和iptables 关闭  

[root@localhost ~]# chkconfig iptables off

[root@localhost ~]# chkconfig ip6tables off

[root@localhost ~]# /etc/init.d/iptables stop

[root@localhost ~]# /etc/init.d/ip6tables stop

[root@localhost ~]# sed -i "s/LINUX=.*/LINUX=disabled/g" /etc/selinux/config 

更改完selinux后要想生效需要重启一下服务器,reboot或者shutdown -r now 


一、安装所需组件

安装mysql所需要的组件


[root@mysql src]# yum install -y cmake

[root@mysql src]# yum install -y gcc-c++

[root@mysql src]# yum install -y gcc

[root@mysql src]# yum install -y ncurses-devel


组件说明:

cmake                  --(mysql5.5以后是通过cmake来编译的)

ncurses-devel      --执行cmake是需要依赖的包,如缺少编译报错


# yum install  -y gcc gcc-c++ cmake ncurses-devel


wKiom1c6l7XQNPBLAABApuqBntc094.png

wKiom1c6l7XBHot0AAAT4hwXjJY025.png

二.配置mysql用户和/data/目录


[root@mysql src]# useradd -s /sbin/nologin -M mysql

[root@mysql src]# mkdir -p /data/mysql

[root@mysql src]# chown -R mysql:mysql /data/mysql


wKioL1c6mQuQoUWiAAAO6AeQ4i0332.png


三.下载mysql


我们从sohu的网站下载

wKiom1c6mZjRhzhNAABzIBLQE_s882.png

wKioL1c6moCglulSAACbM-2tBSI033.png

点击右键。复制链接地址,然后再linux中使用wget工具下载
如果没有wget工具使用 yum install -y wget安装


[root@xin-c ~]# yum install -y wget


[root@xin-c ~]# cd /usr/local/src/

[root@xin-c src]# wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.49.tar.gz


wKiom1c6moqRzYRkAAANR4c1F10932.png

wKioL1c6m3KCqnfAAAB2hkT1bAY641.png


[root@xin-c src]# tar -zxvf mysql-5.5.49.tar.gz


wKiom1c6m7rjwgPZAAAIrZSroLQ562.png

wKiom1c6m7rCJn5KAAAIgvjE7GA433.png


[root@xin-c ~]# cd /usr/local/src/mysql-5.5.49


wKioL1c6nPKDZIOiAAAKHUNjmWs781.png



四.编译(cmake)


[root@xin-c mysql-5.5.49]#

cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/data/mysql  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql  -DMYSQL_TCP_PORT=3306


wKioL1c6nofih_wQAAAj64GcgME112.png

wKiom1c6naCSfWlbAABQZhlusCw334.png


cmake参数说明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql                      --默认安装目录

-DINSTALL_DATADIR=/Data/Mysql                                      --数据库存放目录

-DDEFAULT_CHARSET=utf8                                                  --使用utf8字符

-DDEFAULT_COLLATION=utf8_general_ci                            --校验字符

-DEXTRA_CHARSETS=all                                                       --安装所有扩展字符集

-DENABLED_LOCAL_INFILE=1                                               --允许从本地导入数据

-DMYSQL_USER=mysql                                                         -- 指定用户

-DMYSQL_TCP_PORT=3306                                                  --指定端口

注意:在这里如果有下面报错说明你没有安装ncurses-devel

-- Configuring incomplete, errors occurred!

See also "/usr/local/src/mysql-5.5.23/CMakeFiles/CMakeOutput.log".

See also "/usr/local/src/mysql-5.5.23/CMakeFiles/CMakeError.log".

解决方法:[root@mysql src]# yum install -y ncurses-devel


在mysql5.5之前./configure 报错后再重新编译的时候需要make clean ,但是5.5以后需要rm -rf CMakeCache.txt,牢记:

[root@mysql mysql-5.5.23]# rm -rf CMakeCache.txt


[root@xin-c mysql-5.5.49]# make && make install

这个过程有点长,大家可以走动一下,一会回来再看(取决于你的服务器性能)

wKiom1c6oLmCl13NAACJ-bokg-8673.png


五.配置


[root@xin-c data]# cd /usr/local/mysql/



wKioL1c6oyTRgYzoAAB2GCYpda4380.png



[root@xin-c mysql]# chown -R mysql:mysql /usr/local/mysql/



wKiom1c6oozysltnAAB8iN5VUcQ731.png


初始化数据库

[root@xin-c mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql/


wKioL1c6pDOAeoLXAADnKVDrdkc861.png


[root@xin-c mysql]# cd /usr/local/mysql/support-files/

[root@xin-c support-files]# cp my-small.cnf /etc/my.cnf

[root@xin-c support-files]# cp mysql.server /etc/init.d/mysqld



wKiom1c6pLmBpncZAACBRK8RwDE400.png


[root@xin-c support-files]# vim /etc/init.d/mysqld

找到basedir,datadir将相对应的安装目录和数据目录添加


basedir=/usr/local/mysql

datadir=/data/mysql


wKioL1c6pfrhjpjGAABHy13zH_M880.png


[root@xin-c support-files]# /etc/init.d/mysqld start

[root@xin-c support-files]# ps aux |grep mysql

[root@xin-c support-files]# netstat -lnp |grep 3306


wKioL1c6pv2S3_9dAABe-UGXQyE610.png

六.验证结果



[root@xin-c ~]# /usr/local/mysql/bin/mysql


wKiom1c6pw7DQIlCAACCzYlskFE405.png



命令这么长,感觉很麻烦,定义一下PATH


[root@xin-c ~]# cd /etc/profile.d/

[root@xin-c profile.d]# vim path.sh

#!/bin/bash

export PATH=$PATH:/usr/local/mysql/bin

[root@xin-c profile.d]# .  /etc/profile.d/path.sh


wKiom1c6qBmyg34PAAA0uMmhK24682.png

ok  在试一下

wKioL1c6qXThW51uAABuef3Skmc596.png