记录Centos 下 MySQL 5.7 的安装与配置
本文测试环境:
- CentOS 7.2 64-bit
- MySQL 5.7
配置 yum 源
在 https://dev.mysql.com/downloads/repo/yum/ 找到 yum 源 rpm 安装包
安装 mysql 源
|
|
用下面的命令检查 mysql 源是否安装成功
|
|
安装 MySQL
使用 yum install 命令安装
|
|
启动 MySQL 服务
在 CentOS 7 下,新的启动/关闭服务的命令是 systemctl start|stop
|
|
用 systemctl status
查看 MySQL 状态
|
|
设置开机启动
|
|
修改 root 本地账户密码
mysql 安装完成之后,生成的默认密码在 /var/log/mysqld.log
文件中。使用 grep 命令找到日志中的密码。
|
|
查看临时密码
首次通过初始密码登录后,使用以下命令修改密码
|
|
或者
|
|
以后通过 update set 语句修改密码
|
|
注意:mysql 5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于 8 位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误。查看 MySQL 官网密码详细策略
原因分析及解决方案:
修改为一个简单密码,会报以下错误:
1
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。
这个其实与 validate_password_policy 的值有关。
validate_password_policy 有以下取值:
5c0ba88a22dd6
默认是 1,即 MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置 root 的密码为 123456。
必须修改两个全局参数:
首先,修改 validate_password_policy 参数的值
1 2
mysql> set global validate_password_policy= 0; Query OK, 0 rows affected (0.00 sec)
这样,判断密码的标准就基于密码的长度了。这个由 validate_password_length 参数来决定。
添加远程登录用户
默认只允许 root 帐户在本地登录,如果要在其它机器上连接 mysql,必须添加一个允许远程连接的帐户。或者修改 root 为允许远程连接(不推荐)
添加一个允许远程连接的帐户
|
|
修改 root 为允许远程连接(不推荐)
|
|
设置默认编码为 utf8
mysql 安装后默认不支持中文,需要修改编码。
修改 /etc/my.cnf
配置文件,在相关节点(没有则自行添加)下添加编码配置,如下:
|
|
重启 mysql 服务,查询编码。可以看到已经改过来了
|
|
默认配置文件路径:
配置文件:/etc/my.cnf 日志文件:/var/log/var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket 文件:/var/run/mysqld/mysqld.pid