• 46阅读
  • 1回复

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

楼层直达
测试服务器密码知道的人太多了,mysql root账号密码竟然被修改.... I?#85l{>  
SMr13%KN/  
总结一下修改mysql数据库root密码的办法,呵呵大 ZFm`UXS  
iRo.RU8>  
分两种情况 E(pF:po  
一、拥有原来的myql的root的密码; 'wasZ b<^  
.R*!aK  
方法一: AFvgbn8Qh  
在mysql系统外,使用mysqladmin 6DTTV66  
# mysqladmin -u root -p password "test123" S{]7C?4`  
Enter password: 【输入原来的密码】 +yob)%  
^$>XW\yCs  
方法二: #t8{R~y"gv  
通过登录mysql系统, pL=d% m.W  
# mysql -uroot -p =WdaxjenZ/  
Enter password: 【输入原来的密码】 tY${M^^<J  
mysql>use mysql; b+-f.!j  
mysql> update user set password=passworD("test") where user='root'; u=F+(NE"  
mysql> flush privileges; []R? ViG  
mysql> exit; ,Y?sfp  
`i) 2nNJ"  
二、忘记原来的myql的root的密码; )0vU k  
ev0oO+u  
首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。 Sd/?&  
类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况: Md6]R-l@  
/etc/init.d/mysqld status 4h!f/aF'  
mysqld dead but subsys locked <e]Oa$  
这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。 u<q :$  
# mysqld_safe --skip-grant-tables & e~ aqaY~}  
&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。 CM)Q&:  
# mysql c^rOImZ  
mysql> use mysql; [%50/_h  
mysql> UPDATE user SET password=password("test123") WHERE user='root'; zf4Ec-)  
mysql> flush privileges; S-31-Zjw  
mysql> exit; ,uw132<b  
##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。 gj\)CBOv  
W3vi@kb]  
只看该作者 安逸沙发  发表于: 04-27
一、单纯忘掉了数据库某一用户的密码 wDZFOx0#8  
1.停止mysql服务 | pp  @  
>{4pEy  
service mysqld stop LZG^\c$  
1 ]T(O;y*m   
2.编写mysql配置文件,并启动mysql BQB O]<99  
\sC0om,  
vim /etc/my.cnf ooIMN =  
添加:skip-grant-tables (忽略mysql权限问题,直接登录) ;?2vW8{p<  
service mysqld start Oyq<y~}  
1 u?g!E."v  
2 @\!wW-:A  
3 <'~8mV1  
3.无密码进入mysql,执行对账号密码的修改 d!KX.K\NM,  
cJ8F#t  
mysql =b%J@}m`&  
use mysql;(使用mysql表操作) .3|9 ~]  
update user set password=password("新密码") where user="账户名"; {|xwvTl J  
flush privileges; (刷新权限)  A ]U]  
1 sD{b0mZT  
2 : 1fik  
3 {C]M]b*F6(  
4 I9F[b#'Pn  
4.停掉mysql服务,将配置文件中新添加的配置删除掉,再重启mysql服务登录 _;B!6cRLps  
5.辅助: 0!vC0T[  
(1)新添加用户直接使用insert into 账号密码 无作用,必须先添加用户账号,再使用update语句才行。密码会被加密。 ~#a1]w  
(2)如果上述第二步不管用,那么可以尝试: uaPBM<  
8nnkv,wa  
停掉mysql服务 K%=n \ Y  
执行指令以无权限验证与密码的登录方式: xD\Km>|i  
    mysqld_safe --skip-grant-tables & [V)sCAW  
    mysql -u root 4G>|It  
然后再更新密码 3K?0PRg  
1 [BQw$8 +n_  
2 Ox~'w0c,f  
3 _).'SU)>  
4 Q?a"uei[  
5 68HX,t  
二、一些解决问题的mysql操作 kuH;AMdv  
为指定用户赋予操作指定数据库的权限: /5x `TT  
huF L [  
(使用root用户为jeff用户赋予osdb数据库的所有权限) kQ#eWk J,  
grant all privileges on osdb.* to jeff@'%' identified by 'root'; @l(Y6m|v\  
1 _"sRL} -Z  
2 ^mum5j  
误删mysql的root用户 tl)}Be+Dt;  
免登陆状态下: ,#E5/'c`  
,oG"wgf  
insert into user set Host='localhost',User='root',Password=Password('111111'),select_priv='y', }=|ZEhtOp  
insert_priv='y',update_priv='y', N/%#GfXx  
Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Proce x>J3tp$2  
ss_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',sho 4jz]c"p-  
w_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_sl =N{eiJ.(p  
ave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',al s =5H.q%PV  
ter_routine_priv='y'; 5HbTgNI  
--------------------- <!N;(nZ9}O  
作者:Jeff丶Osmond cik@QN<[0  
来源:CSDN -$)Et|  
原文:https://blog.csdn.net/jesonjoke/article/details/79455623 }}1/Ede{5  
版权声明:本文为博主原创文章,转载请附上博文链接!
快速回复

限100 字节
安逸网提示:批量上传需要先选择文件,再选择上传
 
认证码:
上一个 下一个