一、備份數據庫,升級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