下载

下载mysql5.7地址:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar

另外分享一个百度云盘的下载链接 http://pan.baidu.com/s/1qYAuYBi

下载下来之后 得到一个mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar

解压 得到以下rpm包

tar -vxf mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar
-rw-r--r-- 1 root root 470507520 Jul 1 23:05 mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar
-rw-r--r-- 1 7155 31415 23618836 Mar 20 02:40 mysql-community-client-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 335496 Mar 20 02:40 mysql-community-common-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 3747352 Mar 20 02:40 mysql-community-devel-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 39086508 Mar 20 02:40 mysql-community-embedded-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 135869292 Mar 20 02:40 mysql-community-embedded-devel-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 2177064 Mar 20 02:40 mysql-community-libs-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 1723180 Mar 20 02:40 mysql-community-libs-compat-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 159060212 Mar 20 02:41 mysql-community-server-5.7.18-1.el6.x86_64.rpm
-rw-r--r-- 1 7155 31415 104881084 Mar 20 02:41 mysql-community-test-5.7.18-1.el6.x86_64.rpm

安装

这里主要安装 server 和client

yum install libaio #首先安装软件包的依赖
#依次安装
rpm -ivh mysql-community-common-5.7.18-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.18-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.18-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm

另外附上安装之后的一些参数默认值

Files or ResourcesLocation
Client programs and scripts/usr/bin
mysqld server/usr/sbin
Configuration file/etc/my.cnf
Data directory/var/lib/mysql
Error log fileFor RHEL, Oracle Linux, CentOS or Fedora platforms: /var/log/mysqld.log For SLES: /var/log/mysql/mysqld.log
Value of secure_file_priv/var/lib/mysql-files
System V init scriptFor RHEL, Oracle Linux, CentOS or Fedora platforms: /etc/init.d/mysqld For SLES: /etc/init.d/mysql For SLES: /etc/init.d/mysql
Systemd serviceFor RHEL, Oracle Linux, CentOS or Fedora platforms: mysqld For SLES: mysql
Pid file/var/run/mysql/mysqld.pid
Socket/var/lib/mysql/mysql.sock
Keyring directory/var/lib/mysql-keyring
Unix manual pages/usr/share/man
Include (header) files/usr/include/mysql
Libraries/usr/lib/mysql
Miscellaneous support files (for example, error messages, and character set files)/usr/share/mysql

安装完成之后还会创建一个名为mysql的用户和一个mysql用户组在系统上。

需要注意的是在旧版本的mysql中配置文件的路径在 /usr/my.cnf ,强烈建议您把/usr/my.cnf这个配置迁移到/etc/my.cnf。然后删除/usr/my.cnf

启动

sudo service mysqld start

启动完成之后 会把root超级用户的密码自动生成 在日志中可以看到生成的密码,而且需要用户强制修改 不得不说这个版本对安全性提高了不少,在修改密码的时候还定义了密码的策略 如 安装密码长度、密码的复杂度等。

查看密码

sudo grep 'temporary password' /var/log/mysqld.log
[root@localhost ~]# sudo grep 'temporary password' /var/log/mysqld.log
2017-07-02T06:05:16.890856Z 1 [Note] A temporary password is generated for root@localhost: cfDZrTud2L(j

修改密码

mysql -u root -p
#输入日志中的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

报错了 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

在5.7版本中会报错 就是前面说到的提供了默认的validate_password密码安全策略,这是一个插件 只不过在5.7版本中默认被安装了

由于我这里是本机, 密码设置简单点不会被忘记,所以我们修改一下密码的安全策略

set global validate_password_policy=0;#使用只按照密码长度验证 也就是策略中的第0个密码策略方式
set global validate_password_length=2;#密码的长度要求
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; #这个时候才执行这个语句就没有报错了

参考文档 https://dev.mysql.com/doc/refman/5.7/en/linux-installation-rpm.html