• 184阅读
  • 1回复

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

楼层直达
测试服务器密码知道的人太多了,mysql root账号密码竟然被修改.... crG+BFi  
2Ck'A0d  
总结一下修改mysql数据库root密码的办法,呵呵大 gmd-$%"  
80DcM9^t8  
分两种情况 z]:{ruvH  
一、拥有原来的myql的root的密码; /i.3v45t"  
jzt$  
方法一: Gpv9~&  
在mysql系统外,使用mysqladmin kB:6e7D|[  
# mysqladmin -u root -p password "test123" yCC.j%@  
Enter password: 【输入原来的密码】 &"G4yM  
eksYIQZ]  
方法二: +T\c<lJ9  
通过登录mysql系统, YS7R8|  
# mysql -uroot -p +aa( YGL  
Enter password: 【输入原来的密码】 <X5'uve  
mysql>use mysql; N9lCbtn(0x  
mysql> update user set password=passworD("test") where user='root'; 86.LkwlqoH  
mysql> flush privileges; H[K(Tt4<&  
mysql> exit; 1Tn0$+$.4  
W6kDQ& q  
二、忘记原来的myql的root的密码; o_!=-AWV  
2!6+>nvO  
首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。 }Pu|%\  
类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况: >g):xi3qK  
/etc/init.d/mysqld status R"j6 w[tn  
mysqld dead but subsys locked {l/]+8G^  
这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。 3f 1@<7*  
# mysqld_safe --skip-grant-tables & ZBDEE+8e  
&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。 fz)i9D@  
# mysql MX3ss,F  
mysql> use mysql; 8vN}v3HV&  
mysql> UPDATE user SET password=password("test123") WHERE user='root'; 5kwDmJy  
mysql> flush privileges; Y,v8eOo45S  
mysql> exit; @ 2mJh^cj  
##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。 >R5qhVYFb  
mp_(ke  
 
只看该作者 安逸沙发  发表于: 2019-04-27
一、单纯忘掉了数据库某一用户的密码 282 m^ 2  
1.停止mysql服务 /d%&s^M:  
sEt5!&  
service mysqld stop sI, T"D?  
1 -\b~R7VQ  
2.编写mysql配置文件,并启动mysql "G)-:!H  
CN#`m]l.  
vim /etc/my.cnf /0s1q  
添加:skip-grant-tables (忽略mysql权限问题,直接登录)  :J`:Q3@  
service mysqld start S) Sv4Qm  
1 %a&Yt  
2 s 4Lqam!  
3 @QV|<NeH  
3.无密码进入mysql,执行对账号密码的修改 SSY E&  
'*MNRduE6  
mysql -^=gQ7f9  
use mysql;(使用mysql表操作) dy-m9fc6%  
update user set password=password("新密码") where user="账户名"; w(U-6uA  
flush privileges; (刷新权限) !e*Q2H+  
1 H{ p   
2 {"S"V  
3 r&@#,g  
4 7pH(_-TF  
4.停掉mysql服务,将配置文件中新添加的配置删除掉,再重启mysql服务登录 'e^,#L_!o  
5.辅助: }26?bd@e`  
(1)新添加用户直接使用insert into 账号密码 无作用,必须先添加用户账号,再使用update语句才行。密码会被加密。 ~McmlJzJG  
(2)如果上述第二步不管用,那么可以尝试: #56}RV1  
D+lzISp~e  
停掉mysql服务 h}k&#X)7  
执行指令以无权限验证与密码的登录方式: |b7 v(Hx  
    mysqld_safe --skip-grant-tables & 28 [hp[<  
    mysql -u root @]P#]%^D2  
然后再更新密码 &b8Dy=#  
1 {G&*\5W  
2 fgIzT!fyz  
3 9g3e( z@  
4 M }=X/*T  
5 Kq#\P  
二、一些解决问题的mysql操作 by!1L1[JTt  
为指定用户赋予操作指定数据库的权限: I4 {uw ge  
9Jd{HI=  
(使用root用户为jeff用户赋予osdb数据库的所有权限) 1Z%^U ?  
grant all privileges on osdb.* to jeff@'%' identified by 'root'; hEla8L4Y  
1 @yiAi:v@  
2 1><@$kVMm~  
误删mysql的root用户 Z-X(. Q  
免登陆状态下: K"4m)B~@Y  
JL gk?  
insert into user set Host='localhost',User='root',Password=Password('111111'),select_priv='y', qQK0s*^W  
insert_priv='y',update_priv='y', Wm ri%  
Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Proce jZwv !-:  
ss_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',sho d&[Ct0!++u  
w_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_sl t8SvU  
ave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',al {l/j?1Dxq  
ter_routine_priv='y'; ueI1O/Mi  
--------------------- X*ZTn 7<  
作者:Jeff丶Osmond V9aGo#  
来源:CSDN w7Fz(`\  
原文:https://blog.csdn.net/jesonjoke/article/details/79455623 2 I:x)  
版权声明:本文为博主原创文章,转载请附上博文链接!
快速回复

限100 字节
安逸网提示:如果您在写长篇帖子又不马上发表,建议存为草稿
 
认证码:
上一个 下一个