在新购的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用户了