创建目录并进入到/data下
mkdir -p /data && cd /data
下载
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
wget https://2070n1o927.iok.la/source/Centos7_installation/Mysql_installation/boost_1_59_0.tar.gz
上传boost_1_59_0.tar.gz、mysql-5.7.17.tar.gz至/data,并安装相关依赖以及解压
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake make sysstat
tar zxf boost_1_59_0.tar.gz -C /data/ && mv boost_1_59_0 boost
tar zxf mysql-5.7.17.tar.gz -C /data/ && cd /data/mysql-5.7.17/
创建mysql用户
useradd -M -s /sbin/nologin mysql
配置
cmake \
-DCMAKE_INSTALL_PREFIX=/data/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/data/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql/data \
-DWITH_BOOST=/data/mysql/boost \
-DWITH_SYSTEMD=1
使用最大CPU核数编译安装
make -j `nproc ` && make install
修改编译安装完成后的文件夹权限
chown -R mysql:mysql /data/mysql/
初始化数据库
/data/mysql/bin/mysqld \ --initialize-insecure \ --user=mysql \ --basedir=/data/mysql \ --datadir=/data/mysql/data
mysql配置文件
cat > /etc/my.cnf << EOF
[mysqld]
datadir=/data/mysql/data
socket=/data/mysql/mysql.sock
user=mysql
#若取消注释,表示允许本地无密码登陆。
#skip-grant-tables
#表示允许任何IP都可以访问mysql服务
bind-address = 0.0.0.0
#最大连接数
max_connections=3000
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql]
socket=/data/mysql/mysql.sock
EOF
开机自启动服务
cp /data/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl enable mysqld
chkconfig mysqld on
service mysqld restart
netstat -anpt | grep 3306
停止防火墙(按自己需求选择)
systemctl stop firewalld
systemctl disable firewalld
systemctl stop iptables
systemctl disable iptables
登录mysql
mysql
新建用户
grant all privileges on *.* to 'test'@'%' identified by 'adaxi' with grant option;