一 .当在windows下使用mysql数据库时,出现无法登录的现象,需要修改mysql数据库的roo密码时,我们可以使用一下两种方法。

1.

(1)关闭mysql服务。然后在bin目录下使用cmd运行命令mysqld.exe --skip-grant-tables;

(2)使用新的cmd命令,打开mysql.exe 免密码登录。

(3)使用命令use mysql,切换到MySQL数据库

 

update user set password=password('123456') where user='root';

 

    设置密码为123456

(4)flush privileges;  刷新权限

(5)exit  退出

2.找到my.ini文件,记事本打开,在mysqld下面添加skip-grant-tables,然后重启mysql服务,在使用mysql.exe免密码登录。其他步骤如上。

 

flush privileges 

flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL 用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再 登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。

 

二.关闭或者重启mysql服务的方法有两种:

1.右击我的电脑(计算机),点击管理,找到服务和应用程序,打开,服务,找到mysql服务,右键,有关闭,启动和重启。

2.使用net start 命令,打开cmd,使用命令:net start mysql  打开服务,使用命令:net stop mysql  关闭服务。

 

当使用net start mysql或者net stop mysql命令时出现:

显示服务名无效

有以下两种解决方法:

使用以下方法时,需要切换到管理员身份!检测当前是否为Administrator身份,若不是,以下步骤:

开始->关机边上小三角->切换用户,选择administrator,若没有administrator用户。右击 我的电脑(计算机)点击管理,选择本地用户和组,找到Administrator,双击,找到一下界面:

#2054 无法登录 MySQL 服务器 无法登陆mysql服务器1045_MySQL

将账户已禁用前面的勾去掉。应用,然后重复,开始->关机边上小三角->切换用户,切换成Administrator用户。进行以下操作。(建议方案二)


方案一:cd到mysql 目录下 输入命令 mysqld –initialize,初始化后mysql才有data文件夹。

方案二:打开cmd,输入mysqld.exe -install   

               

Service successfully installed.

 

–initialize会重置root密码,并生成一个随机的临时密码,下次登录需要用这个密码。

按照文档说,这个临时密码会显示在cmd窗口,但并没有。原因在于当初初始化时应该用 –console选项来输出,在没有输出的情况下,这个密码会被记录到log中。于是开始看log存在哪里。发现 mysql的log文件是二进制的,而且有很多log文件。

最终解决办法:

新建一个txt文件,里面写上修改密码的SQL语句。

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass’;

然后启动mysql服务器

mysqld –init-file=path:\initfileNamealerty

执行后,即可修改root密码。 

 

三.mysql8.0出现无法登录问题,使用--skip-grant-tables时,报错且无法使用。

我使用的方式有下面两种:

1.

(1)新建一个txt文件,里面写上修改密码的SQL语句。

    

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass’;

(2)启动mysql服务器

      

mysqld –init-file=path:\initfileNamealerty

        执行后,即可修改root密码。 

2. 

(1)停止MySQL服务

   cmd命令:net stop mysql

(2)打开my.ini文件

    加入:ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678'; 引号里面的的信息为账号和密码保存;

(3)进入MySQL安装的bin目录

   执行:mysqld --defaults-file="路径\my.ini"  

(4)等待执行过后重新打开my.ini 去掉刚才添加的内容保存

(5)重启MySQL

    net start mysql

    使用新密码 12345678 登录即可