MariaDB5.5升级MySQL5.7

阅读: 1310 | 文章分类: Databases | Tag: MySQL   MariaDB  

# 环境声明 操作系统:CentOS7.4 数据库版本:MariaDB 5.5 升级版本:MySQL5.7 # 一、备份数据库 可使用navicat工具将数据库中的数据导出为一个.sql文件 > 以下两张Navicat图片均由本人截取Navicat官方正版软件截图,仅供学习使用,若有侵权请[联系我](https://www.cloudhy.cn/about "联系我")立即删除内容。若需下载该工具请到[Nacicat官网](https://www.navicat.com.cn/ "Nacicat官网")购买下载正版软件。 ![](https://www.cloudhy.cn/uploads/blog/2018.5.31-01.jpg) ![](https://www.cloudhy.cn/uploads/blog/2018.5.31-02.jpg) 保存好数据库文件后则可以进行升级操作 > 最好升级前使用tar物理备份一份数据到其他地方以免造成数据丢失 # 二、下载新版数据库软件 官网社区版下载链接: [MySQL8.0新版](https://dev.mysql.com/downloads/mysql/ "下载MySQL新版本") [MySQL5.7](https://dev.mysql.com/downloads/mysql/5.7.html#downloads "MySQL5.7") 在页面上选择操作系统以及架构平台后,点击下载按钮,会弹出登陆页面,但我们不需要登陆,点击下面的不登录就可以直接下载到了 > 以下MySQL下载页面均截图MySQL官网,仅供学习使用,若有侵权请[联系我](https://www.cloudhy.cn/about "联系我")立即删除内容 ![8.0新版本下载页面](https://www.cloudhy.cn/uploads/blog/2018.5.31-03.jpg "8.0新版本下载页面") --- ![5.7新版本下载页面](https://www.cloudhy.cn/uploads/blog/2018.5.31-04.jpg "5.7新版本下载页面") ![](https://www.cloudhy.cn/uploads/blog/2018.5.31-05.jpg "点击红色箭头的英文下载") 可使用wget下载 ``` [root@Server-2 ~]# wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar ``` 解压到当前目录 ``` [root@Server-2 ~]# tar xf mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar ``` # 三、卸载旧版本mariadb5.5以及删除其旧版本数据库文件 ``` [root@Server-2 ~]# yum -y remove mariadb* [root@Server-2 ~]# rm -rf /var/lib/mysql/* /var/log/mariadb ``` # 四、安装MySQL5.7 > 新服务器安装MySQL也是相同安装方式 ``` # 注意按顺序安装 [root@Server-2 ~]# rpm -vhi mysql-community-common-5.7.22-1.el7.x86_64.rpm [root@Server-2 ~]# rpm -vhi mysql-community-libs-5.7.22-1.el7.x86_64.rpm [root@Server-2 ~]# rpm -vhi mysql-community-client-5.7.22-1.el7.x86_64.rpm [root@Server-2 ~]# rpm -vhi mysql-community-server-5.7.22-1.el7.x86_64.rpm ``` > 如果之前安装过mariadb,卸载后安装MySQL基本不会报错,如果会报依赖的错误的话直接yum安装所需的依赖包就可以了。 若安装过程中出现类似以下错误导致无法安装,请确保已卸载旧版mariadb,一定要使用yum -y remove mariadb*去卸载,重点是*,如果只卸载mariadb跟mariadb-server的话就会报这个错,原因是还有其他组建没完成卸载 ``` [root@Server-3 ~]# rpm -vhi mysql-community-common-5.7.12-1.el6.x86_64.rpm 警告:mysql-community-common-5.7.12-1.el6.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY 准备中... ################################# [100%] file /usr/share/mysql/czech/errmsg.sys from install of mysql-community-common-5.7.12-1.el6.x86_64 conflicts with file from package mariadb-libs-1:5.5.56-2.el7.x86_64 file /usr/share/mysql/danish/errmsg.sys from install of mysql-community-common-5.7.12-1.el6.x86_64 conflicts with file from package mariadb-libs-1:5.5.56-2.el7.x86_64 。。。 ``` # 五,后期准备 ### 1、启动数据库,使得程序初始化数据库数据 ``` [root@Server-2 ~]# systemctl start mysqld.service ``` ### 2、设置开机自启动 ``` [root@Server-2 ~]# systemctl enable mysqld.service ``` ### 3、进入数据库修改密码 > 网上有很多文章介绍安装MySQL5.7后查看初始化密码,我们使用的是rpm安装,我查看了以下所谓初始化密码存放的文件并没有那个文件,当然我们这里也不需要,直接修改密码就可以 ``` # 修改主配置文件 [root@Server-3 ~]# vim /etc/my.cnf ## 在[mysqld]标签下添加skip-grant-tables [mysqld] skip-grant-tables # 重启MySQL [root@Server-2 ~]# systemctl restart mysqld.service # 进入MySQL修改密码 mysql> update mysql.user set authentication_string=password('123123') where user='root' and host='localhost'; Query OK, 0 rows affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 0 Warnings: 1 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) # 修改完密码后仍然无法修改数据库里的任意内容,因为密码设置太过于简单,所以会提示要求再设置密码 # 修改主配置文件,删除skip-grant-tables(若一定要使用弱密码,则需要修改主配置文件,配置后添加validate_password=off) [root@Server-3 ~]# vim /etc/my.cnf [mysqld] validate_password=off # 重启MySQL [root@Server-2 ~]# systemctl restart mysqld.service # 进入MySQL重置密码(否则无法修改表) mysql> alter user 'root'@'localhost' identified by '123123'; mysql> flush privileges; ``` ### 4、授权外部链接 ``` mysql> grant all on *.* to 'root'@'10.0.10.5' identified by "123123"; mysql> flush privileges; ```