查看“FAQ:MySQL”的源代码
←
FAQ:MySQL
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:MySQL]] __TOC__ == MySQL8忘记并重置密码 == === 思路: === # 密码丢失,必须采用无密码启动的方式进入系统,才能进行修改密码操作; # (Mysql5.7+)password字段和password()函数,密码为'''authentication_string'''字段; # mysql8.0之前的版本加密规则是mysql_native_password,8.0之后是'''caching_sha2_password'''; === 步骤: === # 修改配置文件<syntaxhighlight lang="shell" inline>vim /etc/my.cnf</syntaxhighlight>,添加<syntaxhighlight lang="shell" inline>skip-grant-table</syntaxhighlight>(跳过权限验证); # 重启mysql服务:<syntaxhighlight lang="shell" inline>systemctl restart mysqld</syntaxhighlight>; # mysql登录(无需密码):<syntaxhighlight lang="shell" inline>mysql -uroot -p</syntaxhighlight>; # 刷新权限表:<syntaxhighlight lang="shell" inline>flush privileges;</syntaxhighlight>; # 重置密码:<syntaxhighlight lang="mysql"> use mysql; alter user 'root'@'localhost' identified by 'newpassword'; </syntaxhighlight> # 重置配置文件<syntaxhighlight lang="shell" inline>vim /etc/my.cnf</syntaxhighlight>,删除<syntaxhighlight lang="shell" inline>skip-grant-table</syntaxhighlight>; # 重启mysql服务:<syntaxhighlight lang="shell" inline>systemctl restart mysqld</syntaxhighlight>; === 其他: === * MySQL5.7更新密码: *: <syntaxhighlight lang="mysql"> UPDATE mysql.user SET authentication_string=PASSWORD('newpassword') WHERE user='root' and host='localhost'; </syntaxhighlight> *: <syntaxhighlight lang="mysql"> UPDATE mysql.user SET authentication_string=UPPER(CONCAT('*',SHA1(UNHEX(SHA1('admin'))))) WHERE user='root' and host='localhost'; </syntaxhighlight> ** <syntaxhighlight lang="mysql" inline>PASSWORD('admin')</syntaxhighlight> 等同 <syntaxhighlight lang="mysql" inline>UPPER(CONCAT('*',SHA1(UNHEX(SHA1('admin')))))</syntaxhighlight>,等于字符串“*4ACFE3202A5FF5CF467898FC58AAB1D615029441”。 * Linux服务操作 *: <syntaxhighlight lang="Bash"> systemctl start mysqld //开启服务 systemctl stop mysqld //停止服务 systemctl restart mysqld //重启服务 systemctl status mysqld //服务状态查看 </syntaxhighlight> * 查看用户相关信息: *: <syntaxhighlight lang="mysql"> select host, user, authentication_string, plugin from user; </syntaxhighlight> *# host:用户登录方式,<code>'localhost'</code>本地登录,<code>'%'</code>可远程登录; *# authentication_string:用户密码; *# plugin:密码加密方式; * (用指定加密方式)更改用户密码: *: <syntaxhighlight lang="mysql"> alter mysql.user 'root'@'localhost' identified with caching_sha2_password by 'newpassword'; </syntaxhighlight> *: <syntaxhighlight lang="mysql"> alter mysql.user 'root'@'localhost' identified with mysql_native_password by 'newpassword'; </syntaxhighlight> * 命令行方式无密码启动MySQL(不修改配置文件):【???】 *# 停止MySQL服务; *# 命令行启动Mysql: *#: <syntaxhighlight lang="shell"> mysqld --console --skip-grant-tables --shared-memory </syntaxhighlight> * (进入mysql后)把 authentication_string 设置为空,所以可以免密码登录【???】: *: <syntaxhighlight lang="mysql"> update mysql.user set authentication_string='' where user='root'; </syntaxhighlight> * 查看MySQL密码校验相关设置: *: <syntaxhighlight lang="mysql" line> SHOW VARIABLES LIKE 'validate_password.%'; </syntaxhighlight> * 修改密码策略: *: <syntaxhighlight lang="mysql"> set global validate_password.length = 6; //密码长度 set global validate_password.policy = 'LOW'; //密码策略级别 FLUSH PRIVILEGES; //刷新权限 </syntaxhighlight>
返回至“
FAQ:MySQL
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息