一台机器上的MYSQL服务器很久没用了,忘了root密码无法连接。一时情急,网上搜寻办法,解决,记录在此备用。
修改MySQL的登录设置: //不同的版本的Linux配置文件的位置也不一样,以Linux Mint 14为例
alpha@Acer /etc $sudo pluma /etc/mysql/my.cnf //pluma编辑器,相当于vi
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
保存并且退出。
3.重新启动mysqld
4.登录并修改MySQL的root密码
alpha@Acer /etc $ /usr/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 219
Server version: 5.5.34-0ubuntu0.12.10.1 (Ubuntu)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> USE mysql ;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges ;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
完成,用phpMyAdmin连接测试成功。