ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redhat enterprise 7 安装 mysql 8

2019-09-14 22:01:24  阅读:282  来源: 互联网

标签:redhat mysql 密码 user enterprise validate password root


说多了都是泪,踩过的坑都不说了。。。。。。。从官网下载对应版本的数据库  https://dev.mysql.com/downloads/mysql/

一、 把mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar解压出来,共8个rpm文件,比如解压到目录mysqldb

二、进入mysqldb目录,执行 rpm -ivh *.rpm,会报  错误:依赖检测失败:

三 、执行 yum  -y  localinstall  *.rpm,通过网络解决依赖关系,会自动下载相关依赖

四、安装完毕后 执行 service mysqld start

五 、执行 mysql -u root -p 进行登陆  。mysql -uroot -p 也可以

六、执行五时,报 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

七、cd /etc 找到文件 my.cnf  

八、 vi my.cnf 编辑文件,在[mysqld]下行添加  skip-grant-tables ,保存退出

九、先执行service mysqld restart,重启mysql 。再 执行mysql -uroot -p 登陆,输入密码时直接回车,此时能进入mysql

十、先将密码设置为空 update mysql.user set authentication_string='' where user='root';

十一、执行 flush privileges  。如果不执行此命令:报 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

十二、执行 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'V3q$q7xx';
密码必须符合密码规范,SHOW VARIABLES LIKE 'validate_password%'; --查看密码规范
好像必须 有大小写字母,特殊字符,以及数字。不然报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

十三、 vi my.cnf 编辑文件,注释掉 skip-grant-tables ,保存退出

十四、执行service mysqld restart,重启mysql 。再 执行mysql -uroot -p 登陆,输入上面设置的密码,ok


MySQL5.7和之前的用户修改密码方式:
mysql -uroot -e "Set password=password(‘123’);"
mysql -uroot -p123.com -e "use mysql;update user set authentication_string=password('456') where user='root';"
update mysql.user set authentication_string=password("123") where user='root';

以上三种方法在MySQL8.0以后版本中将不能使用,如果使用了将会导致在正确修改密码是报如下错误:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
如遇上以上问题请使用update语句先清空authentication_string字段,然后再修改密码即可
update user set authentication_string='' where user='root';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
所以特别提醒童鞋们:
MySQL8.0后请使用alter修改用户密码,因为在MySQL8.0以后的加密方式为caching_sha2_password,如果使用update修改密码会给user表中root用户的authentication_string字段下设置newpassowrd值,当再使用alter user 'root'@'localhost' identified by 'newpassword'修改密码时会一直报错,必须清空后再修改,因为authentication_string字段下只能是MySQL加密后的43位字符串密码,其他的会报格式错误,所以在MySQL8.0以后能修改密码的方法只能是:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';


关于 mysql 密码策略相关参数;
1)、validate_password_length  固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
 

标签:redhat,mysql,密码,user,enterprise,validate,password,root
来源: https://blog.csdn.net/zzwpublic/article/details/100836885

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有