• Linux在线安装MySQL8.0.24安装、MySQL数据备份和恢复


    一、 Linux在线安装MySQL8.0.24

    如果机器上已经有MySQL5.7版本需要先卸载

    1. 首先,需要停止MySQL服务。可以通过以下命令来停止服务:
    sudo systemctl stop mysqld
    
    • 1
    1. 接下来,我们需要卸载MySQL5.7。可以通过以下命令来卸载:
    sudo yum remove mysql-server mysql-common mysql-community-server mysql-community-client
    
    • 1
    1. 然后,还需要删除MySQL的数据目录和配置文件。可以通过以下命令来删除:
    sudo rm -rf /var/lib/mysql
    sudo rm -rf /etc/my.cnf
    
    • 1
    • 2
    1. 最后,还需要清理残留文件。可以通过以下命令来清理:
    sudo rm -rf /usr/share/mysql
    sudo rm -rf /usr/lib/mysql
    
    • 1
    • 2

    以上步骤完成后,MySQL5.7就已经被完全卸载了。

    安装MySQL8.0.24
     #先安装wget
    yum -y install wget     
    
    • 1
    • 2
    #从华为镜像站下载mysql8.0.24压缩包,后缀为xz的压缩包,需要两步解压
    wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz
    xz -d mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz
    tar -zxvf mysql-8.0.24-linux-glibc2.12-x86_64.tar
    
    • 1
    • 2
    • 3
    • 4
    #移动该文件到/usr/local/下,并将文件夹名称修改为mysql
    mv mysql-8.0.24-linux-glibc2.12-x86_64 /usr/local/mysql 
    #在/usr/local/mysql目录下创建data目录     
    mkdir /usr/local/mysql/data                              
    cd /usr/local/mysql
    
    • 1
    • 2
    • 3
    • 4
    • 5
    #安装依赖
    rpm -qa|grep libaio
    yum install libaio-devel.x86_64
    yum -y install numactl
    
    • 1
    • 2
    • 3
    • 4
    #编译安装并初始化mysql,务必记住初始化输出日志末尾的密码~~红框为数据库管理员登入临时密码!!!
    cd /usr/local/mysql/bin
    ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
    
    • 1
    • 2
    • 3

    记住编译安装完成之后 日志 最后面输出的临时密码
    在这里插入图片描述

    #配置mysql的配置文件

    vi /etc/my.cnf
     
    #复制下面的配置到 /etc/my.cnf文件中  :wq 保存
    [mysqld]
    datadir=/usr/local/mysql/data
    port=3306
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    symbolic-links=0
    max_connections=600
    innodb_file_per_table=1
    character_set_server=utf8
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    #启动mysql
    /usr/local/mysql/support-files/mysql.server start
    
    #添加软连接,并重启mysql服务
    ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql 
    service mysql restart
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    #输入临时密码登录mysql (建议临时密码加上单引号 防止临时密码中有特殊字符导致转义的问题)
    mysql -u root -p'临时密码'
    
    • 1
    • 2
    #修改密码
    alter user 'root'@'localhost' identified by '你的新密码';
    #开放远程连接
    use mysql;
    update user set user.Host='%' where user.User='root';
    select user, host from user;
    #设置允许使用原生密码登录
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的新密码';
    flush privileges;
    quit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    #将服务文件拷贝到init.d下,并重命名为mysql
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld  
     
    chmod +x /etc/init.d/mysqld  #赋予可执行权限
     
    chkconfig --add mysqld  #添加服务
     
    chkconfig --list  ##显示服务列表
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    二、手动数据备份和恢复

    使用MySQL自带的 mysqldump工具进行备份

    #数据备份
    #-S /tmp/mysql_smt.sock 指定mysql的sock 文件   反斜杠后面不要有空格  表示换行 
    #新建备份数据存放目录
    mkdir /sql-data
    cd /usr/local/mysql/bin
    
    #备份多个库
    ./mysqldump -u用户名 -p密码 -S /tmp/mysql_smt.sock  \
    --databases 库1 \
     库2 \
     库3 \
     库n \
    > /sql-data/databases.sql
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    cd /sql-data
    #数据恢复
    mysql -u用户名 -p'密码' -e 'source /sql-data/databases.sql'
    #等待恢复完成
    
    • 1
    • 2
    • 3
    • 4

    三、使用crontab 执行脚本自动备份

    新建脚本

    #新建目录存放脚本和备份文件
    mkdir /mysql-backup
    
    cd /mysql-backup
    
    vi dumpMysql.sh
    
    #复制下面内容到脚本中 :wq 保存
    cd /mysql-backup
    today=`date +%F-%H%M`
    binToday=`date +%F`
    #备份+压缩
    mysqldump -h 127.0.0.1 -P 3306  -u用户名 -p密码 --all-databases |gzip > dump_${today}.sql.gz
    #只保留最近7天的数据
    find /mysql-backup/ -name "dump*.sql.gz" -mtime +7 -exec rm -f {} \;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    设置crontab 定时任务

    #安装crontab 
    yum install -y vixie-cron
    
    crontab -e
    #复制下面内容  :wq 保存
    0 0 1 * * ? sh /mysql-backup/dumpMysql.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    wps卸载和重新安装
    (附源码)springboot宠物领养系统 毕业设计 241104
    深度学习七 —— BN & LN & IN & GN
    字符串出现次数的TopK问题
    一款功能强大的Python工具,一键打包神器,一次编写、多平台运行!
    nodeJs基础笔记
    LVS负载均衡集群
    java微信公众号扫码登录对接流程
    vue-cli创建项目的步骤
    基于遗传算法的最优潮流问题的研究(Matlab实现)【期刊论文复现】
  • 原文地址:https://blog.csdn.net/qq_37883866/article/details/134412551