一、新特性
MySQL 5.7可谓是一个令人激动的里程碑,在默认了InnoDB引擎的基础上,新增了ssl、json、虚拟列等新特性。相对于postgreSQL和MariaDB而言,MySQL5.7做了大量“补短”操作。
二、升级操作
1、卸载旧版本
1.1、查看MySQL
rpm -qa|grep mysql
rpm -qa|grep mariadb
![](/d/20211018/1761cd155a8dd858c1bb4fd4096b74e3.gif)
1.2、卸载MySQL
rpm -e --nodeps mysql-5.1.73-7.el6.x86_64
rpm -e --nodeps mysql-connector-odbc-5.1.5r1144-7.el6.x86_64
rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64
rpm -qa|grep mysql
1.3、删除数据目录
ls -l /var/lib|grep mysql
rm -rf /var/lib/mysql
数据目录可以备份移走。mysqld服务在初始化时会检查数据目录是否存在:如果数据目录不存在,mysqld则会创建它;如果数据目录存在,且不是空目录(即包含有文件或子目录),mysqld会显示一条错误信息并中止:
[ERROR] --initialize specified but the data directory exists. Aborting.
2、安装MySQL5.7
2.1、解压MySQL5.7
tar -xvf mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar
![](/d/20211018/3e987e405a525c0b3e4c9caaa12d1d31.gif)
顺便提醒,安装环境是CentOS6.5,所以应该选用el6的安装包;CentOS7应该选用el7安装包。
如果安装包对应的系统版本不正确,安装时会出现有关glibc的依赖错误:
warning: mysql-community-libs-5.7.14-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libc.so.6(GLIBC_2.14)(64bit) is needed by mysql-community-libs-5.7.14-1.el7.x86_64
2.2、按照依赖关系依次安装rpm包
依赖关系依次为common→libs→client→server
rpm -ivh mysql-community-common-5.7.14-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.14-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.14-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.14-1.el6.x86_64.rpm
![](/d/20211018/a359cec57523696d5baa748473cbddae.gif)
不要想着偷懒,client也是需要装的···
3、初始化MySQL5.7
3.1、启动mysqld服务
cd ../sbin 是/usr/sbin目录
service mysqld start
![](/d/20211018/8bb2a4e62896e9fb96e7b0ffd5db3914.gif)
无需手动初始化,启动时间较长,耐心等待一下
3.2、检查mysqld运行状态
![](/d/20211018/3e509bd5a4a1d47627622a03381b9321.gif)
至此可以判断MySQL基本安装成功了
3.3、找到临时登录密码
![](/d/20211018/37903cbf76cd41909409dc626ce31fc3.gif)
也可以使用此命令更快速的找到 cat /var/log/mysqld.log | grep password 找到随机密码就可以登录MySQL了
3.4、登录
![](/d/20211018/334e0f5f78a58f46b9e6eaafd81eecb2.gif)
4、配置MySQL远程访问
4.1、修改root密码
alter user 'root'@'localhost' identified by 'abc@123';
在5.6后,mysql内置密码增强机制,低强度密码会报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
4.2、添加远程登录用户
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'abc@123' WITH GRANT OPTION;
'%'代表任意地址,也可以指定IP
4.3、检查用户表,刷新内存权限
select host, user from user;
FLUSH PRIVILEGES;
![](/d/20211018/68d1445dbd4150a5ec6fbc26142a886f.gif)
4.4、设置防火墙
vi /etc/sysconfig/iptables
在-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited之前,添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
4.5、重启防火墙
![](/d/20211018/7482539aae1ade01de296c4415c48fb7.gif)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:- CentOS6.8使用cmake安装MySQL5.7.18
- CentOS6.5下安装Mysql5.7.18的教程详解
- CentOS安装mysql5.7 及简单配置教程详解
- CentOS6.5 上部署 MySQL5.7.17 二进制安装以及多实例配置
- CentOS 7下使用RPM安装mysql5.7.13
- CentOS7下MySQL5.7安装配置方法图文教程(YUM)
- centos 7系统下编译安装 mysql5.7教程
- CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11
- CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
- Linux学习第三篇 Centos7安装mysql5.7.16数据库