如果系统是最小化安装的,需先安装GCC环境及MYSQL依懒的ncurses
yum install -y gcc* ncurses-devel
安装Zlib
wget http://zlib.net/zlib-1.2.8.tar.gz
tar zxf zlib-1.2.8.tar.gz -C /usr/local/src/
cd /usr/local/src/zlib-1.2.8/
CFLAGS="-fPIC -O3" ./configure --shared --64
make -j `cat /proc/cpuinfo | grep processor | wc -l`;make install
chcon -R -u system_u /usr/local/lib/libz.so*
安装Cmake
cd
wget http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz
tar zxf cmake-3.2.2.tar.gz -C /usr/local/src/
cd /usr/local/src/cmake-3.2.2/
./configure
gmake;gmake install
建立mysql运行用户和数据存储目录:
groupadd -g 200 mysql
useradd -u 200 -g mysql -s /sbin/nologin -d /var/lib/mysql -M mysql
mkdir -p /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/
解压Mysql并使用Cmake进行编译前配置
tar zxf mysql-5.6.27.tar.gz -C /usr/local/src/
cd /usr/local/src/mysql-5.6.27/
编译前配置,所有参数可在
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql/ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DSYSCONFDIR=/usr/local/mysql/ -DWITH_ZLIB=/usr/local/
参数意义:
-DCMAKE_INSTALL_PREFIX设置安装路径
-DMYSQL_DATADIR设置Mysql数据目录位置
-DMYSQL_UNIX_ADDR 设置Mysql Sockt位置
-DDEFAULT_CHARSET、-DDEFAULT_COLLATION、-DEXTRA_CHARSETS设置默认字符集和扩展字符集
-DWITH_INNOBASE_STORAGE_ENGINE等,启用所有引擎
–DSYSCONFDIR设置Mysql配置文件目录
编译
make -j `cat /proc/cpuinfo | grep processor | wc -l`
-j设置编译时使用的CPU数量,默认一个
cat /proc/cpuinfo | grep processor | wc –l统计CPU核数
安装
make install
安装后配置:
拷贝默认配置文件:
cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/my.cnf
禁用系统自带的
mv /etc/my.cnf /etc/my.cnf.bak
按其提示,去除#号,修改配置文件:
初始化数据库:
cd /usr/local/mysql/
./scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql
初始化若报错缺少perl-Data-Dumper,安装perl-Data-Dumper库即可完成之后它会提示你创建root用户密码:
先启动数据库
/usr/local/mysql/bin/mysqld_safe --user=mysql &
创建密码
/usr/local/mysql/bin/mysqladmin -u root password 'Admin'
安全初始化:
cd /usr/local/mysql/
./bin/mysql_secure_installation
按其提示配置即可。
配置为系统服务(RHEL7/CentOS7以下):
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig --level 35 mysqld on
之后即可使用service命令管理
service mysqld start
RHEL7/CentOS7之后使用systemctl来管理服务,可使用如下方法添加为服务
从源码包从拷贝systemd启用脚本
cp /usr/local/src/mysql-5.6.27/packaging/rpm-oel/mysql-systemd-start
修改编辑
/usr/local/mysql/bin/
chmod +x /usr/local/mysql/bin/mysql-systemd-start
cd /usr/local/mysql/bin
sed -i 's/\/usr\/bin/\/usr\/local\/mysql\/bin/g' mysql-systemd-start
sed -i 's/mysqladmin/\/usr\/local\/mysql\/bin\/mysqladmin/g' mysql-systemd-start
从源码包从拷贝服务脚本:
cp /usr/local/src/mysql-5.6.27/packaging/rpm-oel/mysqld.service /usr/lib/systemd/system/
修改路径
sed -i 's/\/usr\/bin/\/usr\/local\/mysql\/bin/g' /usr/lib/systemd/system/mysqld.service
启用并启动服务
systemctl enable mysqld.service
systemctl start mysqld.service
访问及防火墙开放端口
终端下可这样访问:
/usr/local/mysql/bin/mysql -uroot –p
打开防火墙端口
RHEL7/CentOS7使用
firewall-cmd --permanent --add-service=mysql
firewall-cmd –reload
RHEL7/CentOS7以前使用iptables
iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
其它机器访问