- #!/usr/bin/env bash
- #MySQL 编译安装 by blackmed
- byhe(){
- rpm -qa | grep mariadb
- if [ $? -eq 0 ];then
- rpm -e --nodeps>/dev/null
- fi
- rm -rf /etc/my*>/dev/null
- rm -rf /var/lib/MySQL>/dev/null
- userdel -r MySQL>/dev/null
- rpm -qa | grep cmake
- if [ $? -ne 0 ];then
- yum -y install cmake ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make>/dev/null
- echo "========================================"
- echo "The success of the prophase environment."
- echo "========================================"
- fi
- useradd -r MySQL -M -s /sbin/nologin
- mkdir /MySQL
- wget -O /MySQL/MySQL-5.7.20.tar.gz https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz>/dev/null
- tar xvf /MySQL/MySQL-5.7.20.tar.gz -C /MySQL/
- cd /MySQL/MySQL-5.7.20
- cmake .
- -DDOWNLOAD_BOOST=1
- -DWITH_BOOST=boost_1_59_0/
- -DCMAKE_INSTALL_PREFIX=/usr/local/MySQL
- -DSYSCONFDIR=/etc
- -DMYSQL_DATADIR=/usr/local/MySQL/data
- -DINSTALL_MANDIR=/usr/share/man
- -DMYSQL_TCP_PORT=3306
- -DMYSQL_UNIX_ADDR=/tmp/MySQL.sock
- -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all
- -DDEFAULT_COLLATION=utf8_general_ci
- -DWITH_READLINE=1 -DWITH_SSL=system
- -DWITH_EMBEDDED_SERVER=1
- -DENABLED_LOCAL_INFILE=1
- -DWITH_INNOBASE_STORAGE_ENGINE=1
- make && make install
- echo "==========================="
- echo "mysql install successfully"
- echo "==========================="
- chown -R MySQL.MySQL /usr/local/MySQL/
- local_mysql=/usr/local/MySQL/bin
- ${local_mysql}/mysqld --initialize --user=MySQL --basedir=/usr/local/MySQL --datadir=/usr/local/MySQL/data
- mima=`${local_mysql}/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data | awk '/localhost\:/{print $NF}' `
- touch /etc/my.cnf
- echo "[mysqld]">> /etc/my.cnf
- echo "basedir=/usr/local/mysql">> /etc/my.cnf
- echo "datadir=/usr/local/mysql/data">> /etc/my.cnf
- sed -i '/PATH=/cPATH=$PATH:$HOME/bin:/usr/local/mysql/bin' ~/.bash_profile
- source ~/.bash_profile
- mysqld_safe --user=MySQL &
- mysqladmin -u root -p${mima} password 1
- echo "==============================================="
- echo "Initialization completion can be used normally."
- echo "==============================================="
- }
- byhe
来源: http://www.bubuko.com/infodetail-3260913.html