官方推荐使用 yum 源来安装 MySQL,本文讲述如何使用 yum 源来安装 MySQL。

一、添加 MySQL yum 源

可以采用yum localinstall命令来添加 MySQL 源。在 https://dev.mysql.com/downloads/repo/yum/ 页面选择合适 rpm 包,这些 rpm 包的作用就是添加 MySQL yum 源的。笔者下载的是 mysql80-community-release-el7-1.noarch.rpm。下载后,然后执行命令:

sudo yum localinstall mysql80-community-release-el7-1.noarch.rpm

执行yum localinstall命令后,可以看到/etc/yum.repos.d目录多了两个文件:

  • mysql-community.repo
  • mysql-community-source.repo

有兴趣的同学可以打开来看下里面的内容。

安装

添加好 yum 源后,就可以执行安装命令了。假设我们安装的是最新版本 MySQL ,执行以下命令:

sudo yum install mysql-community-server

不出意外的话,会成功安装 MySQL。

启动

使用以下命令启动 MySQL 服务器进程:

systemctl start mysqld.service

使用systemctl status mysqld.servic命令可以观察 MySQL 的运行状态。

如果需要关闭 MySQL ,可以执行命令:

systemctl stop mysqld.service

登录到mysql

5.7版本 默认对MySQL创建了 root 用户的随机密码,这个密码打印在 MySQL 的日志文件/var/log/mysqld.log中,可以通过temporary password关键字来找出这个临时的密码。

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

使用该密码连接 MySQL:

mysql -uroot -p
  1. 默认的随机密码是无法对数据库做操作的,需要修改密码。然后5.7版本用了validate_password密码加强插件。因此想把密码修改成类似1234胡弄过去是不可能的。需要严格按照规则去设置密码。
  2. 但是,想把密码设置简单也还是有办法的。降低安全策略,登录到mysql客户端执行以下命令:
#降低安全策略 当然实际环境是不推荐修改
set global validate_password_policy = 0;

#现在设置完默认密码策略后,就只有 密码长度限制 了。默认为字符长度至少8位。
#其中:
#validate_password_number_count指定了密码中数据的长度,
#validate_password_special_char_count指定了密码中特殊字符的长度,
#validate_password_mixed_case_count指定了密码中大小字母的长度。
#这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定#validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。

set global validate_password_length = 3;

如果修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一个值,则validate_password_length将进行动态修改。

mysql root@localhost:(none)> set global validate_password_length = 3;
Query OK, 0 rows affected
Time: 0.004s

mysql root@localhost:(none)> show VARIABLES  like "validate_password_length"
+--------------------------+---------+
| Variable_name            |   Value |
|--------------------------+---------|
| validate_password_length |       4 |
+--------------------------+---------+
1 row in set
Time: 0.010s

MySQL 5.7 默认安装了 validate_password 插件。 所以多了以上步骤。

  1. 当然你也可以通过 my.cnf 配置文件关闭 validate_password 插件。
  2. 只需要添加一行 编辑完配置文件后,重启mysqld服务即可生效
validate_password = off

设置密码策略的级别

validate_password_policy=2

编辑完配置文件后,重启mysqld服务即可生效。

mysql root@localhost:(none)> show VARIABLES  like "validate_password%"
+-----------------+---------+
| Variable_name   | Value   |
|-----------------+---------|
+-----------------+---------+
0 rows in set
Time: 0.008s

关闭validate_password插件后,就没有了validate_password的一些参数变量。

修改密码

然后修改密码,或者设置密码校验

 

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

将密码修改为MyNewPass4!

开放其他地址连接

MySQL 安装后,默认只开放本机连接,为了支持其他主机连接,可以通过修改表mysqlhost字段来实现。

mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>flush privileges;