Mysql 5.7 编译安装脚本

#!/bin/bash
#Automatic deployment mysql (自动部署 mysql)
#2019年7月1日
yum -y update
#Definition originallybr/>pass='NIcai@123'
#wget_boost=ftp://10.18.40.100/source-soft/boost_1_59_0.tar.gz
#wget_mysql=ftp://10.18.40.100/source-soft/mysql-5.7.19.tar.gz
#install download
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake

#官网下载
#wget_boost=
http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
wget_mysql=https://downloads.mysql.com/archives/get/file/mysql-5.7.19.tar.gz

#下载地方
wget $wget_boost
wget $wget_mysql

#install MySQL
groupadd mysql
useradd -r -g mysql -s /bin/flase mysql
tar xf mysql-5.7.19.tar.gz

#install boost
mv boost_1_59_0.tar.gz mysql-5.7.19
cd mysql-5.7.19/
tar xf boost_1_59_0.tar.gz

#To configure (配置)
cmake . \
-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
EOF
#compile(编译)
make

#install
make install

#-DCMAKE_INSTALL_PREFIX:安装路径
#-DMYSQL_DATADIR:数据存放目录
#-DWITH_BOOST:boost源码路径
#-DSYSCONFDIR:my.cnf配置文件目录
#-DEFAULT_CHARSET:数据库默认字符编码
#-DDEFAULT_COLLATION:默认排序规则
#-DENABLED_LOCAL_INFILE:允许从本文件导入数据
#-DEXTRA_CHARSETS:安装所有字符集

#Initialization(初始化)
cd /usr/local/mysql/
mkdir mysql-files
chown -R mysql.mysql /usr/local/mysql
#注意目录名称,此处为自己自建的目录

#将获得的临时密码追加到passwd.txt中(出错)
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
read -p "请输入你的初始密码: " passwd
echo "$passwd" >>/root/startpass.txt
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

#备份原配置文件
mv /etc/my.cnf /etc/cpmy.cnf
cat >/etc/my.cnf <<-EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
EOF

#启动mysql
cp support-files/mysql.server /etc/init.d/mysqld
#添加mysql服务
chkconfig --add mysqld
#开机自启动服务
chkconfig mysqld on
#service mysqld start
systemctl start mysqld
systemctl enable mysqld

#将mysql命令加入profile文件
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

mysqladmin -uroot -p''cat /root/startpass.txt'' password ''$pass'' >>/dev/null
if [ $? -eq 0 ]
then
echo "------------------------------------------"
echo -e "\033[34m 新的密码为: $pass \033[0m "
echo -e "\033[35m 数据库创建成功!! \033[0m"
else
echo -e "\033[36m 修改密码失败 \033[0m"
fi

猜你喜欢

转载自blog.51cto.com/14142911/2417152
今日推荐