「MySQL 5.6」- 通过源码编译安装

更新日期:2019年08月12日

#!/bin/sh

cd /usr/local/src

################################################################################
# 编译安装
################################################################################
# 安装依赖
yum -y install   make wget gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* \
    libxml* ncurses-devel libmcrypt libtool-ltdl-devel* bison bison-devel \
    ncurses-devel perl perl-devel

# 下载安装cmake编译工具
wget http://yum.dfwsgroup.com/source/mysql/cmake-2.8.10.2.tar.gz
tar -zxvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./configure --prefix=/usr/local/cmake
make && make install
cd /usr/local/src

# 下载MySQL5.6源码包
wget http://yum.dfwsgroup.com/source/mysql/mysql-5.6.14.tar.gz
tar -zxvf mysql-5.6.14.tar.gz
cd mysql-5.6.14
mkdir source_downloads
cd source_downloads
wget http://yum.dfwsgroup.com/source/mysql/gmock-1.6.0.zip
cd ..

# 进行编译
/usr/local/cmake/bin/cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_DATADIR=/mysqldata/data \
    -DSYSCONFDIR=/etc \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_MEMORY_STORAGE_ENGINE=1 \
    -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
    -DMYSQL_TCP_PORT=3306 \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DEXTRA_CHARSETS=all \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci

# 如果编译报错则退出shell
if [ $? -gt 0 ];then
	exit0
fi
make && make install

################################################################################
# 初始化并启动数据库
################################################################################
cd /usr/local/src

#创建运行mysql的用户
useradd mysql

#初始化mysql数据库
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf 、
    --basedir=/usr/local/mysql --datadir=/mysqldata/data --user=mysql

#将mysql命令写入环境变量,并重新加载环境变量配置文件
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

#把mysql启动文件考入init.d并加入开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on

cd /usr/local/src
mv /etc/my.cnf /etc/my.cnf.bak
service mysql start

#无法启动
groupadd myslq
useradd -g mysql mysql
mkdir -p /mysqldata/data
chown -R mysql:mysql /mysqldata/data
#修改 /etc/my.cnf  datadir改为/mysqldata/data
#提示找不到 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock


ToC