小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL专栏目录 | 点击这里

一、57版本特性

MySQL 5.7可谓是一个令人激动的里程碑,在默认了InnoDB引擎的基础上,新增了ssljson、虚拟列等新特性。相对于postgreSQLMariaDB而言,MySQL5.7做了大量补短操作。虽然市面上mysql58已经出来了,但只推了windows升级版,没有真正的mysql5.8安装包,说明还在测试阶段,等mysql58稳定了,后期再写一遍58安装教程。

二、安装操作

1、卸载旧版本

1.1、查看MySQL

1

2

rpm -qa|grep mysql

rpm -qa|grep mariadb

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_安装部署

1.2、卸载MySQL

1

2

3

4

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、删除数据目录

1

2

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

1

tar -xvf mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar

     mysql包已经准备好(包含cent6、cent7) 

     链接:https://pan.baidu.com/s/1egdiiO2q1lOXtoHWd1yQvQ 
     提取码:11j1

 

     顺便提醒,安装环境是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

1

2

3

4

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

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_安装部署_023、初始化MySQL5.7

3.1、启动mysqld服务

1

2

cd ../sbin       是/usr/sbin目录

service mysqld start

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_linux_03

无需手动初始化,启动时间较长,耐心等待一下

3.2、检查mysqld运行状态

1

service mysqld status

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_mysql5.7_04

至此可以判断MySQL基本安装成功了

3.3、找到临时登录密码

1

vi /var/log/mysqld.log

也可以使用此命令更快速的找到  cat /var/log/mysqld.log | grep password   找到随机密码就可以登录MySQL

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_linux_05

3.4、登录

1

mysql -uroot -p

4、配置MySQL远程访问

4.1、修改root密码

1

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、添加远程登录用户

1

2

use mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'abc@123' WITH GRANT OPTION;

'%'代表任意地址,也可以指定IP

4.3、检查用户表,刷新内存权限

1

2

select host, user from user;

FLUSH PRIVILEGES;

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_mysql5.7_06

4.4、设置防火墙

1

vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited之前,添加

1

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

4.5、重启防火墙

1

service iptables restart

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_mysql_07

 

4.6、调试mysql57编码格式

进入mysql命令行输入:show variables like 'character%';

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_linux_08

我们需要把databaseserver调成utf8即可;

首先我们找到my.cnf文件

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_mysql_09

修改my.cnf内容:在相应标签下添加即可(如下图),没有[mysql]标签就加上;

[mysql]

default-character-set=utf8

[mysqld]

character_set_server=utf8

collation_server=utf8_general_ci

 

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_linux_10

保存后重启mysqlservice mysqld restart;重启后再次登陆mysql命令行

输入show variables like 'character%';

出现下图说明数据库配置完成;

CentOS 6.x 安装mysql5.7记录  安装tar包资源下载共享↓(包含cent6、cent7)_linux_11