mysql升级5.7版本以后,安全性大幅度上升。

MySQL5.7为root用户随机生成了一个密码,打印在error_log中,关于error_log的位置,如果安装的是RPM包,则默认是 /var/log/mysqld.log 。

于是我们可以在mysqld.log中找到初始密码串:

cat /var/log/mysqld.log | grep password

用初始密码串登陆即可:

mysql -u root -p's;*QJ6/gX1et'

但是你会登陆之后会发现很多功能都不能用,只有修改密码才能进行正常操作:

于是我们修改密码:

mysql> SET PASSWORD = PASSWORD('123456');

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

mysql> SET PASSWORD = PASSWORD("root");

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

却又坑爹地说密码不满足策略要求。。。

那我们先看看数据库当前的密码策略是啥

mysql root@localhost:(none)> show VARIABLES like "%password%"

+---------------------------------------+---------+

| Variable_name | Value |

|---------------------------------------+---------|

| default_password_lifetime | 0 |

| disconnect_on_expired_password | ON |

| log_builtin_as_identified_by_password | OFF |

| mysql_native_password_proxy_users | OFF |

| old_passwords | 0 |

| report_password | |

| sha256_password_proxy_users | 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 |

+---------------------------------------+---------+

根据官方文档可以发现策略为1,即MEDIUM

所以你更改密码必须满足:数字、小写字母、大写字母 、特殊字符、长度至少8位

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

或者

SET password='new_password';

如此你便成功修改了密码,最后你还要设置一下过期时间,以防止密码失效。

在/etc/my.cnf配置文件中增加

[mysqld]

default_password_lifetime=0

或者直接通过命令设置

ALTER USER 'script'@'localhost' PASSWORD EXPIRE NEVER

以上便可以开心的mysql的世界里遨游了~~~

番外篇

但是有时候为了图方便,数据的安全性要求也不是很高的情况下,我们通常更希望设置一个简单的密码,比如123456...

法一:

在/etc/my.cnf配置文件中增加

[mysqld]

validate_password=off

然后service mysqld restart或者systemctl restart mysqld.service重启mysqld,通过SHOW PLUGINS;即可看到密码验证的插件被停止了。

+-------------------+----------+-------------------+----------------------+-----+

| validate_password | DISABLED | VALIDATE PASSWORD | validate_password.so | GPL |

+-------------------+----------+-------------------+----------------------+-----+

法二:

更改密码策略为LOW

set global validate_password_policy=0;

更改密码长度

set global validate_password_length=0;

如此即可随意设置密码:

update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';

或者

set password for 'root'@'localhost'=password('123456');

当然,我们还有一种办法,就是在最最开始的时候,不设置初始密码:

只需要在初始化时指定--initialize-insecure即可,比如:

mysqld --initialize-insecure --datadir=/var/lib/mysql --basedir=/usr --user=mysql

mysql5.7 密钥_mysql5.7密码登录的那些坑相关推荐

  1. 【linux】云服务器的密钥登陆与密码登录相关注意事项

    先说结论: 保护云服务器的最佳步骤:使用密钥登陆,禁用密码登录. 绑定密钥以及使用远程登录软件登录服务器的过程请务必先以官方文档及视频为主准!!!这一步对了可以少走很多弯路.不要一来就去找别人的教程, ...

  2. SSH工具连接服务器密钥改成密码登录

    首先需要登录CentOS系统, 1.登录后设置root密码(如设置请忽略此步骤) 登录root用户 sudo su - root 修改root密码 passwd root 2.修改文件 vi /etc ...

  3. MySQL5.7.12新密码登录方式及密码策略

    MySQL5.7.12新密码登录方式及密码策略 在Centos6.6上安装MySQL5.7.12时,遇到了一个问题 安装后在/root目录下没有发现有.mysql_secret这个文件,所以没有没法按 ...

  4. 禁止linux使用密码ssh,linux centos7服务器使用密钥登录ssh同时禁止root密码登录

    这两天在大量的给服务器添加密钥,有的服务器简单绑定下就行了. 但是京东云目前就毕竟弱了,得自己手动来. 目前京东云的服务器需要自己手动修改配置,才能用密钥登录服务器,不然默认还是root用密码登录. ...

  5. CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

    密钥登录步骤(免密码登录) ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,出于安全方面的考虑,介绍密钥认证方式登录到linux/unix的 ...

  6. linux修改私钥的密码,linux使用密钥+密码登录ssh(centos7)

    密钥+密码登录ssh(双层保障) 1. 生成密钥 使用需要生成密钥的用户登录后键入. ssh-keygen -t rsa 直接回车会在~/.ssh目录(用户所在家目录下的.ssh目录,如果没有请自行创 ...

  7. ssh密钥登录 改密码登录_如何使用密钥对通过SSH登录而不使用密码

    ssh密钥登录 改密码登录 In last post we saw how to use Expect Script for login to remote server using SSH. The ...

  8. 谷歌正式推出 “密钥登录”,逐步取代传统密码登录

    出品 | OSC开源社区(ID:oschina2013) 都什么年代了,还在用传统密码?10 月 12 日,谷歌宣布在 Android 和 Chrome 中正式推行密钥登录 "PassKey ...

  9. linux系统密码正则,Linux密钥登录原理和ssh使用密钥实现免密码登陆

    目录 1.公私钥简介与原理 公钥和私钥都属于非对称加密算法的一个实现,这个加密算法的信息交换过程是: 1) 持有公钥的一方(甲)在收到持有私钥的一方(乙)的请求时,甲会在自己的公钥列表中查找是否有乙的 ...

最新文章

  1. 计算机二级公共基础知识证书,计算机二级公共基础知识
  2. Windows核心编程 第十二章 纤程
  3. python爬虫今日头条_python爬虫—分析Ajax请求对json文件爬取今日头条街拍美图
  4. ASP.NET MVC (五、HttpClient接口解析)
  5. Flask部署| gunicorn、nginx部署flask项目,并用supervisor来管理进程
  6. ReentrantLock可重入锁使用及原理
  7. Android RecyclerView(九)滑动监听综述
  8. 一维数组的初始化问题
  9. 数据分析,怎么做才算到位?
  10. 专题九:Simulink系统仿真
  11. 牛腩新闻发布系统—发布错误总结
  12. 国产分布式ETL调度管理工具 TASKCTL 8.0 核心/代理节点部署
  13. [Unity]腾讯SDK踩坑之路(3)--米大师坑 + MSDK坑 (2)
  14. 2020 Linux系统应用基础教程 期末复习【整理】 第五章 磁盘文件与目录管理
  15. 怀旧服ouf头像插件_魔兽世界7.0前夕ShadowedUF简洁头像插件
  16. AUTOCAD——中心线绘制、CAD默认线宽是多少?可以修改吗?
  17. 微信网页程序开发,如何解决后退时重复登录的问题
  18. Python 之selenium+phantomJS斗鱼抓取案例
  19. E.Neko and Flashback
  20. 华为 eNSP 模拟器练习1

热门文章

  1. C#基础知识之托管代码和非托管代码
  2. 【Python码住雪景小程序】雪景人像最强攻略:让你一下美10倍、美醉了(中国人不骗中国人)
  3. unresolved external symbol __imp__timeGetTime@0
  4. [league/climate]一个功能健全的命令行功能操作库
  5. 分享自己使用python+pyserial+pyQT5写的串口调试助手
  6. 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第十七集
  7. freeswitch + webRtc +jssip 实现web端语音通话
  8. Cisco远程访问(SSL)虚拟专用网的工作原理
  9. 微信小程序学习总结1
  10. 微信小程序之Array操作、图片上传