linux 下忘记 mysql root 用户密码

    这种情况虽然很少发生。但如真的发生了此方法就很有用。
    对于粗心的人,也有可能要用到此方法。

    举个例子
    众所周知,mysql 数据库众的 user 表记录了数据的信息,包括用户名和密码等。其中的密码是使用 mysql 自带的 password()
函数加密的。
    若要修改 root 用户的密码,你可以
    mysql>   update user set password=password('密码') where user='root';
上面说了,粗心的话有可能写成这样
    mysql>   update user set password=('密码') where user='root';
这样导致什么后果?

    好,进入正题。
如果 MySQL 正在运行,首先杀之: killall mysqld
启动 MySQL :/usr/bin/safe_mysqld --skip-grant-tables
就可以不需要密码就进入 MySQL 了。

如果执行 /usr/bin/safe_mysqld --skip-grant-tables 时提示找不到这个命令
这个时候你必须找出它的正确路径:
find / noleaf -name mysqld-safe
进入路径,执行 --skip-grant-tables 即可

OK,看到
Starting mysqld deamon .... 界面了
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;


------------------------
搞掂。



导入 .sql 文件(超大的)
mysql -u root -p dbname < data.sql  (当前目录下)


posted on 2008-01-29 17:38  Prolove  阅读(348)  评论(0)    收藏  举报

导航