CentOS上如何顺利地升级MySQL到5.7版本?

很早之前,我们公司在CentOS上安装的MySQL版本还停留在5.5版本,但后来需要将其升级到最新的5.7版本。这个过程当中竟然遇到很多很多问题,消耗了我非常多的时间。现在我把这些经验分享出来,为需要的小伙伴省去不必要的麻烦。

1. 下载MySQL的5.7版本,主要需要两个文件

下载地址为:http://pan.baidu.com/s/1eQrvAuu

MySQL-server-5.7.4_m14-1.el6.x86_64.rpm
MySQL-client-5.7.4_m14-1.el6.x86_64.rpm

2. 备份数据库文件

mysqldump -uxxx -pxx databasename > databasename.sql

3. 停止mysql服务

service mysql stop

4. 如果刚开始使用的yum安装的MySQL,请使用以下语句进行卸载

yum remove mysql*

5. 使用以下命令删除MySQL旧版本已经存在的文件或者数据,不然MySQL在重新安装后会出现各种纠结的问题

find / -name mysql
ps -ef | grep -i mysql

rm -rf mysql****
kill -9 mysqlid

注意/usr/bin、/usr/share/、/var/lib下有很多mysql开头的文件,都删除掉,还有删除/etc目录下的my.cnf文件

 

6. 如果刚开始使用rpm安装的MySQL,可以通过以下命令进行删除

rpm -qa | grep -i name
rpm -e mysqlxxxxx

7. 卸载删除干净后,再使用以下命令对下载的server和client进行安装

rpm -ivh mysqlxxx

8. 安装成功后,可能会出现以下问题,那么看看下面有没有你遇到的

 

 

  1. mysql error 1524
  2. error 1045(28000)
  3. error 1820
  4. 使用mysql -uroot -proot登录不了

 

对应的方法为:

 

1的解决方案为:在my.cnf文件中的[mysql]下增加“skip-grant-tables”,然后重新启动MySQL服务

2的解决方案为:在my.cnf文件中的[mysql]下将“user=mysql”注释掉

3的解决方案为:设置一下用户的密码

mysql> create database ttt;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> set password = password("root");
Query OK, 0 rows affected (0.00 sec)

4的解决方案为:MySQL初始化了密码,在root目录下找.mysql_secret文件,注意文件是隐藏的,可直接通过vim .mysql_secret进行编辑。

 

PS:本文原创首发于微信公众号「沉默王二」,回复关键字「2048」获取数十本程序员经典电子书。

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉默王二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值