Mysql8.0安装脚本

手动安装虽然简单,但还是占用了运维一部分工作量,这种简单的工作能用机器干的绝对不亲力亲为。

下面以安装mysql8.0为例,其他版本需稍作修改

#!/bin/bash
#MySQL8.0 Download URL: https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
. /etc/init.d/functions 
SRC_DIR=`pwd`
#MYSQL='mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz'
MYSQL='mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz'
COLOR='echo -e \E[01;31m'
END='\E[0m'
MYSQL_ROOT_PASSWORD=password
check (){
if [ $UID -ne 0 ]; then
 action "当前用户不是root,安装失败" false
  exit 1
fi
cd  $SRC_DIR
if [ !  -e $MYSQL ];then
        $COLOR"缺少${MYSQL}文件"$END
 $COLOR"请将相关软件放在${SRC_DIR}目录下"$END
        exit
elif [ -e /usr/local/mysql ];then
       action "数据库已存在,安装失败" false
        exit
else
 return
fi
} 
install_mysql(){
    $COLOR"开始安装MySQL数据库..."$END
 yum  -y -q install libaio numactl-libs &> /dev/null
    cd $SRC_DIR
   tar xf $MYSQL -C /usr/local/
    MYSQL_DIR=`echo $MYSQL| sed -nr 's/^(.*[0-9]).*/\1/p'`
    mv /usr/local/$MYSQL_DIR /usr/local/mysql
   id mysql &> /dev/null || { useradd -s /sbin/nologin -r mysql ; action "创建mysql用户"; }
   chown -R mysql.mysql /usr/local/mysql/     
    echo 'PATH=/usr/local/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh
   . /etc/profile.d/mysql.sh
    ln -s /usr/local/mysql/bin/* /usr/bin/
    cat > /etc/my.cnf <<-EOF
[mysqld]
bind-address=0.0.0.0
#skip-grant-tables
basedir = /usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
log-error=/usr/local/mysql/mysql.log
pid-file=/usr/local/mysql/mysql.pid

character-set-server=utf8
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# default_authentication_plugin=mysql_native_password
# Disabling symbolic-links is recommended to prevent assorted security risks
# symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[client]

  socket = /usr/local/mysql/mysql.sock
  default-character-set=utf8


!includedir /etc/my.cnf.d

EOF
   [ -d /usr/local/mysql/data ] || mkdir /usr/local/mysql/data -p
    mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
   chkconfig --add mysqld
   chkconfig mysqld on
   
    service mysqld start
   [ $? -ne 0 ] && { $COLOR"数据库启动失败,退出!"$END;exit; }
    MYSQL_OLDPASSWORD=`awk '/A temporary password/{print $NF}' /usr/local/mysql/mysql.log`
    mysqladmin  -uroot -p$MYSQL_OLDPASSWORD password $MYSQL_ROOT_PASSWORD&>/dev/null
    action "数据库安装完成"
}
check
install_mysql

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 8.0更新脚本是用于将MySQL数据库从其他版本升级到8.0版本的脚本。在进行数据库版本升级时,我们需要确保数据的完整性和一致性。下面是进行MySQL 8.0更新的一些步骤和注意事项: 1.备份数据:在执行任何数据库更新操作之前,务必备份所有的数据库和表数据。这能够将数据库设置回之前的状态,以防出现任何错误或数据丢失。 2.检查兼容性:在升级之前,要确保应用程序和使用的第三方工具与MySQL 8.0版本兼容。有些旧版本的应用程序可能无法适应新版本的数据库,需要进行相应修改。 3.升级路径:当从旧版本的MySQL升级到8.0时,可能需要先将数据库升级到中间版本,再逐步升级到8.0版本。例如,如果从5.6版本升级,可以先升级到5.7,然后再升级到8.0。 4.检查更新文档:在升级之前,务必阅读MySQL 8.0的更新文档,了解新版本的特性、变化和不兼容之处。这能够帮助我们规划更新策略和处理潜在问题。 5.运行升级脚本:根据MySQL官方提供的更新脚本,执行升级操作。这些脚本包含了更新和转换表结构、数据和系统变量的操作。在执行脚本之前,要仔细阅读脚本文件并确保了解其中的步骤和影响。 6.测试和验证:在升级完成后,进行全面的测试和验证。包括检查数据的完整性、应用程序的功能是否正常以及性能是否有所改变。 7.监控和调优:升级完成后,继续监控新版本数据库的工作情况,并根据需要进行调优。MySQL 8.0引入了一些新的特性和性能改进,可以利用这些特性提升数据库的性能和安全性。 总的来说,MySQL 8.0更新脚本的执行过程需要谨慎处理,以确保数据的安全和一致性。合理规划升级策略,备份数据,在更新前后进行全面的测试和验证,都是很重要的步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值