一、备份数据库,升级MySQL一般不会丢失数据,以防万一,仍是须要这一步。html
mysqldump -uroot -p --all-databases clbs > /tmp/all.sqlmysql
二、停MySQL服务sql
service mysqld stop 停了之后能够看一下状态 service mysqld status数据库
三、卸载旧版MySQL,先查看有多少也能够vim
rpm -qa | grep -i mysql3d
yum remove mysql mysql-server mysql-libs compat-mysql51rest
中间会让你进行确认 按‘Y’便可server
四、检查是否有残余的mysqlhtm
yum list installed | grep mysqlblog
若是存在可执行
yum remove mysql-*
删除以后能够在确认一下
五、获取想要升级的版本(我想升级的是到5.7.22)这个rpm里面还能安装8版本的
wget http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
六、安装mysql源
yum localinstall mysql80-community-release-el7-1.noarch.rpm
七、检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
八、选择想要安装的版本
vim /etc/yum.repos.d/mysql-community.repo
想要安装哪一个版本的mysql 就把哪一个版本的enabled的值设为1(默认他设置的是当前最高版本),若是修改版本别忘记把默认的值改为0
建议:最好不要跨版本升级,会出现许多问题。
九、安装MySQL
yum install mysql-community-server
中间会让你进行确认 按‘Y’便可
十、查看默认生成的登陆密码
grep 'temporary password' /var/log/mysqld.log
A temporary password is generated for root@localhost: rH>4ahlow3.d
若是密码无论用或者没有密码
那么就
vim /etc/my.cnf
在配置文件配置
skip-grant-tables
配置以后重启服务才会生效
service mysqld restart
十一、登陆mysql
mysql -uroot -p
无密码就能够进去
有的会报错
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1040 (HY000): Too many connections
重启一下服务便可
能够修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '111111!'; 或者 set password for 'root'@'localhost'=password('111111!');
十二、修改完以后退出
注释掉skip-grant-tables
重启服务
service mysqld restart
试试密码,若是OK!执行13;若是不行,恢复以前的注释,重启服务,修改的个简单的密码,或者执行13
1三、从新将数据导入
mysql -uroot -p < /tmp/all.sql
登陆进入看看是否是原来的数据
1四、能够用原来别的帐号登陆,或者原密码登陆。升级完成。
感谢前辈的分享 :
https://www.cnblogs.com/haybl/p/7898471.html