三種方法為root賬戶指定密碼

前言:前段時間把mysql安裝後一直沒管它,當時就在奇怪為什麼mysql登陸不要密碼,原來一直用的超用戶賬戶登陸的(簡稱超級用戶)

 

其實隻怪自己太無知,之前一直用的phpbydamin進行的資料庫的可視化管理,哪裡知道這麼詳細呢?

 

本文原文來源mysql官方文檔5.1

 

正文:最開始可以使用SELECT User.Password FROM mysql.user查詢mysql資料庫root賬戶的密碼

 

你可以用幾種方法為root賬戶指定密碼。以下介紹瞭三種方法:

 

使用SET PASSWORD語句

 

使用mysqladmin命令行客戶端程式

 

使用UPDATE語句

 

要想使用SET PASSWORD指定密碼,用root連接伺服器並執行兩個SET PASSWORD語句。一定要使用PASSWORD()函數來加密密碼。

 

在Windows中的語句:

 

shell> mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR 'root'@'%' = PASSWORD('newpwd');

在Unix中的語句:

 

shell> mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');

 

用伺服器主機名替換第二個SET PASSWORD語句中的host_name。這是你指定匿名賬戶密碼的主機名。

 

要想使用mysqladmin為root賬戶指定密碼,執行下面的命令:

 

shell> mysqladmin -u root password "newpwd"

shell> mysqladmin -u root -h host_name password "newpwd"

 

上述命令適用於Windows和Unix。用伺服器主機名替換第二個命令中的host_name。不一定需要將密碼用雙引號引起來,但是你如果密碼中包含空格或專用於命令解釋的其它字符,則需要用雙引號引起來。

 

你還可以使用UPDATE直接修改user表。下面的UPDATE語句可以同時為兩個root賬戶指定密碼:

 

shell> mysql -u root

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')

    ->     WHERE User = 'root';

mysql> FLUSH PRIVILEGES;

UPDATE語句適用於Windows和Unix。

 

設置完密碼後,當你連接伺服器時你必須提供相應密碼。例如,如果你想要用mysqladmin 關閉伺服器,可以使用下面的命令:

 

shell> mysqladmin -u root -p shutdown

Enter password: (enter root password here)

You May Also Like