北漂IT民工 的博客

Debian/Ubuntu下Mysql数据库root账号不存在的解决办法

在新购的VPS上安装Debian后,发现mysql root无法登陆,

通过

cat /etc/mysql/debian.cnf

查看默认的debian-sys-maint账号.

发现账号不存在。

然后用google狂搜,并结合自己的实际得到了下面的解决办法:

1. /etc/init.d/mysql stop #关掉mysql

2. /usr/bin/mysqld_safe –skip-grant-tables & #安全模式启动

3. mysql

4. 在mysql下顺序执行下面的命令,并将3gcnbeta换成你自己的密码。

第一次grant时会报错,但是第二次就好了,估计flush时会重建数据表.

mysql> use mysql

mysql> grant all privileges on . to root@localhost identified by ‘3gcnbeta’ with GRANT OPTION;

mysql> update user set password=password(‘3gcnbeta’) where user=’root’;

mysql> flush privileges; //注意先刷新下表

mysql> grant all privileges on . to root@localhost identified by ‘3gcnbeta’ with GRANT OPTION;

mysql> flush privileges;

5.这时修复就已经完成了,然后再通过

mysql> select * from user where user=’root’;

就可以看到root账号已经创建。

6.再执行

/etc/init.d/mysql restart

就可以登陆 root用户了