程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 使初始MySQL賬戶安全,為匿名賬戶指定密碼或刪掉匿名賬戶

使初始MySQL賬戶安全,為匿名賬戶指定密碼或刪掉匿名賬戶

編輯:MySQL綜合教程

使初始MySQL賬戶安全,為匿名賬戶指定密碼或刪掉匿名賬戶   要想為匿名賬戶指定密碼,可以使用 SET PASSWORD 或 UPDATE。 在兩種情況中,一定要使用 PASSWORD() 函數為密碼加密。   在 Windows 中使用 PASSWORD 的方法:

shell> mysql -u root
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'%' = PASSWORD('newpwd');

 

  在 Unix 中使用 PASSWORD 的方法:
shell> mysql -u root
mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'host_name' = PASSWORD('newpwd');

 

用服務器主機名替換第二個 SET PASSWORD 語句中的 host_name。 這是指定的 use r表中的 root non-localhost 記錄的 Host 列名。 如果你不知道是哪個主機名,在 SET PASSWORD 之前執行下面的語句:
mysql> SELECT Host, User FROM mysql.user;

 

查找在 User 列有 root 和在 Host 列沒有 localhost 的記錄。 然後在第二個 SET PASSWORD 語句中使用該 Host 值。   為匿名賬戶指定密碼的另一種方法是使用 UPDATE 直接修改用戶表。 用 root 連接服務器,運行 UPDATE 語句為相應 user 表記錄的 Password 列指定一個值。 在 Windows 和 Unix 中的過程是相同的。下面的 UPDATE 語句同時為兩個匿名賬戶指定密碼:
shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd') WHERE User = '';
mysql> FLUSH PRIVILEGES;

 

在 user 表中直接使用 UPDATE 更新密碼後,必須讓服務器用 FLUSH PRIVILEGES 重新讀授權表。 否則,重新啟動服務器前,不會使用更改。   如果你寧願刪除匿名賬戶,操作方法是:
shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;

 

可以在 Windows 和 Unix 中使用 DELETE 語句。 在 Windows 中,如果你只想刪掉具有與 root 相同權限的匿名賬戶,方法為:
shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';
mysql> FLUSH PRIVILEGES;

 

該賬戶允許匿名訪問,但是擁有全部的權限,因此刪掉它可以提高安全。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved