CentOS7安装Mysql

查看 CentOS 7的 yum 是否有 mysql-server 文件

打开控制台,输入如下命令行:

1
yum list | grep mysql

注意:确保能上网, YUM 源配置到了 Internet 上,如果 Linux 无法上网则无法正确使用 yum 命令.

下载与安装

CentOS 7的yum源中没有正常安装MySQL时的mysql-sever文件,需要去官网上下载,官网地址
然后从下列文件选择其中一个文件下载:

然后在文件所在文件下,打开命令行使用如下命令(这里以 mysql57-community-release-el7-9.noarch.rpm 为例):

1
2
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum install install mysql-server

然后一路 yes 就 ok 了~
安装之后重启 mysql 服务

1
service mysqld restart

数据库安装成功了,接下来就是配置数据库了.

配置数据库

获取临时密码

为了加强安全性, MySQL 为 root 用户随机生成了密码,用于初次登录,使用如下命令获取临时密码:

1
grep "password" /var/log/mysqld.log


然后将密码复制下来~,接着进入数据库:

1
mysql -u root -p

然后安装命令行提示输入密码,成功进入数据库,然后尝试 show databases,你会发现提示你修改密码

修改密码

修改密码的命令行如下:

1
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Your new password')

注意:如果你的密码设置的过于简单就会出现下列错误:

1
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

之所以会出现这个问题,跟 validate_password_policy 的值有关
validate_password_policy 有以下取值:

1
Policy Tests Performed 0 or LOW Length 1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters 2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符.老实说平时数据库密码都很简单,方便记忆,所以这里同样为了可以设置简单的密码,需要修改两个全局参数.

修改 validate_password_policy 值

1
2
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

修改完这个之后,判断密码的标准就基于密码的长度了.这个由 validate_password_length 来决定.

修改 valitdate_password_length

validate_password_length 参数默认为8,它也有最小值的限制,最小值为:

1
2
3
validate_password_number_count 
+ validate_password_special_char_count
+ (2 * validate_password_mixed_case_count)

其中,validate_password_number_count 指定了密码中数据的长度,alidate_password_special_char_count 指定了密码中特殊字符的长度,validate_password_mixed_case_count 指定了密码中大小字母的长度,由于这些参数默认值均为1,所以 validate_password_length 最小值为4.

1
2
mysql> set global validate_password_length= 4;
Query OK, 0 rows affected (0.00 sec)

如果将值设置为 < 4 ,valiadate_password_length 将仍为4.将上述两项设置完成之后,就可以设置一个长度为4位的简单 mysql 密码了.