Centos7下MySQL5.6.43升级到MySQL5.6.47步骤

MySQL5.6.43升级到MySQL5.6.47步骤

操作系统Centos7

说明:要确保每一个步骤执行正确性再执行下一步。

1,备份数据库
    mysqldump -u root -p  --add-drop-table --routines --events  --all-databases --force > data-for-upgrade.sql
2,下载安装包
    https://dev.mysql.com/downloads/mysql/5.6.html
    版本选择最新的5.6.47
    系统选择对应,比如Centos选择兼容的Red Hat Enterprise Linux /Oracle Linux
    操作系统版本Version 选择Red Hat Enterprise Linux 7 /Oracle Linux 7 x86-64-bit
    选择完之后下载最大的那个RPM Bundle
3,升级
    3.0 备份配置文件
        查看mysql使用的备份文件,比如看进程ps -ef | grep mysql 或者自启动服务中是否配置了启动mysql的配置文件路径,默认一般在/etc/my.cnf
        将这个文件被分到一个位置
        
    3.1 正常关闭数据库
        为了正常完成所有full purge和merge insert buffer操作,
        命令行中执行:
        mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"
        关闭数据库:
        mysqladmin -u root -p shutdown
        
    3.2 检查卸载旧版本RPM安装包
        检查之前的安装包
         rpm -qa | grep -i mysql
        将上面查询出来的mysql
        依次执行卸载命令,注意可以只卸载5.6的
        rpm -e --nodeps 上面返回的文件名
        注意这里只是卸载软件,数据库文件和配置文件/etc/my.cnf不要改动或者删除
        
    3.3 解压下载的MySQL5.6.47.el7.x86_64.rpm-bundle.tar
        进入解压目录,依次执行安装,其中XXX是你下载的版本号可以使用tab补全
        rpm -ivh MySQL-client-XXX.rpm
        rpm -ivh MySQL-devel-XXX.rpm
        rpm -ivh MySQL-embedded-XXX.rpm
        rpm -ivh MySQL-shared-XXX.rpm
        rpm -ivh MySQL-shared-compat-XXX.rpm
        rpm -ivh MySQL-server-XXX.rpm
        执行最后一部安装server的是时候,要注意命令行输出,提示了密码输出到一个文件,一般默认在/root/.mysql_secret,如果不是新安装之前的文件可能存在了就没有此文件,还是原来的密码
        另外安装默认的配置文件在/etc/my.cnf,但是旧的配置已经存在了,新的文件可能覆盖或者不覆盖旧的,命令行有提示,如果覆盖了将3.0步骤备份的配置重新复制到/etc/my.cnf;并且要确认下是否还是原来的,因为我们要用原来的配置文件和数据文件启动mysql,不用新安装的配置文件
        
        至此,新的数据库软件安装完毕,接下来要使用新的数据库软件+旧的配置来启动数据库进行升级
    3.4 升级数据库
        使用原来的配置文件启动数据库mysqld --defaults-file=/etc/my.cnf  --user=mysql
        或者使用systemctl restart mysql.service 启动
        启动数据库之后是不能操作数据库的,这时候要升级下
        mysql_upgrade -u root -p
        
        升级完之后,重新关闭启动下数据库:
        
        关闭库:mysqladmin -u root -p shutdown
        手动启动:mysqld --defaults-file=/etc/my.cnf  --user=mysql
        或者systemctl start mysql.service
        
        最后登陆验证下有没有问题,比如数据表是否可以读写,查看下版本是否正确select version();-- 是否是5.6.47
    3.5 配置
        如果没有问题,配置开机自启动
        systemctl enable mysql.service
        
 

发布了522 篇原创文章 · 获赞 87 · 访问量 75万+

猜你喜欢

转载自blog.csdn.net/jc_benben/article/details/105425182