Mysql忘记密码修改密码

问题重现(以下讨论范围仅限Windows环境):

C:\AppServ\MySQL> mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入
  skip-grant-tables

保存退出后重启mysql

1.点击“开始”->“运行”(快捷键Win+R)。

  2.启动:输入 net stop mysql

  3.停止:输入 net start mysql

这时候在cmd里面输入mysql -u root
-p就可以不用密码登录了,出现password:的时候直接回车可以进入,不会出现ERROR 1045
(28000),但很多操作都会受限制,因为我们不能grant(没有权限)。按下面的流程走(红色部分为输入部分,粉红色的是执行后显示的代码不用输入):

1.进入mysql数据库:

mysql> use mysql;
Database changed

2.给root用户设置新密码,蓝色部分自己输入:
mysql> update user set
password=password("新密码") where
user="root";
Query OK, 1 rows affected
(0.01 sec)
Rows matched: 1 Changed: 1
Warnings: 0

3.刷新数据库
mysql>
flush privileges;
Query
OK, 0 rows affected (0.00 sec)

4.退出mysql:
mysql> quit
Bye

改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql就可以了。

时间: 2024-08-28 03:23:17

Mysql忘记密码修改密码的相关文章

登录多实例MySQL失败,修改密码临时解决,原因不明

昨天学习第11课"主从同步"的视频(L11-11-MySQL主从同步手把手实战操作详解w),再次遇到问题. [[email protected] ~]# mysql -uroot -p'oldboy3307' -S /data/3307/mysql.sock ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 上个月初学习安装多实例的时候,也遇到过这个报错.查看当时的日记

mysql密码忘记或修改密码的解决办法

今天在连接mysql的时候,发现老是提示连接到localhost失败,找了原因,是前两天密码被非法修改了.现在不知道root登陆密码,又想连接到数据库,网站找了下方法,结合自己的实践,总结如下: 1.在my.init文件中的[mysqld]下面加上skip-grant-tables,故名思议,就是跳过授权验证表,直接操作数据库 2.重新启动mysql (net start/stop mysql) 3.在MySQL Command Line Client用root以空密码登陆. 或者在命令行中敲命

mysql忘记帐号密码 解决办法

首先关闭mysql 使用命令行启动mysql(一般要找到mysql.ini文件) 在windows上mysql.ini文件可以通过查看当前mysql进程参数查看到,具体方法点此 在启动mysql命令行最后加上:  --skip-grant-tables 参数 其他的一些方法: 1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中. killall -TERM mysqld 你必须是UNI

mysql8.0版本忘记密码修改密码

最近也不知道是懒了还是老了,几天没碰数据库竟然把密码忘了,这就好比吃饭的家伙锁在箱子里,那还怎么吃饭?所以我得把mysql密码相关的都整理一下,免得还得招人开锁,那实在是太尴尬了. 实验目的:忘记用户密码,修改用户密码 在安装mysql的时候有一个跳过密码的步骤,先试一试行不行 vim /etc/my.cnf 在[mysqld]下面加上一句 skip-grant-tables 重启mysql服务 systemctl restart mysqld.service 通过无密码方式登录mysql服务

mysql四种修改密码的方式

方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for [email protected] = password('123'); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password

centos6.5 mysql忘记登入密码

1.修改文件目录为/etc/my.cnf的文件; 在[mysqld]的段中加上一句:skip-grant-tables,保存文件重启数据库: 例如: [mysqld] skip-grant-tables datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symb

mysql 5.7修改密码

本意向修改一个用户的密码,网上搜到的命令为如下 ? 1 mysql> update user set password=password(“新密码”) where user=”用户名”; 执行后报错 ERROR 1054(42S22) Unknown column 'password' in ‘field list’ 错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string 所以请使用一下命令: >m

MySQL忘记root用户密码修改方法

一般来说在MySQL修改用户密码有好几种方法: 1.修改自己的密码可用: set password=password('123456'); 2.修改其它用户的密码可用: set password for 'username'@'host'=password('123456'); 3.通过修改mysql库中的user表中的password字段,可用: update mysql.user set password=password('123456') where User='username' an

MYSQL忘记超级用户密码修改

#service mysql stop #mysqld_safe --skip-grant-tables 另外开个SSH连接或终端 [[email protected] ~]# mysql mysql>use mysql mysql>update user set password=password("123456") where user="root"; mysql>flush privileges; mysql>exit 然后再次进入my