第一次安装mysql5.7时,需要注意的几个地方,做个笔记:
tips 01 :如在使用YUM安装的过程中,提示类似于以下的错误,那么请移步到:MySQL的安装与配置
这里采用二进制包,直接下载、解压使用。
2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18()(64bit) 2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18(libmysqlclient_18)(64bit)
1、下载mysql.repo
如果本人使用yum直接安装,如果本机还没有mysql 5.7 的仓库文件,请在这里下载:https://pan.baidu.com/s/1mifVWl6
2、安装冲突
在centos 7 的系统中,默认安装mariadb,如果确定要安装 mysql ,必需强制卸载:
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
3、检查目录
在 /etc/my.cnf 文件,有4个路径
datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
检查这4个目录是否存在,未存在请手动创建,并赋给用户mysql的读写权限。
4、初次登录
mysql 5.7 初次登录的密码,在安装时已经默认了一个随机密码,这个随机在多次尝试登录后,会将这个随机密码写入mysql 的日志中。请使用下面的命令获取:
# grep 'temporary password' /var/log/mysqld.log
5、更改密码
初次登录成功后,无法进行操作的,需要更改密码才可以进行操作,更改密码的操作:
set password=PASSWORD('123456'); //如果更改失败,请参考下面的
Tips 1:如果使用临时密码无法登录,那肯定是临时密码过期,请使用下面的方法更改密码:
- 修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 ,这一行配置让 mysqld 启动时不对密码进行验证
- 重启 mysqld 服务:systemctl restart mysqld
- 使用 root 用户登录到 mysql:mysql -u root
- 切换到mysql数据库,更新 user 表:
- update user set authentication_string = password(‘root’), password_expired = ‘N’, password_last_changed = now() where user = ‘root'; 在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string
- 退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容
- 重启 mysqld 服务,再用新密码登录即可
6、设置密码安全级别
mysql 5.X 开始对密码级别进行了限制,最高的强度必需要大小字母、数字等。但有的时候,我们需要密码简单些,可以先修改密码完全级别,更改完成后,再修改密码,设置如下:
mysql> 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 |
+--------------------------------------+--------+
通过 SET GLOBAL validate_password_policy=’LOW'; 命令,降低安全等级后,就可以直接使用,限制是必须8个字符以上,当然也可以设置它的密码长度。
关于安全等级更详细的介绍如下
- LOW 政策只测试密码长度。 密码必须至少有8个字符长。
- MEDIUM 政策的条件 密码必须包含至少1数字字符,1 大写和小写字符,和1特别 (nonalphanumeric)字符。
- STRONG 政策的情况 密码子字符串长度为4的或更长时间不能匹配 单词在字典文件中,如果一个人被指定。
7、密码过期
自MySQL 5.7开始,密码存在有效期的概念,为了解决密码失效的问题, 最后在配置文件的[mysqld]字段下,增加以下字段
[mysqld] default_password_lifetime=0
也可以通过命令行进行设置
ALTER USER 'script'@'localhost' PASSWORD EXPIRE NEVER
Pingback引用通告: 阿里云服务器迁移全过程 | 精彩每一天