MySQL 下载 & 安装
在 CentOS 7 中默认安装有 MariaDB,这个是 MySQL 的分支,但为了需要,还是要在系统中安装 MySQL,而且安装完成之后可以直接覆盖掉 MariaDB。
①、安装 wget
yum -y install wget
②、由于 CentOS 7 的 yum 本地源中没有 mysql,需要下载 MySQL 官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
// -i:下载本地或外部 FILE 中的 URLs
// -c:断点续传下载文件
在无网的环境下 ①、② 步也可以这样:先在有网的环境下下载 MySQL 官方的 Yum Repository(下载地址:http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm),然后使用 Xftp 工具上传至服务器。
③、安装 Yum Repository
yum -y install mysql57-community-release-el7-11.noarch.rpm
// -y:回答全部问题为是
④、更新 yum 缓存、安装 MySQL
yum clean all
yum makecache
yum -y install mysql-community-server
MySQL 配置设置
⑤、首先启动MySQL
systemctl start mysqld.service
⑥、查看 MySQL 运行状态、并从日志文件中找出初始密码
systemctl status mysqld.service
grep "password" /var/log/mysqld.log
// grep:会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本。
⑦、利用初始密码登录数据库
mysql -u root -p
// 回车,然后输入上一步查到的初始密码
⑧、此时不能做任何事情,因为 MySQL 默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
// 现在的 mysql 对密码强度要求较高,需要包含大小写字母、数字和特殊字符
⑨、最后,就是因为安装了 Yum Repository,以后每次 yum 操作都会自动更新,需要把这个卸载掉:
yum -y remove mysql57-community-release-el7-11.noarch.rpm
完成上述步骤,即安装 MySQL 完毕!!!
查看 & 修改 MySQL 密码规则
如果出现以下错误,则表示密码格式太过简单。
MySQL 有密码设置的规范,具体是与 validate_password_policy 的值有关:
MySQL 完整的初始密码规则可以通过如下命令查看:
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| 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 |
+--------------------------------------+--------+
7 rows in set (0.00 sec)
密码的长度是由 validate_password_length 决定的,而 validate_password_length 的计算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
可以通过如下命令修改密码规范:
mysql> set global validate_password_policy=0; -- 设置密码规范强度为 低
mysql> set global validate_password_length=1; -- 设置密码最低长度为 1
设置以上两个值之后,此时密码就可以设置的很简单,例如 1234 之类的。到此数据库的密码规范设置就完成了。