首页 > 数据库 >mysql8安装卸载脚本

mysql8安装卸载脚本

时间:2023-09-14 18:25:25浏览次数:39  
标签:脚本 etc mysql8 卸载 34 -- mysql home data

说明:
安装8.0.34版本mysql ,脚本执行完成后会自动启动mysql,修改数据库root密码为Lz!2023@aD

使用方法:
./mysql_install.sh install  # 安装数据库
./mysql_install.sh uninstall  # 卸载数据库

安装包获取地址:链接:https://pan.baidu.com/s/1qpuFXaCTo1NQ44Hq_Vd_vg?pwd=9948
mysql安装脚本及安装包

#!/bin/bash

install_mysql() {

    MYSQL_VERSION=8.0.34

    tar -xf ./mysql-8.0.34-linux-glibc2.12-x86_64.tar.xz -C /home/
    mv /home/mysql-8.0.34-linux-glibc2.12-x86_64 /home/mysql

    cat >/etc/my13306.cnf <<EOF
    [mysqld]
    basedir = /home/mysql
    datadir = /home/mysql/data
    log-error=/home/mysql/data/error.log
    port = 13306
    socket = /tmp/mysql.sock
    character-set-server=utf8mb4

    collation-server=utf8mb4_general_ci
    max_allowed_packet=256M

    sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

    # 解决日志文件中的时区问题
    log_timestamps = SYSTEM
    slow_query_log=ON
    long_query_time=3
    slow_query_log_file=/home/mysql/data/slowquery.log

    log_bin=/home/mysql/data/mysql_bin
    server_id=1
    binlog_format=row
    #binlog-do-db=auth_service_java,evaluate,file_manage_v2,fileman_hub
    expire-logs-days=7
    max_connections=512

    [client]
    socket = /tmp/mysql.sock
    [mysql]
    default-character-set=utf8mb4
EOF

    # 拷贝mysql启动文件
    cp /home/mysql/support-files/mysql.server /etc/init.d/mysql.server

    # 添加MySQL环境变量
    echo "export PATH=/home/mysql/bin:\$PATH" >>/etc/profile
    source /etc/profile

    useradd mysql
    mkdir /home/mysql/data
    chown -R mysql.mysql /home/mysql/data
    chmod 750 /home/mysql/data

    # 初始化MySQL数据库
    cd /home/mysql
    ./bin/mysqld --initialize --user=mysql --datadir=/home/mysql/data --basedir=/home/mysql --log-error=/home/mysql/data/error.log

    # 设置MySQL root用户密码
    password=$(grep "temporary password" /home/mysql/data/error.log | awk '{print $NF}')

    # 启动MySQL服务
    # /etc/init.d/mysql.server start

    # 设置MySQL开机自启
    # chkconfig --add mysql.server
    # chkconfig mysql.server on
    cat >/etc/systemd/system/mysqld13306.service <<EOF

[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/home/mysql/bin/mysqld --defaults-file=/etc/my13306.cnf
LimitNOFILE = 5000

EOF

    systemctl daemon-reload
    # 启动MySQL服务
    systemctl start mysqld13306
    systemctl enable mysqld13306

    sleep 10
    echo "初始密码:$password"

    newpass="Lz!2023@aD"
    mysqladmin -uroot -p${password}  -P 13306 -h 127.0.0.1 password $newpass
    

    if [ $? -eq 0 ]; then
        echo "密码已重置"
        echo "MySQL $MYSQL_VERSION has been installed successfully!"

        mysql -uroot -p${newpass} -P13306 -h 127.0.0.1 -e "CREATE USER 'root'@'%' IDENTIFIED BY '$newpass';"
        mysql -uroot -p${newpass} -P13306 -h 127.0.0.1 -e "grant all privileges on *.* to root@'%'"
        mysql -uroot -p${newpass} -P13306 -h 127.0.0.1 -e "alter user root@'%' identified with mysql_native_password by '$newpass'"
        mysql -uroot -p${newpass} -P13306 -h 127.0.0.1 -e "alter user root@'localhost' identified by '$newpass' password expire never"

        

        

    else
        echo "重置密码失败,请手动重置,初始密码为:$password"
    fi
}

uninstall_mysql() {

    # /etc/init.d/mysql.server stop
    systemctl stop mysqld13306
    if [ $? -eq 0 ]; then
        echo "mysql已停止"
    else
        echo "mysql未正常停止,请检查服务"
        exit 1
    fi
    systemctl stop mysqld13306
    systemctl disable mysqld13306
    echo "清理数据中..."
    rm -rf /home/mysql

    echo "Mysql卸载完成"

}

mysql_param=$1
case $mysql_param in
install | INSTALL)

    install_mysql

    ;;
