无密码情况下破除mysql的root密码
忘记MySQL的root密码该怎么办
忘记MySQL的root密码该怎么办在MySQL⽇常开发或者是维护中,有⼀些问题或是故障往往是难以避免的,如丢失密码、表损坏。
在此总结⼀下常忘记MySQL的root密码解决办法:1.登录数据库所在服务器,⼿动kill掉Mysql进程关闭进程的命令为:kill 进程号(linux下)关闭进程的命令为:taskkill 进程号(win下)怎么查看进程号呢?我们都知道MySQL的进程号⼀般都会保存在Mysql数据⽬录下的,它记录了Mysql的服务进程号。
⽂件名为hostname.pid,如下,其中YEGZT8JOIIU2LKY为主机名。
linux下查看进程通过使⽤ps命令;在win下,我们也可以通过tasklist查看进程号,打开该⽂件,可以看到,⾥⾯仅仅记录着进程号现在为了⽅便,我主要演⽰win下操作,不准备打开虚拟机在测试了。
如果我们不熟悉taskkill命令,可以通过taskkill /?来查看命令。
2.使⽤–skip-grant-tables选项重启MySQL服务linux下语法:./bin/mysqld_safe –skip-grant-tables其中–skip-grant-tables选项代表启动mysql(注意win下安装的Mysql,我使⽤mysqld –skip-grant-tables )3.使⽤空密码的root⽤户连接MySQL,并修改root⼝令修改如下因为使⽤–skip-grant-tables启动,故使⽤set password命令失败。
使⽤update语句,直接更新mysql数据库中user表。
4.更新权限5.重新登录退出后,发现在此使⽤mysql -uroot登录,会登陆不成功,只能使⽤密码登陆。
以上就是解决root密码忘记的⽅法,希望对⼤家的学习有所帮助。
windows下忘记mysql的root用户密码详细解决方法
Windows下mysql忘记root密码的解决方法:Mysql版本:5.1.55-community MySQL Community Server (GPL)1、首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql或者在windows任务管理器中结束mysqld.exe进程,或者在控制面板,管理工具里面的服务找到mysql,将其停止服务。
打开第一个cmd窗口,切换到mysql的bin目录,运行命令:mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables注释:该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。
"C:\Program Files\MySQL\MySQL Server 5.1\my.ini"指配置文件my.ini,一般在mysql安装目录里面。
如:===============================================================================C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables110301 9:20:07 [Warning] '--default-character-set' is deprecated and will be removed in a future release. Please use '--character-set-server' instead.110301 9:20:07 [Note] Plugin 'FEDERATED' is disabled.110301 9:20:07 InnoDB: Initializing buffer pool, size = 46.0M110301 9:20:07 InnoDB: Completed initialization of buffer pool110301 9:20:07 InnoDB: Started; log sequence number 0 44233110301 9:20:07 [Note] mysqld: ready for connections.Version: '5.1.55-community' socket: '' port: 3306 MySQL Community Server (GPL)2、打开第二个cmd窗口,连接mysql:输入命令:mysql -uroot -p出现:Enter password:在这里直接回车,不用输入密码。
CentOS7忘记mysql的root密码_处理方法.
CentOS7忘记mysql的root密码_处理⽅法.1、打开mysql的配置⽂件:vi /etc/f2、在配置⽂件中添加:skip-grant-tables,然后保存退出, vi常⽤命令在最后。
如图3、重启mysqlservice mysqld stop 停⽌service mysqld start 启动4、⽤户⽆密码登录模式mysql -uroot -p 回车会提⽰输⼊密码,这⾥不⽤输⼊,密码为空,直接回车。
5、选择设局库use mysql;6、重新修改root密码update user set authentication_string=password('新密码') where user='root';7、执⾏flush privileges;8、退出数据库exit;9、重新进⼊f配置⽂件,把之前添加的skip-grant-tables删除并保持vi /etc/f10、再次重启mysql数据库service mysqld stop/start11、再次进⼊数据库mysql -uroot -q 回车,输⼊新密码,正常登陆数据库。
⼀、vi常⽤命令:i 进⼊编辑模式。
⼆、保存命令按ESC键跳到命令模式,然后::w 保存⽂件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存⽂件并退出vi:wq! 强制保存⽂件,并退出viq: 不保存⽂件,退出vi:q! 不保存⽂件,强制退出vi:e! 放弃所有修改,从上次保存⽂件开始再编辑三、常⽤命令1、查看mysql是否运⾏,检查3306端⼝,mysql默认运⾏端⼝netstat -tulpn2、添加mysql⾃动启动服务shell> systemctl enable mysqldshell> systemctl daemon-reload四、数据库常⽤操作命令--显⽰数据库:show database;--选择数据库:use databasename;--显⽰数据库中的表show tables;--显⽰数据表结构describe tablename;--显⽰表记录select * from tablename;--查询能操作Mysql的⽤户select * from user;--创建数据库create database databasename--创建表create table mytable(ID int auto_increment not null primary key,name char( 10)); --插⼊数据insert into mytable(name) values('123123');。
mysql忘记密码和删除root用户
一、手动修改1、停止MySQL服务执行:/etc/init.d/mysql stop,你的机器上也不一定/etc/init.d/mysql也可能是/etc/init.d/mysqld 2、跳过验证启动MySQL/usr/local/mysql/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &注:如果mysqld_safe的位置如果和上面不一样需要修改成你的,如果不清楚可以用find命令查找。
3、重置密码等一会儿,然后执行:/usr/local/mysql/bin/mysql -u root mysql出现mysql提示符后输入:update user set password = Password('要设置的密码') where User = 'root';回车后执行:flush privileges;(重要) 刷新MySQL系统权限相关的表。
再执行:exit; 退出。
4、重启MySQL杀死MySQL进程:killallmysqld重启MySQL:/etc/init.d/mysql start二、如果是误删了root用户,则使用下面的语句创建root用户:insert into user setHost='localhost',User='root',Password=Password('111111'),select_priv='y',insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv ='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',creat e_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_ priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',sho w_view_priv='y',create_routine_priv='y',alter_routine_priv='y',event_priv='y',trigger_priv ='y';三、如果是忘记了root用户的密码,则使用下面的语句修改root密码:update user set Password=Password('111111') where User='root';。
Mysql忘记root密码和修改root密码的解决方法(小结)
Mysql忘记root密码和修改root密码的解决⽅法(⼩结)⼀修改root密码的三种办法⽅法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;⼆忘记root密码解决办法以下是Windows操作系统的操作步骤:1. 关闭正在运⾏的MySQL服务-->net stop mysql2. 打开DOS窗⼝,转到mysql\bin⽬录。
3. 输⼊mysqld --skip-grant-tables回车。
--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证,注意skip前⾯是两个“-” ,此时DOS窗⼝⽆法输⼊4. 再开⼀个DOS窗⼝,转到mysql\bin⽬录。
5. 输⼊mysql回车,如果成功,将出现MySQL提⽰符 >。
6. 连接权限数据库: use mysql; 。
7. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号)8. 刷新权限(必须步骤):flush privileges; 。
MySql登陆密码忘记及忘记密码的解决方案
MySql登陆密码忘记及忘记密码的解决⽅案⽅法⼀:MySQL提供跳过访问控制的命令⾏参数,通过在命令⾏以此命令启动MySQL服务器:safe_mysqld --skip-grant-tables&即可跳过MySQL的访问控制,任何⼈都可以在控制台以管理员的⾝份进⼊MySQL数据库。
需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会⽣效⽅法⼆:可以进⾏如下的步骤重新设置MySQL的root密码:1.⾸先确认服务器出于安全的状态,也就是没有⼈能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的⽤户也可以任意地登录和修改MySQL的信息。
可以采⽤将MySQL对外的端⼝封闭,并且停⽌Apache以及所有的⽤户进程的⽅法实现服务器的准安全状态。
最安全的状态是到服务器的Console上⾯操作,并且拔掉⽹线。
2.修改MySQL的登录设置:# vi /etc/f在[mysqld]的段中加上⼀句:skip-grant-tables例如:[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockskip-name-resolveskip-grant-tables保存并且退出vi。
3.重新启动mysqld# /etc/init.d/mysqld restartStopping MySQL: [ OK ]Starting MySQL: [ OK ]4.登录并修改MySQL的root密码# /usr/bin/mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3 to server version: 3.23.56Type ‘help;' or ‘\h' for help. Type ‘\c' to clear the buffer.mysql> USE mysql ;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> UPDATE user SET Password = password ( ‘new-password' ) WHERE User = ‘root' ; Query OK, 0 rows affected (0.00 sec)Rows matched: 2 Changed: 0 Warnings: 0mysql> flush privileges ;Query OK, 0 rows affected (0.01 sec)mysql> quitBye5.将MySQL的登录设置修改回来# vi /etc/f将刚才在[mysqld]的段中加上的skip-grant-tables删除保存并且退出vi。
mysql安装后root密码忘记破解
mysqld --skip-grant-tables &
4. 然后该dos窗口不关闭,再打开另一个dos窗口,按第2步骤进入相应目录,然后用空密码方式使用root用户登录 MySQL 。
mysql -u root
5 出现“mysql>”符号,在后面输入以下代码修改root用户的密码(不分大小写,每个命令输入完后后面要加分号然后按回车键执行)。
如果忘记了MySQL的root密码,可以用以下方法重新设置:
方法一:
1. 在任务管理器里结束MySQL进程(名为:mysqld)。
2. 打开dos命令窗口,进入到安装路径下的bin目录下,一般地是:
C:\Program Files\MySQL\MySQL Server 5.5\bin
3.用以下命令以不检查权限的方式启动MySQL(mysqld后有一个空格,skip前有两个“--”,skip-grant-tables间的“-”两边无空格,后面的&字符一定要)。
mysql> update er set password=password('新密码') where user='root';
mቤተ መጻሕፍቲ ባይዱsql> flush privileges;
mysql> quit
重新启动MySQL,就可以使用新密码登录了。
说明:其中第4和第5步可以打开mysql administrator窗口程序,不输入密码进入,添加一个新用户名也可以,注意至少要给他一个数据库来管理。
5_忘记MySQLroot密码的解决方案
忘记MySQLroot密码的解决方案此文章主要是对忘记mysql密码这一情况的具体解决,在实际的操作中假如你忘记了root密码是一件令人十分头疼的事情,不用急,以下的文章内容就是对这一问题的破解,下面就是文章的主要内容描述。
一. MySQL密码的恢复方法之一如果忘记了MySQLroot密码,可以用以下方法重新设置:1. KILL掉系统里的MySQL进程;killall -TERM MySQLd2. 用以下命令启动MySQL,以不检查权限的方式启动;safe_MySQLd --skip-grant-tables &3. 然后用空密码方式使用root用户登录 MySQL;MySQL -u root4. 修改MySQLroot用户的密码;1.MySQL> update er set password=PASSWORD('新密码') where User='root';2.MySQL> flush privileges;3.MySQL> quit重新启动MySQL,就可以使用新密码登录了。
二. MySQL密码的恢复方法二有可能你的系统没有 safe_MySQLd 程序(比如我现在用的 ubuntu操作系统, apt-get安装的MySQL) , 下面方法可以恢复1. 停止MySQLd;sudo /etc/init.d/MySQL stop(您可能有其它的方法,总之停止MySQLd的运行就可以了)2. 用以下命令启动MySQL,以不检查权限的方式启动;MySQLd --skip-grant-tables &3. 然后用空密码方式使用root用户登录 MySQL;1.MySQL -u root4. 修改MySQLroot用户的密码;1.MySQL> update er set password=PASSWORD('newpassword')where User='root';2.MySQL> flush privileges;3.MySQL> quit重新启动MySQL1./etc/init.d/MySQL restart就可以使用新密码 newpassword 登录了。
MySQL root密码忘记的几种破解方法
>use mysql
>update user set password=password("new_pass") where user="root";
3、进入Mysql:另外打开一个命入令行窗口,在bin目录下执行mysql,此时无需输入
密码即可进入。
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
shell>mysqladmin -u root flush-privileges password "newpassword"
也可以直接编辑user.MYD,找个十六进制编辑器,UltraEdit就有这个功能。关闭MySQL,打开user.MYD。将用户名root后面的八个字符改为565491d704013245,新密码就是123456。或者将它们对应的十六进制数字,(左边那里,一个字符对应两个数字),改为 00 02 02 02 02 02 02 02,这就是空密码,在编辑器右边看到的都是星号*,看起来很象小数点。重开MySQL,输入root和你的新密码。
4.跳过权限检查启动MySQL,
c:\mysql\bin>mysqld-nt --skip-grant-tables
mysql忘记密码该怎么办?
MySQL数据库丢失root密码后该如何补救?本文标签:MySQL丢失root密码MySQL数据库丢失root密码后,我们应该采取如下的方法来解决:首先,我们需要结束掉mysql的服务进程。
然后在win dows下面。
一是可以通过任务管理器来结束掉,应该是mysql-nt.e xe。
二是,如果你的mysql注册为服务的话,可以到服务里面把他先停掉。
在li nux或者unix下面直接kill mysql的服务进程就可以。
然后,再用--skip-grant-tables 选项启动mysql服务。
在windows下面,到mysql安装目录的bin目录下面运行:mysql-nt --skip-grant-tables 就可以启动mysql服务,这样就可以在无密码的状态下进入mysql用mysql -uroot -p在linux下面一般mysql目录在:/usr/bin/safe_mysqld--skip-grant-tables,执行就可以启动了。
在Fre ebs d下面,在/usr/local/etc/rc.d/mysql-server --skip-grant-tables ,执行启动。
进入mysql以后,执行一下语句:1use mysql2up date user set passwordpassword=password("new_pass")3whereuser="root"4flush privileges;最后结我们来结束现在的mysql服务进程,重新启动你的mysql,就可以用你设置的密码登录了。
MySQL密码的恢复方法:方法一:如果忘记了MySQL的root密码,可以用以下方法重新设置:1. KILL掉系统里的MySQL进程:killall -TERM mysqld2. 用以下命令启动MySQL,以不检查权限的方式启动:safe_mysqld --skip-grant-tables &3. 然后用空密码方式使用root用户登录MySQL:mysql -u root4. 修改root用户的密码;5mysql> update er setpassword=P AS SWORD(新密码) whereUser=root;6mysql> flush privileges;7mysql> quit重新启动MySQL,就可以使用新密码登录了。
Mysql5.7忘记root密码及mysql5.7修改root密码的方法
Mysql5.7忘记root密码及mysql5.7修改root密码的⽅法关闭正在运⾏的 MySQL :[root@www.woai.it ~]# service mysql stop运⾏[root@www.woai.it ~]# mysqld_safe --skip-grant-tables &为了安全可以这样禁⽌远程连接:[root@www.woai.it ~]# mysqld_safe --skip-grant-tables --skip-networking &使⽤mysql连接server:[root@www.woai.it ~]# mysql -p更改密码:mysql> update er set authentication_string=password('123qwe') where user='root' and Host = 'localhost';*特别提醒注意的⼀点是,新版的mysql数据库下的user表中已经没有Password字段了⽽是将加密后的⽤户密码存储于authentication_string字段mysql> flush privileges;mysql> quit;修改完毕。
重启[root@localhost ~]# service mysql restart然后mysql就可以连接了但此时操作似乎功能不完全,还要alter user…mysql> alter user 'root'@'localhost' identified by '123';这样也可以:mysql> set password for 'root'@'localhost'=password('123');重点给⼤家介绍下mysql 5.7 root密码修改MySQL管理者密码设置或修改:依据官⽅说明5.6以后版本,第⼀次启动时会在root⽬录下⽣产⼀个随机密码,⽂件名.mysql_secret。
解决WIN10操作系统中忘记Mysql8.0root密码的最终解决方案
解决WIN10操作系统中忘记Mysql8.0root密码的最终解决⽅案
1.打开命令窗⼝cmd,输⼊命令:net stop mysql,停⽌MySQL服务,注意服务名称要正确!
2.开启跳过密码验证登录的MySQL服务
输⼊命令
mysqld --console --skip-grant-tables --shared-memory
该窗⼝不要关闭!
3.再打开⼀个新的cmd,⽆密码登录MySQL,输⼊登录命令:mysql -u root -p
4. 密码置为空,命令如下:
use mysql
update user set authentication_string='' where user='root';
5.退出mysql,执⾏命令:
quit
6. 关闭以-console --skip-grant-tables --shared-memory 启动的MySQL服务,
7. 打开命令框,输⼊:net start mysql 启动MySQL服务。
8.步骤4密码已经置空,所以⽆密码状态登录MySQL,输⼊登录命令:mysql -u root -p
9.利⽤上⼀篇博客中更改密码的命令,成功修改密码,如下图:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
10.先执⾏:
flush privileges;
再执⾏修改密码命令。
10.验证更改后密码正确登录
输⼊quit,退出当前登录,输⼊登录命令:mysql -u root -p 输⼊密码,成功登录,到此,重置密码结束。
MySQL用户和权限及破解root口令的方法示例
MySQL⽤户和权限及破解root⼝令的⽅法⽰例MySQL⽤户和权限在MySQL中有⼀个系统⾃⾝就带有的数据库叫MySQL,数据库装好以后系统⾃带了好⼏个数据库MySQL就是其中过⼀个,MySQL数据库有个⽤户账户权限相关的表叫user表,在其中就有创建的⽤户。
MySQL中完整的⽤户名是由⽤户+主机名形成,主机名决定了这个⽤户在哪个主机上能登陆。
⼀、⽤户的创建和密码修改1.⽤户的创建create user 'USERNAME'@'HOST' identified by 'PASSWORD';USERNAME:⽤户名HOST:主机地址PASSWORD:密码⽰例:MariaDB [(none)]> create user masuri@192.168.73.133 identified by 'centos';Query OK, 0 rows affected (0.01 sec)MariaDB [(none)]> select user,host,password from er;+--------+-----------------------+-------------------------------------------+| user | host | password |+--------+-----------------------+-------------------------------------------+| root | localhost | || root | localhost.localdomain | || root | 127.0.0.1 | || root | ::1 | || | localhost | || | localhost.localdomain | || masuri | 192.168.73.133 | *128977E278358FF80A246B5046F51043A2B1FCED |+--------+-----------------------+-------------------------------------------+7 rows in set (0.00 sec)MySQL中有匿名账户,可以通过跑安全加固脚本mysql_secure_installation来进⾏删除,也可以⼿动将其删除。
MySQL忘记密码恢复密码的实现方法
MySQL忘记密码恢复密码的实现⽅法⼀、服务器环境1、系统windows2003 中⽂企业版 sp22、mysql 5.1.553、php 5.2.174、IIS 6.0⼆、破解过程1、停⽌mysql服务(以管理员⾝份,在cmd命令⾏下运⾏)使⽤如下命令:net stop mysql2、.使⽤命令启动mysql数据库,命令如下mysqld --skip-grant-tables 或者 mysqld-nt --skip-grant-tables3.新开⼀个cmd窗⼝,进⾏如下命令操作1、mysql -uroot2、update er set password=password('root') where user='你的密码';如图:4、打开任务管理器,停⽌mysql,mysqld进程,使⽤net start mysql启动mysqld服务,就可以使⽤root⽤户 root密码进⼊数据库了(这步可以省略重启机器)到此结束。
1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的⽂件通常在MYSQL的数据库所在的⽬录中。
killall -TERM mysqld你必须是UNIX的root⽤户或者是你所运⾏的SERVER上的同等⽤户,才能执⾏这个操作。
2. 使⽤`--skip-grant-tables' 参数来启动 mysqld。
(LINUX下/usr/bin/safe_mysqld --skip-grant-tables , windows下c:\mysql\bin\mysqld --skip-grant-tables)3. 然后⽆密码登录到mysqld server ,>use mysql>update user set password=password("new_pass") where user="root";>flush privileges;。
一键清空本地MySQL8.0密码脚本,再也不用担心MySQL密码忘记了
一键清空本地MySQL8.0密码脚本,再也不用担心MySQL密码忘记了之前我开发了一个爆破MySQL简单密码的Python脚本,但是对于MySQL就安装在自己机器上这种情况根本没有必要,只要我们拥有关闭和启动MySQL服务进程的权限,我们就可以直接重设密码。
具体原理:1.结束MySQL服务进程2.以跳过权限表检查的方式启动MySQL服务进程3.修改存储用户密码的表,指定root本地用户的密码为空4.结束MySQL服务进程5.以正常方式启动MySQL服务进程注意:命令行方式操作服务进程需要管理员权限最终编写如下cmd脚本(保存文件名后缀为.cmd):TASKKILL /F /IM mysqld.exe /Tstart D:\software\mysql-8.0.25-winx64\bin\mysqld --console --skip-grant-tables --shared-memoryecho UPDATE er SET authentication_string='' WHERE user='root' and host='localhost';>t.sqlTIMEOUT /T 2D:\software\mysql-8.0.25-winx64\bin\mysql<t.sqlTASKKILL /F /IM mysqld.exe /Tnet start mysql8.0以管理员身份运行以上脚本,即可清空本地MySQL的密码:之所以写D:\software\mysql-8.0.25-winx64\bin\这种全路径形式是因为我没有将MySQL的bin目录加入path环境变量,若你的电脑已经将该目录加入环境则可以去掉,否则修改为你的MySQL安装位置的bin目录。
net start mysql8.0启动了名称为mysql8.0的服务。
这是我在前面安装MySQL8.0时这么命名服务名称的,详见:不卸载原有mysql 直接安装mysql8.0链接:https:///as604049322/article/details/113204880 需要更换为你的MySQL注册的服务名称。