mysql 5.7 初始密码是多少

mysql 5.7 初始密码是多少,第1张

下载了MySql 最新版本,安装的过程中,发现了很多新特性

1.data目录不见了

在进行my-default.ini配置的时候

(需要配置 # basedir = C:/Program Files/MySQL/MySQL Server 5.7.11

# datadir = C:/Program Files/MySQL/MySQL Server 5.7.11/data)

细心的同学会发现,/data这个目录不存在,但是这个data目录可不是我们手动创建的,根据官方指南

C:/>bin/mysqld --initialize

C:/>bin/mysqld --initialize-insecure

cmd中输入这两个代码中的一个就可以自动在对应的目录下生成啦

(前提是你的path配置正确,比如mysql的路径,如果提示net命令不是内部命令,就在path中增加“C:/Windows/System32”即可)

2.随机生成了一个random string 作为密码

在没有启动前,root的密码是ABC123xyz

随机生成的密码在日志文件中可以查看,没错就是在initialize命令下生成的那个data文件

使用记事本打开Acer.err

找到

“2016-02-12T15:35:00.026880Z 1 [Note] A temporary password is generated for root@localhost: Ux<<lCbrr8&d”

Ux<<lCbrr8&d

这个就是我们要找的密码了

登陆成功:

3.修改密码的指令

果然新版本中修改密码的指令也不是那么好找的。。

在成功连接之后,使用sql语句修改,以往未登录状态下的修改方法已经不能使用啦~~

mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'

修改成功:

本文转自 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

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

一般可通过 log_error 设置

可通过 # grep "password" /var/log/mysqld.log 命令获取MySQL的临时密码

其中 waQ,qR%be2(5 就是密码了

用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:

如果只是修改为一个简单的密码,会报以下错误:

这个其实与validate_password_policy的值有关。

validate_password_policy有以下取值:

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。

必须修改两个全局参数

首先,修改 validate_password_policy 参数的值

这样,判断密码的标准就基于密码的长度了。这个由 validate_password_length 参数来决定。

validate_password_length 参数默认为8,它有最小值的限制,最小值为:

这些参数,默认值均为1,所以 validate_password_length 最小值为4,如果你显性指定 validate_password_length 的值小于4,尽管不会报错,但 validate_password_length 的值将设为4。如下所示:

如果修改了 validate_password_number_count , validate_password_special_char_count , validate_password_mixed_case_count 中任何一个值,则 validate_password_length 将进行动态修改。

当然,前提是 validate_password 插件必须已经安装,MySQL5.7是默认安装的。

那么如何验证 validate_password 插件是否安装呢?可通过查看以下参数,如果没有安装,则输出将为空。

初始化数据库

      # 初始化数据库, 确保 /data/mysql 目录是mysql 可写的。

      /usr/local/mysql57/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

启动服务

       /usr/local/mysql57/support-files/mysql.server start #启动mysql 服务器

登录数据库

      注意:初始化时随机生成了密码,可以去/mysql下的mysql.log 里查看

   【root】# cat mysql.log | grep password

  2021-05-12T06:28:43.374399Z 1 [Note] A temporary password is generated for root@localhost: dHuSP!y.3ef

     #临时密码登录数据库  (会提示要你修改密码)《Linux就该这么学》 一起学习

              /usr/local/mysql57/bin/mysql -uroot  -p "dHuSP!y.3ef"

修改密码方法:(建议方法二)

     方法一:

         mysql>update mysql.user set authentication_string=password("新密码")

         mysql>flush privileges   

     方法二:

          mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'

          mysql>flush privileges


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6150431.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存