关于linux中升级MySQL中走的弯路

升级原因

由于服务器中MySQL版本是5.7等级太低,在数据量少的时候看不出来问题,但是一但超过三千就会导致整表查询过慢。(我这是一万条数据,使用*查询需要7s以上)

使用慢查询没法解决的问题,就去看了下版本号,发现最新的稳定版本是8.0,自己的是5.7,就产生了跟新MySQL版本的想法

踩坑原因

找了升级版本的方法就开始按照步骤操作,结果CV太过迅速就在没有备份数据的情况下将MySQL卸载了,还删除了所有的安装文件夹。发现时候已经太迟,于是联系了阿里的售后服务,等待反馈时间超过十二个小时,给我的回复是无法解决,找不到数据记录,需要找第三方或者购买阿里服务(单次处理价格3K起),要不是用户量不多和本地有一条半个月前的备份就得泉水重开了。

所以升级前一点要先进行数据备份

升级步骤

卸载MySQL(卸载前先进行备份

        查询与关闭MySQL服务 

                查询MySQL服务        ps ajx | grep mysql

                查询mariadb服务        ps ajx | greg mariadb

                关闭MySQL服务        systemctl stop mysqld

        卸载对应的MySQL

                检查MySQL安装包        rpm -qa | grep mysql

                删除安装包        rpm -ev +包名

                批量删除安装包        rpm -qa | grep mysql | xargs yum -y remove
                                                (删除后使用rpm -qa | grep mysql检查一遍

                查找含有MySQL的目录        find / -name mysql

                删除含有MySQL的目录        rm -rf  +文件路径

                删除my.cnf文件        rm -rf /etc/my.cnf

安装MySQL

        选择安装MySQL目录        /use/local

        下载MySQL          wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz

        解压MySQL         tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz

        重命名文件夹        mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql

        打开mysql文件夹        cd mysql

        创建data文件夹        mkdir data

        创建用户组       groupadd mysql

        创建用户和密码        useradd -g mysql mysql

        授权用户        chown -R mysql.mysql /usr/local/mysql

        切换到bin文件目录        cd bin

        初始化基础信息得到mysql初始密码

./mysqld --user=mysql --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data/ --initialize

       

        切换到etc文件目录        cd etc

        新建my.cnf文件        mkdir my.cnf

        my.cnf的配置信息:

        [mysqld]
        basedir=/usr/local/mysql/
        datadir=/usr/local/mysql/data/
        socket=/tmp/mysql.sock
        character-set-server=UTF8MB4

        切换到 /usr/local/mysql文件        cp -a ./support-files/mysql.server /etc/init.d/mysql

        授权        chmod +x /etc/init.d/mysql

        添加服务        chkconfig --add mysql

        启动MySQL        service mysql start

        查看启动状态        service mysql status

        将MySQL命令添加到服务        ln -s /usr/local/mysql/bin/mysql /usr/bin

        登录MySQL        mysql -uroot -p

        输入前面生成的初始密码        

        修改ROOT密码    123456是自己设置的新密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

        执行命令使密码生效        flush privileges;

        选择MySQL数据库        use mysql;

        修改远程连接并生效        update user set host='%' where user='root';

        执行命令使密码生效        flush privileges;

连接数据库

出现这个的原因是这个数据库的旧的连接记录需要新建一个数据库名字用一样的就行

最后将备份的数据重新导入就可以正常使用了

PS

PS

PS

进行MySQL的操作前一定要备份,备份,再备份

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值