#!/bin/bash
set -x
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
#yum groupinstall "Server Platform Development" "Development tools" -y
yum install -y gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl make
#data mkdir
mkdir -p /data/mysql
groupadd -r mysql
useradd -r -g mysql -s /sbin/nologin mysql
chown -R mysql:mysql /data/mysql
cd /usr/local/src
wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
tar xf cmake-2.8.12.2.tar.gz
cd camke-2.8.12.2
./configure
make && make install
cd /usr/local/src
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar xf boost_1_59_0.tar.gz
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21.tar.gz
tar xvf mysql-5.7.21.tar.gz
cd mysql-5.7.21
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/boost_1_59_0 -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1
#如果出现下面的提示就表示成功生成了编译环境:
#-- Configuring done
#-- Generating done
make && make install
#修改安装目录的属组为mysql。
chown -R mysql:mysql /usr/local/mysql/
配置文件
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
[mysqld_safe]
log-error=/var/log/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
#初始化数据库。
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/data/mysql
#拷贝配置文件和启动脚本。
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
#设置环境变量
export PATH=/usr/local/mysql/bin:$PATH
#设置开机自动启动。
chkconfig mysqld on
chkconfig --add mysqld
#启动服务。
service mysqld start
/usr/local/mysql/bin/mysql -uroot -p
alter user 'root'@'localhost' identified by '123456';
如果错过打印的临时密码,可以使用--skip-grant-tables 进行重新设置密码;
export PATH=/usr/local/mysql/bin:$PATH
select host,user,authentication_string from mysql.user;
create user yinlian identified by 'yinlian!@#123';
grant all privileges on *.* to 'yinlian'@'%'identified by 'yinlian!@#123' with grant option;
flush privileges;
/usr/local/mysql/bin/mysql -u yinlian -h 172.17.51.156 -p