###########################请先备份数 #######################
——每次安装MysqL,劳神费力,时间宝贵安能浪费
——CentOS6.5 CentOS7.2 自测成功
——现在自己装MysqL都是用这个,那叫一个舒爽
安装:下载 mysql.rar 文件按照 readme.txt 操作即可
############################# 结束符 ##########################
或者也可以自己倒腾
shell文件:
#!/bin/sh #关闭进程 /etc/init.d/MysqLd stop killall MysqLd pids=($(ps -ef | grep MysqL | awk '{print $2}')) for((i=0; i<${#pids[@]}; i++));do echo "关闭进程: pid ${pids[i]}" kill -9 ${pids[i]} done #uninstall MariaDB mariadb=($(rpm -qa|grep -i MariaDB)) for((i=0; i<${#mariadb[@]}; i++));do echo "旧版mariadb: ${mariadb[i]}" echo "删除..." yum -y remove ${mariadb[i]} done #强制卸载,防止残留 mariadb=($(rpm -qa|grep -i MariaDB)) for((i=0; i<${#mariadb[@]}; i++));do echo "旧版mariadb: ${mariadb[i]}" echo "强制删除..." rpm -e --nodeps ${mariadb[i]} rpm -e --noscripts ${mariadb[i]} done #uninstall old MysqL old_MysqL=($(rpm -qa|grep -i MysqL)) for((i=0; i<${#old_MysqL[@]}; i++));do echo "旧版MysqL: ${old_MysqL[i]}" echo "删除..." yum -y remove java ${old_MysqL[i]} done #remove old MysqL files old_MysqL_file=($(find / -name MysqL)) for((i=0; i<${#old_MysqL_file[@]}; i++));do echo "旧版MysqL文件: ${old_MysqL_file[i]}" if [[ ${old_MysqL_file[i]} =~ "/usr/MysqL" ]] then continue fi echo "删除..." rm -rf ${old_MysqL_file[i]} done #remove setting files rm -rf /var/log/MysqLd.log rm -rf /etc/my.cnf* rm -rf /run/MysqLd/* rm -rf /usr/bin/MysqL* #find zip MysqL file srcPath=$(find /usr/MysqL -maxdepth 1 -type f|grep MysqL*.tar) if [[ $srcPath =~ "MysqL" ]] then echo "安装包:$srcPath" else echo "下载MysqL..." yum -y install wget wget https://downloads.MysqL.com/archives/get/file/MysqL-5.7.13-1.el6.x86_64.rpm-bundle.tar -P /usr/MysqL/ srcPath=$(find /usr/MysqL -maxdepth 1 -type f|grep MysqL*.tar) fi #unzip echo "解压..." tar xvf $srcPath #安装依赖 echo "安装 perl-DBI..." yum install -y perl-DBI echo "安装 libaio..." yum install -y libaio #install rpms=($(find /usr/MysqL -maxdepth 1 -type f|grep MysqL-community)) for((r=${#rpms[@]}; r>0; r--));do echo "$r" for((i=0; i<${#rpms[@]}; i++));do echo "" echo "安装: ${rpms[i]}" echo "安装..." rpm -ivh ${rpms[i]} done done #开机启动 chkconfig MysqLd on echo "" echo "安装完毕,初始化设置" /etc/init.d/MysqLd start tmpPwd=$(grep 'temporary password' /var/log/MysqLd.log |awk -F ': ' '{print $2}') echo "Temp Password is $tmpPwd" echo "#1.停止MysqL数据库" /etc/init.d/MysqLd stop echo "#2.启动MysqLd_safe" MysqLd_safe --user=MysqL --skip-grant-tables --skip-networking & for((i=0; i<10; i++));do sleep 4s ps=($(ps -ef | grep MysqLd_safe | awk '{print $1}')) if [ ${#ps[@]} -gt 1 ];then echo "MysqLd_safe started" echo "#3.使用root登录MysqL数据库并设置密码为"root" " MysqL -u root MysqL <<EOF /* 更新root密码 */ UPDATE user SET authentication_string=PASSWORD('root') where USER='root'; /* 刷新权限 */ FLUSH PRIVILEGES; EOF tmpPwd="root" break else echo "${i}..." sleep 1s if [ ${i} -ge 5 ];then echo "MysqLd_safe : not started" break; fi fi done echo "重启MysqL" /etc/init.d/MysqLd restart #将port=3306写入/etc/my.cnf文件 echo "设置端口" sed -i '/datadir=/i\port=3306' /etc/my.cnf echo "success restart..." service MysqLd restart echo "MysqL has been installed and started" echo "" echo " You probably need to do operations as follows by yourself for some security reasons. /* 进入MysqL */ MysqL -uroot -p${tmpPwd} /* 修改密码长度策略 */ set global validate_password_policy=0; set global validate_password_length=0; /* 重置密码 */ alter user 'root'@'localhost' identified by 'root'; FLUSH PRIVILEGES; /* 设置外网访问 */ use MysqL; select 'host' from user where user='root'; update user set host = '%' where user='root'; FLUSH PRIVILEGES; "
1. 放置到 /usr/MysqL 下运行
2. 首次安装自动下载MysqL-5.7.13-1.el6.x86_64.rpm-bundle.tar,或者自己下载新版rpm-bundle.tar的MysqL文件放入/usr/MysqL/
3. 初始密码设置为root,请按安装提示激活