我自己写的脚本,有问题随时联系QQ:2959855299
安装
#!/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