CentOS 6.7编译安装MySQL 5.6

时间:2023-03-09 19:40:04
CentOS 6.7编译安装MySQL 5.6

1、安装前准备

 yum install make gcc gcc-c++ ncurses-devel perl bison-devel
yum groupinstall "Development Tools"
yum install libxml2-devel bzip2-devel libcurl-devel

2、安装CMake

 wget https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz
tar -zxvf cmake-3.4..tar.gz
cd cmake-3.4.
./configure
make && make install

或者

yum install cmake

3、下载MySQL 5.6

 wget http://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.28.tar.gz
tar -zxvf mysql-5.6..tar.gz
cd mysql-5.6.

4、配置编译参数

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_MEMORY_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT= \
-DENABLED_LOCAL_INFILE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
 cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_ARCHIVE_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT= \
-DENABLE_DOWNLOADS=

5、编译安装(时间比较久)

make && make install

6、配置用户组

 groupadd mysql
useradd -r -g mysql mysql

7、建立数据库目录(/data/mysqldb)

mkdir -p /data/mysqldb

8、更改权限

 chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /data/mysqldb

9、初始化

 cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

10、配置文件默认位置/usr/local/mysql/my.cnf(删除/etc/my.cnf)

 rm /etc/my.cnf
chown mysql:mysql /usr/local/mysql/my.cnf

11、启动MySQL

 cp support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start

启动成功会出现

    Starting MySQL. SUCCESS!

12、运行安全设置脚本

/usr/local/mysql/bin/mysql_secure_installation

13、在/etc/profile末尾加入

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

重新载入配置

source /etc/profile

14、关闭iptables防火墙

service iptables stop