linux 进入 mysql 跳过密码认证

linux 进入 mysql 跳过密码认证,第1张

1.# vi /etc/my.cnf

2.在[mysqld]后面任意一行添加“skip-grant-tables”(按i进入插入模式)

3.添加完那一行后点击ESC退出插入模式,输入(:wq)保存退出

4.使用service mysqld restart来重启(重启失败则按提示输入systemctl restart mysqld.service)

5.再次输入 # mysql 则可直接进入

Ubuntu在Mysql 8.0在线安装成功后(sudo apt install),默认的root用户密码为空,默认监听本机,只能在本机登录,直接命令`mysql`即可登录 。

Centos安装完成后,可能需要密码,密码位置在

如果没有密码,或者忘记密码请在配置文件加入 skip-grant-tables ,ubuntu配置文件在 /etc/mysql/ 路径下。

注: 跳过密码后,登录进入后必须先 flush privileges 才能修改密码。

1:第一种方式

直接在用Linux命令 mysqladmin 修改。

2:第二种方式

登录mysql 更改密码

显示ok成功。

注:由于我这里没有默认安装validate_password插件,所以直接修改成功,有些默认安装的是修改不成功的,因为太简单的密码,不符合密码规则,会报错如下: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

3:关于validate_password插件

validate_password是一款密码规则插件,查看密码规则命令:

安装完成后,查看显示如下:

参数说明:

当指定密码规则后,如果嫌麻烦,直接更改密码规则即可,如偏要设置123456简单密码。

虽然改了密码,但是发现root登录仍无需登录密码,或者加参数-p输入密码时,任何密码都可以进入。

原因:查看用户插件信息

显示root插件为auth_socket,这种插件无需密码,所以设置任何密码都无效。

更改插件为 mysql_native_password 或者 caching_sha2_password

更改完成后,需重新设置root密码生效,修改方法同上。修改后,登录需要输入正确密码

注:为了提供更安全的密码加密,MySQL8.0的首选默认密码认证插件是caching_sha2_password,而不是mysql_native_password,根据自己需求选择插件

关于auth_socket插件

这种插件验证方式有以下特点:

auth_socket 这个插件因为有这些特点,它很适合我们在系统投产前进行安装调试的时候使用,而且也有相当的安全性,因为系统投产前通常经常同时使用 *** 作系统的 root 用户和 MySQL 的 root 用户。当我们在系统投产后, *** 作系统的 root 用户和 MySQL 的 root 用户就不能随便使用了,这时可以换成其它的验证方式,可以使用下面的命令进行切换:


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

原文地址:https://www.54852.com/zaji/6115848.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存