MySQL5.6二进制安装脚本
#!/bin/bash
# FlyDido
# 2018.4.17
#关闭SElinux
sed -i 's/enforcing/disabled/g' /etc/sysconfig/selinux
setenforce=0
#打开80,3306端口
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save &>> /tmp/install_2_mysql.log
echo -e "防火墙80,3306端口已经开启\n"
#创建用户
groupadd -g 502 mysql
useradd -u 502 mysql -g mysql -G mysql
#安装必要的工具
yum install -y vim wget &> /tmp/install_2_mysql.log &&
yum -y install numactl &>> /tmp/install_2_mysql.log &&
echo -e "基础环境安装完成\n"
#设置ntp同步,以免数据库时间不一致
yum install -y ntp ntpdate && >> /tmp/install_2_mysql.log
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
service ntpdate start && echo -e 'ntp同步时间完成\n'
#下载二进制包
mkdir -p /root/qimo/tools/
cd /root/qimo/tools/
#设置当前版本为M,如果下载报错,请修改此处版本为ftp上存在的版本
M=mysql-5.6.39-linux-glibc2.12-x86_64
#开始下载
wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.6/$M.tar.gz
if [ $? == 0 ];then
echo -e "下载完成\n开始解压mysql二进制安装包\n"
else
echo -e "当前下载版本为:"$M"\n下载已经失败\n请检查该版本是否存在于ftp上\n"
exit 1
fi
tar -xf $M.tar.gz
echo -e '解压已经完成,拷贝mysql到指定路径\n'
mv $M mysql
cp -r mysql /usr/local/ && >> /tmp/install_2_mysql.log
cd /usr/local/mysql
echo -e '拷贝完成\n'
#做好备份
mv /etc/my.cnf /etc/my.bak && > /dev/null
mv /etc/rc.d/init.d/mysqld /etc/rc.d/init.d/mysqld.bak && >> /dev/null
echo -e '配置备份完成\n'
#拷贝配置文件
cp -f support-files/my-default.cnf /etc/my.cnf && >> /tmp/install_2_mysql.log
cp -f support-files/mysql.server /etc/rc.d/init.d/mysqld && >> /tmp/install_2_mysql.log
#添加参数
sed -i '/# socket/a\basedir=/usr/local/mysql\ndatadir=/usr/local/mysql/data\nport=3306\n' /etc/my.cnf
sed -i '/# log_bin/a\log_bin=/usr/local/mysql/log/binlog\nbinlog_format=row\nlog-error=/usr/local/mysql/log/mysql.err' /etc/my.cnf
echo -e 'my.cnf默认参数配置完成\n'
#修改权限
mkdir -p /usr/local/mysql/log
touch /usr/local/mysql/log/mysql.err &>> /tmp/install_2_mysql.log
chown -R mysql.mysql /usr/local/mysql/
echo -e '权限更改完成\n'
#执行初始化
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#增加环境变量
echo 'export MySQL_HOME=/usr/local/mysql' >> /etc/profile
echo 'export PATH=$PATH:$MySQL_HOME/bin' >> /etc/profile
#增加软链接
ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
#启动mysql
service mysqld start
#修改密码
read -p "接下来将修改root密码,请设置密码:" -s pa
mysqladmin -u root password "$pa" &>> /tmp/install_2_mysql.log
echo -e 'mysql安装完成\n启动完成\n环境变量添加完成,请手动执行source /etc/profile\n注意:80和3306端口已经开启,如有需要请修改防火墙关闭\n'