码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • centos7中mysql5.7.32服务离线升级到5.7.39教程


    目录

    一、导入新的离线安装包

    二、备份原有mysql数据库

    1、停止tomcat服务

    2、查看mysql服务

    3、备份数据库

    三、停止mysql服务并打包备份旧版本

    1、停止mysql

    2、打包旧的mysql文件夹

    3、删除旧的mysql文件夹

    4、删除/etc/init.d/下跟mysql有关的全部文件,一般包括mysql文件或mysqld文件

    四、将新版mysql解压并拷贝到原mysql同级目录下

    五、创建mysql文件夹下的data目录以及log目录

    六、修改mysql文件夹下的所有文件的用户和用户组

    七、数据库配置

    1、初始化数据库并指定启动mysql的用户

    2、将mysql加入到服务

    3、设置服务开机自启

    4、开启服务(如果如图报错,请看下一标题)

    八、查看mysql版本是否升级成功

    九、获取初始密码登录mysql,并修改密码

    十、开启远程

    十一、创建数据库并导入备份的数据库


    前提:

    1、本教程mysql目录:/usr/mysql5.7

    2、centos7使用root账户,非root账户命令前需要加sudo

    3、centos的ip:192.168.6.73

    4、数据库账户密码、名称、目录根据实际操作

    以上mysql5.7.32的安装教程是根据另一篇帖子安装步骤安装的,有需要可参考。

    centos7在不联网环境下离线安装部署mysql5.7,配置文件my.cnf详解_mr__bai的博客-CSDN博客

    一、导入新的离线安装包

    我暂时存放在了/opt目录下。

    下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

    如果是直接挂在u盘,直接复制过去就行了。

    如果是从windows平台远程到centos系统:

    方法一:直接从window操作平台命令行上传

    1. scp 本地文件目录 用户名@IP:linux下的目录
    2. #例如本教程中:
    3. scp C:\Users\BAI\Desktop\mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz root@192.168.6.73:/opt

    需yes确认以及root用户密码确认(我这里用的是root用户,所以是root密码)

    方法二:使用winscp软件连接后上传

    教程:linux远程连接,上传文件至linux_mr__bai的博客-CSDN博客

    二、备份原有mysql数据库

    1、停止tomcat服务

    (tomcat服务用到mysql数据库的服务,我这里是tomcat,也可能其他服务或者没有)

    进入tomcat目录下的bin文件。执行下边的shutdown.sh

    2、查看mysql服务

    查看mysql服务状态,状态应为active,如果不是请开启服务。(服务名之前旧版本设置的是mysql)

    1. systemctl status mysql
    2. #开启服务
    3. systemctl start mysql

    3、备份数据库

    方法一:如果有window环境能够联通centos系统,并有数据库工具,使用数据库工具备份即可(简单)

    方法二:命令备份

    1. # 仿照下列命令数据,将数据库备份到/opt目录下:
    2. 绝对路径的mysqldump -hIP -P端口 –u用户名 -p -c --add-drop-table 数据库名>/opt/数据库名.sql
    3. # 本教程中的为:
    4. /usr/mysql5.7/bin/mysqldump -hlocalhost -P3336 -uroot -p -c --add-drop-table superefpmj_sdjn >/opt/superefpmj_sdjn.sql

     如果报mysql.sock错时,请搜索mysql.sock位置,并建立软链接,如果没有请跳过:

    1. # 搜索mysql.sock并建立位置
    2. find / -name mysql.sock
    3. # 建立软链接
    4. ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

     然后重新执行上一条备份命令。

    三、停止mysql服务并打包备份旧版本

    1、停止mysql

    1. # 停止mysql服务
    2. systemctl stop mysql
    3. # 查看mysql服务状态
    4. systemctl status mysql

    服务状态变为inactive

    2、打包旧的mysql文件夹

    进入mysql文件夹的同级目录,我的是cd /usr

    tar -cvzf mysqlBak.tar.gz mysql5.7/

    执行完毕后查看目录,可看到已备份完成

    3、删除旧的mysql文件夹

    rm –rf mysql5.7

    4、删除/etc/init.d/下跟mysql有关的全部文件,一般包括mysql文件或mysqld文件

    1. cd /etc/init.d
    2. rm -rf mysql

    四、将新版mysql解压并拷贝到原mysql同级目录下

    (之前是上传到了/opt目录下)

    进入原mysql同级目录下:/usr,并解压

    1. cd /usr
    2. # 解压到当前目录
    3. tar -zxvf /opt/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
    4. # 重命名解压后的文件夹
    5. mv mysql-5.7.39-linux-glibc2.12-x86_64/ mysql5.7

    五、创建mysql文件夹下的data目录以及log目录

    进入mysql5.7目录

    1. cd /usr/mysql5.7
    2. # 创建文件夹
    3. mkdir data
    4. mkdir log

    六、修改mysql文件夹下的所有文件的用户和用户组

    在之前安装的教程里,设置了mysql用户及用户组,用来专门管理mysql服务。更新mysql后依然使用原来的用户和用户组。

    1. cd /usr
    2. # 命令用于设置文件所有者和文件关联组的命令
    3. chown -R mysql mysql5.7
    4. # 命令用于变更文件或目录的所属群组
    5. chgrp -R mysql mysql5.7

    七、数据库配置

    1、初始化数据库并指定启动mysql的用户

    /usr/mysql5.7/bin/mysqld --user=mysql  --initialize

    2、将mysql加入到服务

    cp /usr/mysql5.7/support-files/mysql.server /etc/init.d/mysql

    3、设置服务开机自启

    chkconfig mysql on

    4、开启服务(如果如图报错,请看下一标题)

    systemctl start mysql.service

    5、如果报错(不报错则跳过):

     编辑 /etc/selinux/config 将SELinux更改为宽松模式

    八、查看mysql版本是否升级成功

    mysql –V

    九、获取初始密码登录mysql,并修改密码

    1. # 查看到数据库初始密码。
    2. grep "password" /usr/mysql5.7/log/error.log

     登录mysql服务:

    mysql  -uroot  -p

     修改数据库登录密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

    十、开启远程

    下面命令是开启所有的ip,如果是某个ip,用ip代替%。

    1. # 任何主机
    2. mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'superred' WITH GRANT OPTION;
    3. # 刷新权限
    4. mysql>flush privileges;

    十一、创建数据库并导入备份的数据库

    数据库名称应与原数据库中的一致。

    1. # mysql中创建数据库语句
    2. CREATE DATABASE `数据库名`CHARACTER SET utf8 COLLATE utf8_general_ci;
    3. # 例如本教程中的:
    4. CREATE DATABASE `superefpmj_sdjn`CHARACTER SET utf8 COLLATE utf8_general_ci;

    导入备份的数据库:

    先退出mysql命令:exit

    1. # 导入语句
    2. mysql -hIP –P端口 -uroot -psuperred superefp_sdjn< superefp_sdjn.sql
    3. # 本教程中:
    4. mysql -hlocalhost -P3336 -uroot -p superefpmj_sdjn

     到此:mysql服务升级完成,启动该启动的服务即可

  • 相关阅读:
    Phthon下载库函数
    Animator动画状态机
    全网最详细Gradio教程系列——Gradio简介
    传奇开服教程GOM传奇引擎外网全套架设教程
    股票交易系列 -- 动规
    多目标应用:多目标蜣螂优化算法求解多旅行商问题(Multiple Traveling Salesman Problem, MTSP)
    MSG | 开源与结缘,昇思携梦前行!
    ifconfig与ip命令的比较
    golang--channal与select
    找不到msvcp140.dll解决方法的5个解决方法以及msvcp140.dll丢失原因分析
  • 原文地址:https://blog.csdn.net/mr__bai/article/details/128119892
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号