uninstall | UNINSTALL)
    uninstall_mysql
    ;;
*)
    echo "usage: mysql_install.sh install|INSTALL|unistall|UNINSTALL."
    ;;

esac


标签:脚本,etc,mysql8,卸载,34,--,mysql,home,data
From: https://www.cnblogs.com/liangyongwang/p/17703127.html

相关文章

  • paddlespeech asr脚本demo
     概述paddlespeech是百度飞桨平台的开源工具包,主要用于语音和音频的分析处理,其中包含多个可选模型,提供语音识别、语音合成、说话人验证、关键词识别、音频分类和语音翻译等功能。本文介绍利用ps中的asr功能实现批量处理音频文件的demo。环境centos7.9Python3.10.3paddl......
  • Mysql8.0升级到8.1
    1.官网下载8.1版本本次选择的zip的方式,也可选择MSI的方式(MSI文件下载后双击即可安装)   2.备份旧版中的数据库(使用Navicate工具做的备份)命令方式备份数据:mysqldump-uroot-proot-h127.0.0.1-P3306--all-databases>“F:\MySQL\MySQLServer8.0\data\backup.sql”3......
  • CTyunOS安装MySQL8.0
    (CTyunOS安装MySQL8.0)最近天翼云搞活动,购了一台4U8G的服务器,这里讲解一下如何安装Mysql吧。1.yum安装yuminstall-ymysqlyuminstall-ymysql-commonyuminstall-ymysql-errmsgyuminstall-ymysql-libsyuminstall-ymysql-serveryum我们查询一下,可以看到有这......
  • ubuntu安装mysql8
    默认安装5.x版本sudoaptinstallmysql-server安装8.x版本,请继续往下看:https://dev.mysql.com/downloads/repo/apt/查看最新的mysql版本apt-getupdatewgethttps://repo.mysql.com//mysql-apt-config_0.8.26-1_all.debdpkg-imysql-apt-config_0.8.26-1_all.debapt-ge......
  • ubuntu卸载mysql
    1、停止MySQL服务器sudoservicemysqlstop2、卸载MySQL服务器软件包sudoapt-getpurgemysql-server3、删除MySQL配置文件和数据sudorm-rf/etc/mysql/var/lib/mysql4、清理残留文件和目录sudoapt-getautoremovesudoapt-getautoclean   ......
  • k8s Pod管理脚本
    1.背景场景:1  测试环境k8s集群中例如业务启动的pod长时间没有进行维护导致僵死场景:2pod输出的日志文件太多量太大导致日志收集容器出现收集不到或者日志内容延迟的相关问题. 场景:3应用多容器采用pod代理管控流量方式代码层面导致容器连接长时间失败. 故  1.降低人工......
  • shell脚本生成随机密码
    1.创建generate_password.sh脚本2.编写内容#!/bin/bash#默认密码长度length=12#默认包含大小写字母、数字和特殊字符characters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_\-+=<>?"#生成随机密码generate_password(){loca......
  • 《两周自制脚本语言》 PDF 源码
    《两周自制脚本语言》是一本优秀的编译原理入门读物。全书穿插了大量轻松风趣的对话,读者可以随书中的人物一起从最简单的语言解释器开始,逐步添加新功能,最终完成一个支持函数、数组、对象等高级功能的语言编译器。本书与众不同的实现方式不仅大幅简化了语言处理器的复杂度,还有助于拓......
  • Windows使用任务计划程序创建定时运行Python脚本
    最近有需求需要每天定时运行python程序,了解了一些方法。目前觉得Windows系统最简单的方法就是设置任务计划程序定时运行。在Windows中,任务计划程序(TaskScheduler)是一个持久的服务,通常不会因为计算机的关机或重启而停止。一旦你成功创建并配置了定时任务,它将按照你设置的触发条......
  • docker快速安装-docker一键安装脚本
    1.下载/配置安装脚本touchinstall-docker.sh#!/bin/bash#mail:[email protected]#system:centos7#integration:docker-latestclearecho"######################################################"echo"#AutoInstallDocker......