要修改MySQL的root密码,有两个先决条件:?
- 有修改MySQL配置文件的权限
- 有重启MySQL服务的权限
先修改配置文件:?
引用
# vim /etc/my.cnf?
[mysqld]?
datadir=/var/lib/mysql?
socket=/var/lib/mysql/mysql.sock?
user=mysql?
# Default to using old password format for compatibility with mysql 3.x?
# clients (those using the mysqlclient10 compatibility package).?
old_passwords=1?
# Disabling symbolic-links is recommended to prevent assorted security risks;?
# to do so, uncomment this line:?
# symbolic-links=0?
[mysqld_safe]?
log-error=/var/log/mysqld.log?
pid-file=/var/run/mysqld/mysqld.pid
在[mysqld]下增加skip-grant-tables,即跳过权限验证。?
然后登录MySQL,修改root密码:?
引用
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('<Your Password>') where user='root';?
Query OK, 3 rows affected (0.00 sec)?
Rows matched: 3? Changed: 3? Warnings: 0?
mysql> flush privileges ;?
Query OK, 0 rows affected (0.00 sec)?
mysql> quit?
Bye?
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('<Your Password>') where user='root';?
Query OK, 3 rows affected (0.00 sec)?
Rows matched: 3? Changed: 3? Warnings: 0?
mysql> flush privileges ;?
Query OK, 0 rows affected (0.00 sec)?
mysql> quit?
Bye?
然后把刚才修改的配置文件再改回来,最后重启服务:?
引用
# service mysqld restart?
停止 MySQL:?????????????????????????????????????????????? [确定]?
启动 MySQL:?????????????????????????????????????????????? [确定]?
呵呵,解决Mysql忘记密码就这么简单。
PS:更果断的办法:?
引用
关闭mysqld?
命令行执行 mysqld --skip-grant-tables & 无密码登陆!?
?