1. 程式人生 > >Centos6.5重置mysql密碼並設定允許遠端連線

Centos6.5重置mysql密碼並設定允許遠端連線

root密碼忘記,重置mysql的root密碼:

一、修改mysql的配置檔案my.cnf

1.在[mysqld]的段中加上一句:skip-grant-tables

[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-name-resolve 
skip-grant-tables 
儲存並且退出vi。

(或執行 mysqld_safe --skip-grant-tables &)

2.重新啟動mysqld 
# /etc/init.d/mysqld restart 
Stopping MySQL: [ OK ] 
Starting MySQL: [ OK ]


3.登入並修改MySQL的root密碼 
# /usr/bin/mysql 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 3 to server version: 3.23.56 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

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 
4.將MySQL的登入設定修改回來 
# vi /etc/my.cnf 
將剛才在[mysqld]的段中加上的skip-grant-tables刪除 
儲存並且退出vi。

5.重新啟動mysqld 
# /etc/init.d/mysqld restart 
Stopping MySQL: [ OK ] 
Starting MySQL: [ OK ]


二、

停止mysql服務

/etc/init.d/mysqld stop

sudo mysqld_safe --skip-grant-table&

mysql

use mysql;

update user set password = password('yourpasswd') where user = 'root';

flush privileges;

重啟下mysql服務即可重新用新密碼登入

/etc/init.d/mysqld restart