在linux下安装apache2, mysql-server, mysql-client, php和phpmyadmin后,原先设置的mysql root密码忘记了,在登录phpmyadmin时,使用root用户,但密码为空,登录提示1045:cannot log in mysql server。
首先关闭mysql服务,
$ /etc/init.d/mysql stop
查看进程,有关mysql的进程都关掉。
$ ps -ef | grep mysql
$ kill -9 mysqlpid
进入mysql safe模式,
$ mysqld_safe –skip-grant-tables &(有可能需要root权限)
此时,有可能会报错,类似remove等等,需要把/etc/mysql/my.cnf中的log_error = /var/log/mysql/error.log 这一行注释掉,然后再运行mysqld_safe –skip-grant-tables &
开启mysql服务,
$ /etc/init.d/mysql start
再次登录mysql,
$ mysql
$ use mysql;
$ UPDATE user SET password=password(“newpassword(新的密码)“) WHERE user=’root’;
$ mysql> flush privileges;
$ quit
这是就可以用刚刚设置的root密码进行登录了
$ mysql -u root -p
Enter password: root password