標籤:
前言:前段時間把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)
[mysql]三種方法為root賬戶指定密碼