mysql安装脚本

mysql5.7版本安装

#!/bin/bash
ext="退出: 按ctrl+c或者control+c"
echo '如果你已经安装过mysql请停止mysql进程然后使用rm -rf <mysqlpath> 删除mysql'
read -p "输入你想用的mysql密码(打错密码或者${ext}): " my_input
echo "等待5秒,期间可以犹豫取消安装${ext}"
sleep 5
echo '安装编译工具及库文件 如果你安装过mysql就无需使用yum了'
yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel 
yum -y install libaio-devel.x86_64
yum -y install numactl
echo 'mysql将下载并解压安装在 /usr/local/ 路径下'
cd /usr/local
echo '下载mysql'
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
echo "等待5秒,即将开始解压安装。期间可以取消安装,但5秒后请不要再退出了${ext}"
sleep 5
echo "开始解压安装,请不要退出!"
sleep 2
tar -zxvf  mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.36-linux-glibc2.12-x86_64  mysql
cd mysql 
mkdir data
chmod -R 777 /usr/local/mysql/data
groupadd mysql
useradd -g mysql mysql
echo -e "[mysqld]\nbind-address=0.0.0.0\nport=3306\nuser=mysql\nbasedir=/usr/local/mysql\ndatadir=/usr/local/mysql/data\nsocket=/tmp/mysql.sock\nlog-error=/usr/local/mysql/data/mysql.err\npid-file=/usr/local/mysql/data/mysql.pid\n#character config\ncharacter_set_server=utf8mb4\nsymbolic-links=0\nexplicit_defaults_for_timestamp=true" > /etc/my.cnf
echo '开始安装'
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql/
echo '安装结束,备份初始密码/usr/local/mysql/data/mysql.err,位于末尾root@localhost: <密码>'
#cat /usr/local/mysql/data/mysql.err
# 获取文件中的最后一行
last_line=$(tail -n 1 /usr/local/mysql/data/mysql.err)
# 提取密码
pwd=$(echo $last_line | awk  '{print $NF}')

echo '############安装结束########分隔符############创建软连接###设置开机启动#####'
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql start
# 输出密码
echo "文件中的mysql初始密码是: $pwd"
mysql -hlocalhost -uroot -p${pwd} << EOF
set password=password("${my_input}");
FLUSH PRIVILEGES;
USE mysql;
UPDATE user SET Host='%' WHERE User='root';
FLUSH PRIVILEGES;
EOF
echo "关闭防火墙并且禁止开机启动"
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
echo "安装结束,清理安装文件"
cd /usr/local
rm -rf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
echo "您设置的 MySQL 密码为: ${my_input}"
echo "请输入密码登陆验证#mysql -hlocalhost -uroot -p 按exit退出"
mysql -hlocalhost -uroot -p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值