mysql 5.6.25 rpm_mysql5.6rpm包shell脚本安装

1 #!/bin/bash2 #desc: mysql5.6的一键安装脚本3 #安装说明: 将整个目录上传到服务器任意目录下,修改配置文件中MySQL密码后,直接执行可。4 #测试环境: 该脚本在虚拟机上的centOS6.8下测试可行,Linux系统为标准桌面安装5

6 ###预定义变量7 #获得当前脚本所在目录8 curr_path=$(cd `dirname $0`; pwd)9 #获得配置文件10 conf_file=${curr_path}/install.conf11 #安装包所在目录,为脚本当前目录的rpms下12 mysql_rpm_dir=${curr_path}/rpms13 #读取配置文件,获得用户自定义的mysql密码,如果用户未指定,默认密码为root14 user_mysql_passwd=`sed -e '/^[ ]*define_passwd[ ]*=/!d;s/.*=[ ]*//'${conf_file}`15 mysql_passwd=${user_mysql_passwd:-root}16

17

18 #定义卸载已有mysql的函数19 functionuninstallOldMysql {20 for item in `rpm -qa | grep -i mysql`21 do

22 rpm -e --nodeps ${item}23 done

24 for item in `find / -name mysql`25 do

26 rm -rf ${item}27 done

28 }29

30

31 #读取文件/root/.mysql_secret,获得mysql的初始密码32 functiongetInitPasswd() {33 for line in `cat /root/.mysql_secret`34 do

35 word=$line36 done

37 echo${word}38 }39

40

41 #判断mysql是否正在运行,如果正在运行,则返回1,否则返回042 functionjudgeMysqlRunning() {43 port=`netstat -nlt | grep 3306 | wc -l`44 if [ $port -eq 1 ]; then

45 return 0

46 else

47 return 1

48 fi

49 }50

51

52 #停止正在运行的mysql53 functionstopRunningMysql() {54 service mysql stop55 }56

57 echo `date "+%Y-%m-%d %T"` "******安装mysql......"

58

59 #第一步:停止并卸载原有的mysql60 echo `date "+%Y-%m-%d %T"` "---->>停止彻底卸载已有的mysql......"

61 #如果mysql正在运行,停止mysql62 judgeMysqlRunning63 if [ $? -eq 0 ]; then

64 stopRunningMysql65 fi

66 #卸载mysql67 uninstallOldMysql68 #删除mysql配置文件69 rm -rf /root/.mysql_secret70 rm -rf /usr/my.cnf71 sleep 2

72 echo `date "+%Y-%m-%d %T"` "---->>删除mysql执行完毕"

73

74

75 #第二步:安装rpm安装包76 echo `date "+%Y-%m-%d %T"` "---->>安装mysql-client......"

77 rpm -ivh ${mysql_rpm_dir}/MySQL-client-5.6.35-1.el6.x86_64.rpm 1>/dev/null 2>&1; sleep 2

78 echo `date "+%Y-%m-%d %T"` "---->>安装mysql-server......"

79 rpm -ivh ${mysql_rpm_dir}/MySQL-server-5.6.35-1.el6.x86_64.rpm 1>/dev/null 2>&1; sleep 2

80 echo `date "+%Y-%m-%d %T"` "---->>mysql rpm包安装完毕"

81

82

83 #第三步:初始化mysql,设置新密码84 echo `date "+%Y-%m-%d %T"` "---->>新密码设置......"

85 #安装后启动mysql86 service mysql start 1>/dev/null 2>&1; sleep 2

87 #获取mysql初始密码88 init_passwd=`getInitPasswd`89 #使用初始密码登录mysql,并设置新密码90 mysql --connect-expired-password -uroot -p${init_passwd} << EOF 1>/dev/null 2>&1; sleep 2

91 set PASSWORD=PASSWORD('${mysql_passwd}');92 exit93 EOF94 sleep 2

95 echo `date "+%Y-%m-%d %T"` "---->>新密码设置完毕"

96

97

98 #第四步:授权设置,开启远程访问99 echo `date "+%Y-%m-%d %T"` "---->>授权设置......"

100 #使用新密码登录mysql101 mysql -uroot -p${mysql_passwd} << EOF 1>/dev/null 2>&1; sleep 2

102 use mysql;103 update user set password=password('${mysql_passwd}') where user='root';104 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${mysql_passwd}'WITH GRANT OPTION;105 flush privileges;106 exit107 EOF108 sleep 2

109 echo `date "+%Y-%m-%d %T"` "---->>授权执行完毕"

110

111

112 #第五步:设置开机自启,并优化mysql配置113 echo `date "+%Y-%m-%d %T"` "---->>配置优化并重启mysql......"

114 cat > /usr/my.cnf << EOF 1>/dev/null 2>&1; sleep 2

115 [mysqld]116 port = 3306

117 default-storage-engine =InnoDB118 lower_case_table_names = 1

119 max-connections=3000

120 character_set_server=utf8121 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES122 [mysql]123 default-character-set=utf8124 EOF125 #设置开机自启,并重启mysql126 chkconfig mysql on127 service mysql restart 1>/dev/null 2>&1

128 sleep 2

129 echo `date "+%Y-%m-%d %T"` "---->>配置优化、开机自启设置完毕"

130 echo `date "+%Y-%m-%d %T"` "******mysql安装完毕,登录密码为${mysql_passwd}"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值