function install_mysql(){ MYSQL_BASE=/usr/local/mysql cd $TMP_DIR file="mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz" if [ ! -f $file ]; then echo "File not found!" yum install -y wget && wget -c wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz; echo "下载实现,正在解压......."; tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql cd /usr/local/mysql #exit 0 fi echo "创立用户组" userdel mysql; groupadd mysql; useradd -r -g mysql mysql; mkdir -p /data/mysql; chown mysql:mysql -R /data/mysql;cd /etcecho "写入配置文件"cat > my.cnf <<EOF[mysqld]bind-address=0.0.0.0 #绑定地址运行近程连贯port=3306 #Mysql凋谢的端口user=mysql #数据库登录用户basedir=/usr/local/mysql #Mysql装置的绝对路径datadir=/data/mysql #Mysql数据寄存的绝对路径socket=/tmp/mysql.sock #套接字文件log-error=/data/mysql/mysql.err #mysql生成的谬误日志寄存的门路pid-file=/data/mysql/mysql.pid #为mysqld程序指定一个寄存过程ID的文件character_set_server=utf8mb4 #数据库字符编码symbolic-links=0 #是否开启链接符号explicit_defaults_for_timestamp=true #数据库timestamp类型的列自动更新EOFecho "初始化Mysql"cd /usr/local/mysql/bin/./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initializesleep 2sehco "启动mysql"cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqlservice mysql startservice mysql statusln -s /usr/local/mysql/bin/mysql /usr/binecho "获取mysql初始密码"PASSWORD=`cat /data/mysql/mysql.err |grep "temporary password"|awk -F"root@localhost: " '{print $2}'`echo "批改mysql明码"$MYSQL_BASE/bin/mysql --socket=/tmp/mysql.sock --connect-expired-password -uroot -p${PASSWORD} -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'root@.com';"$MYSQL_BASE/bin/mysql --socket=/tmp/mysql.sock -uroot -proot@.com -e "FLUSH PRIVILEGES;"$MYSQL_BASE/bin/mysql --socket=/tmp/mysql.sock -uroot -proot@.com -e "USE mysql;"$MYSQL_BASE/bin/mysql --socket=/tmp/mysql.sock -uroot -proot@.com -e "UPDATE user SET host = '%' WHERE user = 'root';"$MYSQL_BASE/bin/mysql --socket=/tmp/mysql.sock -uroot -proot@.com -e "FLUSH PRIVILEGES;"$MYSQL_BASE/bin/mysql --socket=/tmp/mysql.sock -uroot -proot@.com -e "exit;"echo "重启数据库"service mysql restart;service mysql status;echo "以服务项启动"cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld;chmod +x /etc/init.d/mysqld;chkconfig --add mysqld;chkconfig --list;firewall-cmd --zone=public --add-port=3306/tcp --permanent;firewall-cmd --reload;firewall-cmd --list-all;echo "=========> MYSQL信息 <========="echo " 数据库版本 : 5.7.37 "echo " 数据库明码 : root@.com "echo " 数据库端口 : 3306 "echo " BASEDIR目录: /usr/local/mysql "echo " DATADIR目录: /data/mysql "}install_mysql