mysql 8.0 忘记root密码后重置
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
最近状态很不好,一直晕晕晕晕晕晕乎乎的,一个测试实例,下班前修改了一下root的密码,接着就下班走人,第二天来发现root密码忘了 刚好自动化安装脚本整理好了,本来想着算了直接重装实例得了,简单省事也花不了半分钟,反正是测试实例,没什么大问题
发现有些思维定势,所以最近一直暗示自己要做一些一上来就排斥的事,强制改变一下思维方式,那么就重置一下,不要通过重装来绕过这个问题 试了好几种方式,有的行有的不行,直说最简单可行的一种方法: 1,停止实例(如果实例在开启的话),非服务名启动,也即用mysqld命令加上--skip-grant-tables方式启动MySQL服务 /usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/usr/local/mysql8_data/mysql8000/etc/my.cnf --skip-grant-tables &
或者
/usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld_safe --defaults-file=/usr/local/mysql8_data/mysql8000/etc/my.cnf --skip-grant-tables & 2,本地以sock方式连接值该实例,指定实例的sock文件后回车让输密码,继续回车可正常连接 3,切换到mysql库下, 3.1.执行update user set authentication_string = "" where user = "root"; 3.2.刷新权限,flush privilegs; 3.3.重置密码:alter user "root"@"%" identified by "********"; 3.4.刷新权限,flush privilegs; 4,退出当前连接后,如果继续采用步骤2中的方式连接,发现是连不上的,必须输入密码
需要注意的是,忘记密码后,以--skip-grant-tables启动实例之后,在本地只能以sock连接方式登录。
如果使用tcp/ip方式登录是不可行的,提示输入密码之后,继续回车,会提示 Can"t connect to MySQL server on "127.0.0.1",不难理解,为确保安全,重置密码只能在本地(sock)连接。
over,继续干活。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341