MySQL密码设置问题

哎哟,最近帮朋友弄MySQL8 .0以上的密码设置,真是有点小崩溃啊。
首先,你得查看初始用户和密码,记得输入命令sudocat/etc/mysql/debian.cnf,然后记录输出的user和password,比如我朋友那用的是debian-sys-maint和一串随机密码。

然后,用这个初始用户登录MySQL,记得输入命令mysql-udebian-sys-maint-p,然后粘贴上一步获取的随机密码。
登录成功后,我朋友就输入usemysql;,进入mysql数据库。

接下来,检查root用户的认证插件,输入命令selectuser,pluginfrommysql.user;,我朋友确认root用户的plugin字段值是auth_socket或其他。
然后,我教他修改root用户的认证插件,输入命令updateusersetplugin=&3 9 ;mysql_native_password&3 9 ;whereuser=&3 9 ;root&3 9 ;;,这步把认证方式改成了传统密码验证。

然后,刷新权限,输入命令flushprivileges;,让更改生效。
设置root密码,输入命令ALTERUSER&3 9 ;root&3 9 ;@&3 9 ;localhost&3 9 ;IDENTIFIEDBY&3 9 ;新密码&3 9 ;;,记得把新密码替换成自定义密码,比如我朋友用的就是1 2 3 4 5 6 再刷新权限,输入命令flushprivileges;,确保密码更改生效。

最后,退出MySQL,用新密码登录,输入命令mysql-uroot-p,然后输入设置的密码验证。
这个过程,我朋友差点没搞明白,还好我耐心指导。

注意事项嘛,密码强度要强,得有字母、数字和符号。
权限安全也要注意,设置完后就别用root用户日常操作了,可以创建专用用户,分配最小必要权限。
版本差异这块,MySQL8 .0默认是caching_sha2 _password插件,但为了兼容旧客户端,可以改回mysql_native_password,就像我朋友那样。

这个过程,说实话,挺复杂的,但搞明白了也就那么回事。
哎,搞IT这行,有时候真的得耐心点。

如何设置mysql的密码

一、给root用户设密码 1 . 先检查MySQL在跑,你有root权限,数据备份了没。
2 . 命令行里输入mysql -u root -p,没密码回车,有密码就输现密码。
3 . 设置密码,命令是ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '强密码';,别用弱密码。
4 . 重启后用新密码登录看行不行。

二、给其他用户设密码 1 . 还是先用root账号登录,方法同上。
2 . 创建用户,命令是CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';。
3 . 想给权限就用GRANT ALL PRIVILEGES ON database_name. TO 'username'@'localhost';。

三、改现有用户密码 1 . 还是用root账号进命令行。
2 . 修改密码,命令是ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';。
3 . 修改后用新密码试试。

注意事项: 1 . 别用弱密码,用点复杂的。
2 . 三五个月换一次密码,安全。
3 . 要远程访问,记得改localhost,防火墙也得开3 3 06 端口。