1.编译安装
#安装依赖
yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel openssl-devel
#创建用户
useradd -M -s /sbin/nologin mysql
#创建数据目录
mkdir /data/3306 -p
chown -R mysql. /data
#下载解压
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.28.tar.gz
tar zxf mysql-boost-5.7.28.tar.gz
#编译安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/3306 \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.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 \
-DWITH_BOOST=boost
make -j && make install && echo $?
#编写配置文件
cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
EOF
#环境变量设置
echo export PATH=/usr/local/mysql/bin:$PATH >> /etc/profile
. /etc/profile
#初始化数据库
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306
#编写启动脚本
cat > /etc/systemd/system/mysqld.service <<EFO
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=5000
EFO
systemctl start mysqld
2.二进制安装
#创建用户、数据目录
mkdir /data/mysql
chown -R mysql /data
#准备程序
tar xf mysql-5.7.26-linux-x86_64.tar.gz -C /usr/local/mysql
chown -R root. /usr/local/mysql
#准备配置文件
cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
EOF
#初始数据库文件
cd /usr/local/mysql/
./scripts/mysql_install_db --datadir=/data/mysql --user=mysql
#环境变量设置
echo export PATH=/usr/local/mysql/bin:$PATH >> /etc/profile
. /etc/profile
#准备服务脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start