解决方法如下:
让mysql不载入权限表,命令:mysqld --skip-grant-tables(windows)、mysqld_safe --skip-grant-tables user=mysql或者/etc/init.d/mysql start --mysqld --skip-grant-tables (linux)
打开另外一个命令窗口,进入mysql的交互界面,密码随便输入。
用update语句设置密码(此时不能用set password语句)。
验证密码修改是否成功
1、首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:
开始->菜单->cmd->net stop mysql
打开第一个cmd1窗口,切换到mysql的bin目录。
切换方法:首先找到mysql目录,我的目录是C:\Program Files (x86)\MySQL\MySQL Server 6.0\bin
然后运行命令:cd C:\Program Files (x86)\MySQL\MySQL Server 6.0\bin 切换成功
然后运行命令:
mysqld --defaults-file="C:\Program Files (x86)\MySQL\MySQL Server 6.0\my.ini" --console --skip-grant-tables
注释:
该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。 此时已经开启了mysql服务了!相当于自己建立了一个mysql服务线程。
这个窗口保留 不关闭。
2、打开第二个cmd2窗口,同样切换到mysql的bin目录,连接mysql:
输入命令:
mysql -u root -p
出现:
Enter password:
在这里直接回车,不用输入密码。
然后就就会出现登录成功的信息,
使用命令:
show databases;
使用命令切换到mysql数据库:
use mysql;
使用命令更改root密码:
update user set password=password("123456") where user="root";
提示:123456可以 更改为其它密码,看自己喜好。
刷新权限:
flush privileges;
然后退出
quit
可以关掉之前的cmd1 窗口了。
然后启动mysql服务
net start mysql
重新登录,输入
mysql -u root -p
出现输入密码提示,输入新的密码即可登录:
Enter password: ******
显示登录信息: 成功
方法:
1、在DOS窗口下输入net stop mysql5 或 net stop mysql
2、开一个DOS窗口,这个需要切换到mysql的bin目录。
一般在bin目录里面创建一个批处理1.bat,内容是cmd.exe运行一下即可就切换到当前目录,然后输入
mysqld-nt --skip-grant-tables;
3、再开一个DOS窗口,mysql -u root
4、输入:
use mysql
update user set password=password("new_pass") where user="root";
flush privileges;
exit
5、使用任务管理器,找到mysqld-nt的进程,结束进程
或下面的步骤
1,停止MYSQL服务,CMD打开DOS窗口,输入 net stop mysql
2,在CMD命令行窗口,进入MYSQL安装目录 比如E:\Program Files\MySQL\MySQL Server 5.0\bin
示范命令:
输入 e:回车,
输入cd "E:\Program Files\MySQL\MySQL Server 5.0\bin"
注意双引号也要输入,这样就可以进入Mysql安装目录了.
3,进入mysql安全模式,即当mysql起来后,不用输入密码就能进入数据库。
命令为: mysqld-nt --skip-grant-tables
4,重新打开一个CMD命令行窗口,输入mysql -uroot -p,使用空密码的方式登录MySQL(不用输入密码,直接按回车)
5,输入以下命令开始修改root用户的密码(注意:命令中mysql.user中间有个“点”)
mysql> update mysql.user set password=PASSWORD('新密码') where User='root';
6,刷新权限表
mysql> flush privileges;
7,退出
mysql> quit
这样MYSQL超级管理员账号 ROOT已经重新设置好了,接下来 在任务管理器里结束掉 mysql-nt.exe 这个进程,重新启动MYSQL即可!(也可以直接重新启动服务器)
MYSQL重新启动后,就可以用新设置的ROOT密码登陆MYSQL了!
Cent OS8.0版本的LINUX忘了ROOT密码,视频教程