mysql没了root或者丢了密码怎么办
我使用的是ubuntu6.06的系统….运行的是lamp….php5 phpmyadmin也有的 我在配合泡面亚当民下删除了我的root..于是在大家的帮助下, 重新建立起了我的mysql以下是步骤….我重新安装过服务…..但是可能没有删干净我机器里驻留的mysql配置文件(尽管我在新立德软件管理器里是将能删的mysql都删了..而且是连同配置文件一起删除的, 但还是不奏效)
1.先停掉
Mysql server killall mysqld
2进入mysql的安全模式
mysqld_safe –skip-grant-tables &
3从别人的机器上拷贝mysql/data/mysql下的三个文件user.frm、user.MYD、 user.MYI, 保证用户名是root 密码你要知道. 然后用这三个文件覆盖本地的文件
4 然后关闭服务再启动服务service mysqld stop/service mysqld start(不知道为什么重启服务不行,一定要一步一步来)
5 然后开启一个新的终端, mysql -u root -p,回车后输入对方的root密码, 就进去了…….
6 在mysql下, mysql> use mysql;
update user set password=password("123456") where user="root"; 设定你的root密码为123456
flush privileges; 刷新权限
\q回车就退出了
然后不管你是在win下还是在linux下. 进入phpmyadmin里仔细修改你的用户…..应该你会发现原来用户的账号还在……
======参考的文章=======
1. 先停掉 Mysql server
killall mysqld
2. 執行下列指令,讓MySQL以安全模式執行:
mysqld_safe –skip-grant-tables &
3. mysql -u root -p
這樣子不需要密碼就可以進入MySQL。
4. 於提示字元下輸入:
use mysql
update user set password=password("new_pass") where user="root";
上列的new_pass就是新的密碼。
於提示字元下:flush privileges;
輸入quit,離開MySQL
5. 停掉安全模式下的MySQL
killall mysqld
6. 重新啟動MySQL
/usr/local/etc/rc.d/mysql-server.sh start
======================
前天钱包被偷,除了直接的经济损失以外,还有一点重要的是我刚配好的一台服务器的root密码跟mysql的root密码丢了。(之前为了安全着想。我自己写了个随机算法生成了一个超长口令。。结果。。可想而知了。。自己记不住。抄了张纸在钱包里。钱包偷了。。密码当然也不能幸免)
系统的root密码easy,e修改grub的kernel行到single模式下,或者用光盘启动到rescure模式下,passwd root,重置个就OK了。
但mysql的用户管理是独立的。。mysqladmin,mysql都没法用了,怎么办才好呢。。
经过不断试验。摸索。。发现在/usr/local/mysql/data/mysql下的三个文件user.frm、user.MYD、 user.MYI是症结所在,用别人的机器上tar下这三个文件,覆盖掉本地的!然后关闭服务再启动服务service mysqld stop/service mysqld start(不知道为什么重启服务不行,一定要一步一步来),OK!
mysql -u root -p对方的root密码
yahoo,进去了~~
所以说。。其实,linux下基本上没有什么办不到的事情,只有想不到的主意。有人说,这么简单就把密码给清了,linux不是没有一点安全性可言吗?非也非也!关键在于root,root的权力实在是太大了。觉得自己的系统不安全么?谁让你把root密码随便给人了。。一个普通用户,他能做到上面的事情吗?答案是不可能!!!嘿嘿。。系统安全,sa——你准备好了吗?
====================
MySQL遗忘密码
Wikipedia,自由的百科全书
MySQL密码忘记后该怎么办
首先杀掉原有的mysqld进程.再启动一个跳过grant的mysqld服务
/path/to/mysql/bin/mysqld_safe –skip-grant –user=mysql &
然后直接登陆
/path/to/mysql/bin/mysql -uroot
登陆以后就可以设置密码了: mysql> use mysql;
mysql> update user set password=password("new-password") where user="root";
mysql> flush privileges;
mysql> exit
这时候再正常启动mysql就可以使用新的密码了。
