mysql数据库密码忘了怎么重置

mysql数据库密码忘了怎么重置,第1张

1、编辑MySQL配置文件

windows环境中:%MySQL_installdir%\my.ini //MySQL安装目录下的my.ini配置文件。

linux环境中:/etc/my.cnf

在[MySQLd]配置段添加如下一行:skip-grant-tables

保存退出编辑。

2、然后重启MySQL服务

windows环境中:

net stop MySQL

net start MySQL

linux环境中:

/etc/init.d/MySQLd restart

3、设置新的ROOT密码

然后再在cmd命令行下执行:

MySQL -uroot -p MySQL

要求输入密码时直接回车无需密码即可进入数据库了。

现在我们执行如下语句把root密码更新为 123456:

update user set password=PASSWORD("123456") where user='root'

quit 退出MySQL。

4、还原配置文件并重启服务

然后修改MySQL配置文件把刚才添加的那一行(skip-grant-tables)删除。

再次重起MySQL服务,即可

二.修改MySQL的用户名和密码:(未证实)

方法一:(适用于管理员或者有全局权限的用户重设其它用户的密码)

进入命令行模式

mysql -u root mysql

mysql>UPDATE user SET password=PASSWORD("new password") WHERE user='name'

mysql>FLUSH PRIVILEGES

mysql>QUIT

方法二:(应用同上,只是方法不同)

mysql -u root mysql

mysql>SET PASSWORD FOR name=PASSWORD('new password')

mysql>QUIT

最后必杀技:

mysqladmin -u root "old password" "new password"

注:以上name请用你的用户名来替代,new password请输入你想要设置的密码。

重置MYSQL的root密码的方法:

1.停止正在运行的MySQL进程

killall -TERM mysqld

2.以安全模式启动MySQL

mysqld_safe –skip-grant-tables &

3.登陆MYSQL,完成上述两步以后就可以不用密码进入MySQL了

mysql -u root

4.更改密码, 到此我们就可以在mysql客户端提示符下直接修改用户信息表了

use mysql

select host, user, password from user

update user set password=password(“新密码”) where user=”root”

flush privileges

第一句:打开系统数据库“mysql”

第二句:查看一下当前用户信息表有哪 些用户都可以从哪个主机访问数据

第三句:直接修改用户密码,第四句是更新用户权限使其立即生效

5.退出控制台,启动服务

killall -TERM mysqld

service mysqld start

通过上述方法我成功重置了MYSQL的root密码

今天我们主要是讲一下关于linux忘记mysql密码处理方法,下面提供了5种linux忘记mysql密码找回方法哦。

方法一:

# /etc/init.d/mysql stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql

mysql>update user set password=password(newpassword) where user=root

mysql>flush privileges

mysql>quit

# /etc/init.d/mysql restart

# mysql -uroot -p

enter password: <输入新设的密码newpassword>

mysql>

方法二:

直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:

# mysql -udebian-sys-maint -p

enter password: <输入[client]节的密码>

mysql>update user set password=password(newpassword) where user=root

mysql>flush privileges

mysql>quit

# mysql -uroot -p

enter password: <输入新设的密码newpassword>

mysql>

方法三:

这种方法我没有进行过测试,因为我的root用户默认密码已经被我修改过了,那位有空测试一下,把结果告诉我,谢谢!!

# mysql -uroot -p

enter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的密码>

方法四:

方法如下: 1, 关闭mysql服务 /etc/init.d/mysqld stop 2,使用 –skip-grant-tables选项启动mysql服务,可以修 改/etc/inin.d/mysqld脚本启动位置增加此选项, vi /etc/init.d/mysqld

方法如下:

1, 关闭mysql服务

/etc/init.d/mysqld stop

2,使用 –skip-grant-tables选项启动mysql服务,可以修 改/etc/inin.d/mysqld脚本启动位置增加此选项,

vi /etc/init.d/mysqld

在下面运行启动的语句里增加--skip-grant-tables

/usr/bin/mysqld_safe --skip-grant-tables --datadir="$datadir" --socket="$socketfile"

--log-error="$errlogfile" --pid-file="$mypidfile"

加入--skip-grant-tables的意思是启动mysql服务的时候跳 过权限表认证。启动后,连接到mysql的root不需要口令

3,重新启动mysql服务

/etc/init.d/mysqld start

4. 修改root用户的密码;

mysql>update mysql.user set password=password(123456) where user=root;

mysql>flush privileges;

mysql>quit

5. 重新启动mysql,就可以使用 新密码登录了。

mysql

mysql -u root –p

输入密码:123456

6,关闭mysql服务

/etc/init.d/mysqld stop

7, 重新修改第2步修改的/etc/init.d/mysqld,使其保持原来不变,也就是取消--skip-grant-tables语句

8,重新 启动mysql服务

/etc/init.d/mysqld start


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/6844413.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-29
下一篇2023-03-29

发表评论

登录后才能评论

评论列表(0条)

    保存