• 基于LINUX的MySql二进制本地升级实施文档


    转自:http://blog.itpub.net/23732248/viewspace-2887312/

    升级数据库

    MySql 安装分为两种,分为二进制安装和 RPM 包安装, RPM   包安装方式存在很大的局限性,即同一台物理主机或虚拟主机上不支持同时安装两套及以上不同版本的  MysQL   软件。如果一定要使用新 RPM 包介质升级,则必须先卸载老版本,再安装新版本。对于大多数原地升级的场景,推荐使用官方通用的二进制发行版安装包,或者用户定制源码编译的二进制包。

    安装包下载: https://dev.mysql.com/downloads/mysql/   点 Looking for the latest GA version    选择对应的版本下载。下图为作者下载的包。

    当前版本为 5.7.27

    需要升级的版本 5.7.37

    安装目录: /usr/local/mysql

    数据文件存放目录: /usr/local/mysql/data

    升级后安装目录: /mysql/app/mysql-5.7.37

    下载  MySQL   5.7.37 系列最新版本软件安装包,上传到目标位置,并配置环境变量,命令如下。

    shell > mkdir -p /mysql/app/mysql-5.7.37

    shell > tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz --strip-components=1 -C /mysql/app/mysql-5.7.3

    shell > echo 'export PATH=/mysql/app/mysql-5.7.37/bin:$PATH' >> $HOME/.bash_profile

     如果当前 MySOL 使用了 InnoDB 的 XA 分布式事务,那么在升级之前需要运行 XA

    RECOVER 来检查未提交的 XA 事务。如果返回的结果中确实存在这类 XA 分布式事务,

    则需要通过 XA commit 语句提交这类事务:

    mysql > XA RECOVER;

    mysql > XA COMMIT xid;

      或者通过 XA rollback 语句回滚这类 XA 分布式事务

    mysql > XA ROLLBACK xid;

     先将源库的 innodb_fast_shutdown 全局系统变量值设置为 0 ,命令如下:

    mysql> set global innodb_fast_shutdown = 0;

       然后对 MySql 源库实例执行慢关闭,命令如下

    [root@localhost ~]# mysqladmin -u root -p -S /var/lib/mysql/mysql.sock shutdown

    注:/var/lib/mysql/mysql.sock 此文件可通过cat /etc/my.cnf 查看位置

    如果您将 MySql 服务器作为服务运行,可用 service 停止服务:

    [root@localhost ~]# service mysqld stop

    shell> mkdir -p /usr/local/mysql/databak

    shell> mv /usr/local/mysql/data/*  /usr/local/mysql/databak

    修改mysql 安装参数

    [root@localhost ~]# vi /etc/my.cnf

    #basedir=/usr/local/mysql

    basedir=/mysql/app/mysql-5.7.37

    将原先的安装目录注释,附上目标端目录

    进入/etc/init.d/ ,将原先服务备份,并将目标实例复制过来。

    [root@localhost bin]# cd /etc/init.d/

    [root@localhost init.d]# mv mysqld mysqld_bak

    [root@localhost init.d]# cp /mysql/app/mysql-5.7.37/support-files/mysql.server

     /etc/init.d/mysqld

    修改mysqld 程序,加入安装目录,和数据目录

    [root@localhost init.d]# vi /etc/init.d/mysqld

    …………………

    basedir=/mysql/app/mysql-5.7.37

    datadir=/usr/local/mysql/data

    …………………

    赋予权限,并添加开机启动

    [root@localhost init.d]# chmod +x /etc/init.d/mysqld

    [root@localhost init.d]# chkconfig --add mysqld

    [root@localhost init.d]# chkconfig --list mysqld

    [root@localhost init.d]# service mysqld start

     mysql_upgrade 会检查所有数据库中的所有表,查找与当前 MySQL 版本不兼容的地

    方,还会升级 MySQL 系统数据库,以便利用新版本的权限或功能。这是整个升级流程中最

    为重要的一步, MySQL 会对系统对象进行更新,从而让数据库能够充分利用新版本的功能

    和特性。下面执行 mysql_upgrade 程序,检查并解决旧数据和新软件之间可能存在的任何不兼容问题:

    [root@localhost init.d]# mysql_upgrade -u root -p -S /var/lib/mysql/mysql.sock

    Enter password:

    Checking if update is needed.

    Checking server version.

    Error: Server version (5.7.37) does not match with the version of

    the server (5.7.27) with which this program was built/distributed. You can

    use --skip-version-check to skip this check.

    [root@localhost init.d]# mysql_upgrade -u root -p -S /var/lib/mysql/mysql.sock --skip-version-check

    Enter password:

    Upgrade process completed successfully.

    Checking if update is needed.

    [root@localhost ~]# vi .bash_profile

    #export PATH=$PATH:/usr/local/mysql/bin

    [root@localhost ~]# source .bash_profile

    将原先的环境变量注释掉

    [root@localhost ~]# mysql -V

    mysql  Ver 14.14 Distrib 5.7.37, for linux-glibc2.12 (x86_64) using  EditLine wrapper

    企业提供镜像:
    阿里云开源镜像:http://mirrors.aliyun.com/
    搜狐开源镜像:http://mirrors.sohu.com/
    网易开源镜像:http://mirrors.163.com/
    LUPA:http://mirror.lupaworld.com/
    首都在线科技股份有限公司:http://mirrors.yun-idc.com/
    常州贝特康姆软件技术有限公司(原cn99):http://centos.bitcomm.cn/
    大学校园镜像(推荐以下几所大学):
    浙江大学:http://mirrors.zju.edu.cn/
    北京理工大学:
    http://mirror.bit.edu.cn (IPv4 only)
    http://mirror.bit6.edu.cn (IPv6 only)
    北京交通大学:
    http://mirror.bjtu.edu.cn (IPv4 only)
    http://mirror6.bjtu.edu.cn (IPv6 only)
    http://debian.bjtu.edu.cn (IPv4+IPv6)
    上海交通大学:
    http://ftp.sjtu.edu.cn/ (IPv4 only)
    http://ftp6.sjtu.edu.cn (IPv6 only)
    清华大学:
    http://mirrors.tuna.tsinghua.edu.cn/ (IPv4+IPv6)
    http://mirrors.6.tuna.tsinghua.edu.cn/ (IPv6 only)
    http://mirrors.4.tuna.tsinghua.edu.cn/ (IPv4 only)
    中国科学技术大学:
    http://mirrors.ustc.edu.cn/ (IPv4+IPv6)
    http://mirrors4.ustc.edu.cn/
    http://mirrors6.ustc.edu.cn/
    东北大学:
    http://mirror.neu.edu.cn/ (IPv4 only)
    http://mirror.neu6.edu.cn/ (IPv6 only)
    华中科技大学:
    http://mirrors.hust.edu.cn/
    http://mirrors.hustunique.com/
    大连东软信息学院:
    http://mirrors.neusoft.edu.cn/
    npm镜像
    cnpmjs:http://cnpmjs.org/
    华为云
    https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/

  • 相关阅读:
    封了1000多个IP地址段,服务器现在坚如磐石,对付几个小毛贼还是很轻松的
    这两周服务器被攻击,封锁了600多个IP地址段后今天服务器安静多了
    centos clamav杀毒软件安装配置及查杀,没想到linux下病毒比windows还多!
    JS 在页面上直接将json数据导出到excel,支持chrome,edge,IE10+,IE9,IE8,Safari,Firefox
    一个实战系统的权限架构思维推导过程
    股灾情形下搞了个满堂红,我也是醉了
    VBC#代码互转工具
    DSAPI多功能.NET函数库组件
    DS标签控件文本解析格式
    DSAPI官方QQ群
  • 原文地址:https://www.cnblogs.com/zouhong/p/16426570.html
Copyright © 2020-2023  润新知