…………………………………………………………..
博客地址: https://keith666666.github.io/
………………………………………………………….

Reason for this: 最近在CentOS上安装MySQL的时候遇到了一点问题,花了点时间解决了,感觉不管是官网还是网上的一些教程都不够完整,不能一次性帮新手解决问题,于是我就结合官网和网上的资源整理了下.

相关配置如下:

操作系统: CentOS 7.2
MySQL版本: 5.7.x

1. 下载安装

1.1 下载rpm包

选择相应的版本:系统版本和包版本. 系统版本可以通过uname -a来查看:

wget http://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm

1.2 下载安装软件源

sudo yum localinstall platform-and-version-specific-package-name.rpm

platform-and-version-specific-package-name.rpm这个就是跟上面那个匹配的,对于上例来说也就是mysql57-community-release-el7-9.noarch.rpm.

说明: 这个操作是会将MySQL Yum repository添加到系统的repository list,还会下载GnuPG key来检查软件包的完整性.

可以查看系统是否添加了该源:

shell> yum repolist all | grep mysql

通过上述命令的输出结果来判断.

1.3 安装MySQL

sudo yum install mysql-community-server

1.4 启动MySQL Server

sudo systemctl start mysqld

可以查看server运行状况

systemctl status mysqld
  • 要让mysql开机启动可以通过该命令设置:systemctl enable mysqld.service
  • 注意是mysqld,有个d.

1.5 初始化设置

mysql_secure_installation

该命令会要你设置一些密码等信息.

到这里所有步骤都走完了,如果有问题可以参考下面.

2. 问题

Q1. 初始化要求登录密码:

原因: MySQL 5.7及以上在安装的时候会生成一个随机的临时密码,存在这里: /var/log/mysqld.log,可以通过下面方法来获取该密码:

 sudo grep 'temporary password' /var/log/mysqld.log

Q2. 设置密码出现 Password Policy问题

也就是为什么不能设置6位密码的问题.

原因: MySQL里带了一个密码验证的插件来防止密码设置过于简单.

可以先设置一个复杂的密码,然后再修改密码要求后再改成简单的,这个复杂密码的要求是:

1.  特殊字符
2.  大小写字母
3.  数字
4.  长度8位

这里给个示范密码:!Aa112233.

在用新的密码登录之后,先查看密码相关的变量:

SHOW VARIABLES LIKE 'validate_password%';

+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+

上面的这些变量就是关于密码的限制,这个可以改:

mysql> SET GLOBAL validate_password_policy = LOW;
mysql> SET GLOBAL validate_password_length = 6;
mysql> SET GLOBAL validate_password_number_count = 0;
mysql> SET GLOBAL validate_password_mixed_case_count = 0;
mysql> SET GLOBAL validate_password_special_char_count = 0;

然后可以设置6位的密码了.

Reference

  • Installing MySQL on Linux Using the MySQL Yum Repository
  • MySQL 5.7.7 – Centos 7 el7 – Access denied
  • create a six character password in mysql 5.7

文章来源于互联网,如有雷同请联系站长删除:CentOS7.2下MySQL安装配置相关

发表评论