1、打开terminal,输入“sudo passwd root”的命令;
2、回车后会出现输入用户密码,root新密码和确认密码;
3、出现“sudo password for you”, 输入你的密码(用户的密码,并不是root的密码);
4、出现“Enter new UNIX password”,设置root 密码;
5、出现“Retype new UNIX password”,重复输入root密码;
6、输入“su”,按Enter键获取root权限,即可。
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 用户就不能随便使用了,这时可以换成其它的验证方式,可以使用下面的命令进行切换:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)