无密码情况下破除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,就可以使用新密码登录了。
