• 865阅读
  • 1回复

如何修改Linux服务器的MySQL数据库root密码

楼层直达
测试服务器密码知道的人太多了,mysql root账号密码竟然被修改.... X}$uvB}+>  
{qHf%y&[  
总结一下修改mysql数据库root密码的办法,呵呵大 Jr4^@]78o<  
sOBy)vq?\  
分两种情况 3G7Qo  
一、拥有原来的myql的root的密码; JtrLTo  
T>ds<MaLP  
方法一: <e 'S'  
在mysql系统外,使用mysqladmin ?=;dNS@i@  
# mysqladmin -u root -p password "test123" ^Fr82rJs  
Enter password: 【输入原来的密码】 x\m !3  
QDg\GA8|  
方法二: PZQ n]lbak  
通过登录mysql系统, jc|"wN]  
# mysql -uroot -p ?>V4pgGCE  
Enter password: 【输入原来的密码】 mV0.9pxS  
mysql>use mysql; 4{d!}R  
mysql> update user set password=passworD("test") where user='root'; P7;=rSW  
mysql> flush privileges; AK/_^?zAs  
mysql> exit; ~7tG%{t%  
> !thxG/_  
二、忘记原来的myql的root的密码; 6^pddGIG  
gQJy"f  
首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。 ^h z4IZ^  
类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:  opK=Z  
/etc/init.d/mysqld status T.vkGB=QZ%  
mysqld dead but subsys locked GVT+c@Gx  
这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。 URbu=U  
# mysqld_safe --skip-grant-tables & Hf ]aA_:   
&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。 @<5?q: 9.8  
# mysql >z*2Og#1  
mysql> use mysql; }VlX!/42  
mysql> UPDATE user SET password=password("test123") WHERE user='root'; `Z*k M VN  
mysql> flush privileges; -MrEJ  
mysql> exit; **L. !/  
##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。 *xxG@h|5n  
Z }(,OZh  
只看该作者 安逸沙发  发表于: 2019-04-27
一、单纯忘掉了数据库某一用户的密码 AON |b\?  
1.停止mysql服务 xI<l1@  
Apu- 9|oP  
service mysqld stop  C6gSj1  
1 <~|n}&  
2.编写mysql配置文件,并启动mysql )nHMXZ>Td  
0-p^o A  
vim /etc/my.cnf }<G a e5  
添加:skip-grant-tables (忽略mysql权限问题,直接登录) nWelM2  
service mysqld start 7UBW3{d/u5  
1 A]"6/Lr9P  
2 _U*R_2aV  
3 G$ zY&  
3.无密码进入mysql,执行对账号密码的修改 23LG)or.JC  
@{V`g8P>  
mysql |%4nU#GoB  
use mysql;(使用mysql表操作) n}NUe`E_h  
update user set password=password("新密码") where user="账户名"; !o'a]8  
flush privileges; (刷新权限) v*excl~  
1 mmFcch$Jv  
2 ;Qd'G7+  
3 b0f6?s  
4 "7 alpjwb  
4.停掉mysql服务,将配置文件中新添加的配置删除掉,再重启mysql服务登录 (N}\Wft%  
5.辅助: +L?;g pVE&  
(1)新添加用户直接使用insert into 账号密码 无作用,必须先添加用户账号,再使用update语句才行。密码会被加密。 6mZpyt  
(2)如果上述第二步不管用,那么可以尝试: 1b=\l/2  
YbVZK4  
停掉mysql服务 Rv*x'w ==  
执行指令以无权限验证与密码的登录方式: sN[q. M?  
    mysqld_safe --skip-grant-tables & ku v<  
    mysql -u root ,J*#Ixe}  
然后再更新密码 bxz6 >>  
1 hEFn>  
2 q[Y* .%~  
3 b#e|#!Je  
4 QZ-6aq\sgp  
5 =WOYZ7  
二、一些解决问题的mysql操作 !ImtnU}  
为指定用户赋予操作指定数据库的权限: 5#? HL  
1K$8F ~%Z  
(使用root用户为jeff用户赋予osdb数据库的所有权限) ! F&{I  
grant all privileges on osdb.* to jeff@'%' identified by 'root'; o2(*5*b!@e  
1 !Ys.KDL  
2 DCtrTX  
误删mysql的root用户 /?8rj3  
免登陆状态下: Yg7C"3;Vt  
zTt6L6:u  
insert into user set Host='localhost',User='root',Password=Password('111111'),select_priv='y', $5l=&  
insert_priv='y',update_priv='y', [^-DFq5@  
Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Proce :-.bXOB(  
ss_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',sho X6@G)68  
w_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_sl ugt|'i  
ave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',al P\H$*6v(  
ter_routine_priv='y'; d1>Nn!m  
--------------------- {^ ^)bf|1'  
作者:Jeff丶Osmond S2fBZ=V8  
来源:CSDN F&lvofy23  
原文:https://blog.csdn.net/jesonjoke/article/details/79455623 =sW(2Im  
版权声明:本文为博主原创文章,转载请附上博文链接!
快速回复

限100 字节
安逸网提示:如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
认证码:
上一个 下一个