mysql跳过授权表进入服务

1.mysql服务是通过mysqld进程提供的

我们可以直接双击mysqld.exe或者在cmd模式下输入mysqld。两种操作都会在后台创建mysqld进程

创建好mysqld.exe进程后,我们就可以登录mysql了。

2.在cmd模式下,我们还可以输入: mysqld --install mysql5.7.14。这种方式的作用是启动mysqld服务,同时将服务注册到系统服务列表中,名字叫做mysql5.7.14。那么以后,我们启动mysql服务时就不需要按路径找到mysqld.exe文件了。mysql服务会随系统的启动而自行判断是否需要启动。

启动类型有:自动,手动,禁用。

3.我们可多次

  mysqld --install a

  mysqld --intall b

  mysqld --install c

这只是将mysql服务注册多个名字而已,真正起作用的还是mysqld.exe进程。而这个进程是唯一的,也就是说启动a服务后,会创建mysqld.exe进程,然后b,c服务都不能被启动。

4.跳过授权表登录mysql

在输入以上命令启动mysql服务前,先保证已经关闭了mysql服务,任务管理器中没有mysqld.exe进程

输入以上命令后,不要关闭窗口,保持mysql服务的运行,关闭了就结束服务了。

重新打开新窗口,在窗口按路径找到mysql.exe所在位置,输入mysql命令就成功登录了

因为mysql的一系列授权表不会加载进内存,mysql的登录也就不需要用户名和密码了

登录之后使用update语句修改mysql.user表的authentication_string值

记得flush privileges让内存重新加载授权表,这样root用户的密码就重新被设置了。

5.修改root密码除了上面的--skip-grant-tables外,还可以直接修改mysql的配置文件

将skip-grant-table前面的分号去掉就可以了,但是这种方式是永久性的。一旦修改配置表,那么以后每次登陆都不需要用户和密码了,所以改完之后最好改回来

 6.mac中

mysqld_safe --skip-grant-tables跳过授权表启动mysql服务

原文地址:https://www.cnblogs.com/bibiafa/p/9400397.html