mysql数据库密码忘了怎么重置
方法1: 用SET PASSWORD命令
首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password(‘新密码’); 例子:mysql> set password for root@localhost = password(‘123’);
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表
首先登录MySQL。 mysql> use mysql; mysql> update user set password=password(‘123’) where user=’root’ and host=’localhost’; mysql> flush privileges;
方法4:在忘记root密码的时候,可以这样 以windows为例:
1 关闭正在运行的MySQL服务。 2 打开DOS窗口,转到mysql\bin目录。 3 输入mysqld –skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 4 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。 5 输入mysql回车,如果成功,将出现MySQL提示符 >。 6 连接权限数据库: use mysql; 。 6 改密码:update user set password=password(“123”) where user=”root”;(别忘了最后加分号) 。 7 刷新权限(必须步骤):flush privileges; 。 8 退出 quit。 9 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
MySQL密码忘了的操作:
1关闭MySQL数据库,因为root密码忘记了,mysqladmin无法使用,此时,只能通过killpid关闭程序。在这里,科普一下kill和kill-9的区别默认参数下,kill发送SIGTERM信号给进程。
告诉进程,你需要被关闭,请自行停止运行并退出。kill-9发送SIGKILL信号给进程,告诉进程,你被终结了,请立刻退出。与SIGTERM相比,这个信号不能被捕获或忽略,同时接收这个信号的进程在收到这个信号时不能执行任何清理所以。
万不得已,不要通过kill-9杀掉进程,这可能导致MySQL数据库的物理结构损坏,无法重新启动。
2在mycnf文件部分添加skip-grant-tables参数。
3登录数据库,修改root账户的密码以下是修改root密码的三种方式:
1>mysql>setpasswordfor'root'@'localhost'=password('123')。无需刷新权限表。
2>mysql>updatemysqlusersetpassword=password("456")whereuser="root"andhost="localhost"。
mysql>flushprivileges;3>#mysqladmin-urootpassword"123"。
4关闭数据库,注释掉skip-grant-tables参数,重新启动数据库。上面这种方式虽然不错,但是有个问题,你必须重启数据库,对于线上环境,这可能是不被允许的。
1、编辑MySQL配置文件:
windows环境中:%MySQL_installdir%\myini //MySQL安装目录下的myini配置文件。
linux环境中:/etc/mycnf
在[MySQLd]配置段添加如下一行:skip-grant-tables
保存退出编辑。
2、然后重启MySQL服务
windows环境中:
net stop MySQL
net start MySQL
linux环境中:
/etc/initd/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请输入你想要设置的密码。
网站程序是php+mysql 后台管理密码忘记解决办法:
1、在命令行运行:taskkill /f /im mysqld-ntexe
下面的操作是操作mysql中bin目录下的一些程序,如果没有配置环境变量的话,需要切换到mysql的bin 目录下执行如下语句。不然无效
2继续在命令行运行:mysqld-nt --skip-grant-tables
3新开一个命令行运行:mysql -u root (如果没有配置mysql的bin环境变量的话需要切换到bin目录下执行此语句)
如果不想改密码,只是想看原来的密码的话。可以在命令行执行这个语句
select host,user,password from mysqluser;//即可查看到用户和密码
如果要修改密码的话,在命令行下执行下面的语句
update mysqluser set password='这里填写你要设置的密码' where user='root';
这里我设置了空密码。
完成这些操作后,继续在命令行运行
taskkill /f /im mysqld-ntexe;//安全着想,先结束,因为现在这样是可以用mysql -u root 直接登录的
net start mysql;//启动mysql服务
至此,mysql的root密码遗忘解决方法就算弄完了。
0条评论