您好,登錄后才能下訂單哦!
這篇文章主要介紹mysql root指的是什么意思,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
root指的是超級管理員;MySQL在安裝時,會默認創建一個名為root的用戶,該用戶擁有超級權限,可以控制整個MySQL服務器。root用戶擁有很高的權限,不僅可以修改自己的密碼,還可以修改其他用戶的密碼。
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
在mysql中,root指的是超級管理員,系統會默認一個超級管理員。
MySQL 在安裝時,會默認創建一個名為 root 的用戶,該用戶擁有超級權限,可以控制整個 MySQL 服務器。
在對 MySQL 的日常管理和操作中,為了避免有人惡意使用 root 用戶控制數據庫,我們通常創建一些具有適當權限的用戶,盡可能地不用或少用 root 用戶登錄系統,以此來確保數據的安全訪問。
一般root超級管理員的權限會比一般用戶的權限大很多,所以有些操作要root權限才能運行。
root 用戶擁有很高的權限,不僅可以修改自己的密碼,還可以修改其他用戶的密碼。
在 MySQL 中,root 用戶擁有很高的權限,因此必須保證 root 用戶密碼的安全。
修改MySQL數據庫的user表
因為所有賬戶信息都保存在 user 表中,因此可以直接通過修改 user 表來改變 root 用戶的密碼。
root 用戶登錄到 MySQL 服務器后,可以使用 UPDATE 語句修改 MySQL 數據庫的 user 表的 authentication_string 字段,從而修改用戶的密碼。
使用 UPDATA 語句修改 root 用戶密碼的語法格式如下:
UPDATE mysql.user set authentication_string = PASSWORD ("rootpwd) WHERE User = "root" and Host="localhost";
新密碼必須使用 PASSWORD() 函數來加密。執行UPDATE語句后,需要執行FLUSH PRIVILEGES語句重新加載用戶權限。
示例
下面使用 UPDATE 語句將 root用戶的密碼修改為“rootpwd2”。
使用 root 用戶登錄到 MySQL 服務器后,SQL 語句和運行結果如下所示:
mysql> UPDATE mysql.user set authentication_string = password ("rootpwd2") -> WHERE User = "root" and Host = "localhost"; Query OK, 1 row affected, 0 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings:0 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.06 sec)
結果顯示,密碼修改成功。而且使用了FLUSH PRIVILEGES;語句加載權限。退出后就必須使用新密碼來登錄了。
使用SET語句修改root用戶的密碼
SET PASSWORD 語句可以用來重新設置其他用戶的登錄密碼或者自己使用的賬戶的密碼。使用 SET 語句修改密碼的語法結構如下:
SET PASSWORD = PASSWORD ("rootpwd");
示例
下面使用 SET 語句將 root 用戶的密碼修改為“rootpwd3”。
使用 root 用戶登錄到 MySQL 服務器后,SQL 語句和運行結果如下所示:
MySQL> SET PASSWORD = password ("rootpwd3"); Query OK, 0 rows affected (0.00 sec)
結果顯示,SET 語句執行成功,root 用戶的密碼被成功設置為“rootpwd3”。
使用SET語句修改普通用戶的密碼
在 MySQL 中,只有 root 用戶可以通過更新 MySQL 數據庫來更改密碼。使用 root 用戶登錄到 MySQL 服務器后,可以使用 SET 語句來修改普通用戶密碼。語法格式如下:
SET PASSWORD FOR 'username'@'hostname' = PASSWORD ('newpwd');
其中,username 參數是普通用戶的用戶名,hostname 參數是普通用戶的主機名,newpwd 是要更改的新密碼。
注意:新密碼必須使用 PASSWORD() 函數來加密,如果不使用 PASSWORD() 加密,也會執行成功,但是用戶會無法登錄。
如果是普通用戶修改密碼,可省略 FOR 子句來更改自己的密碼。語法格式如下:
SET PASSWORD = PASSWORD('newpwd');
示例 1
首先創建一個沒有密碼的 testuser 用戶,SQL 語句和運行結果如下:
mysql> CREATE USER 'testuser'@'localhost'; Query OK, 0 rows affected (0.14 sec)
root 用戶登錄 MySQL 服務器后,再使用 SET 語句將 testuser 用戶的密碼修改為“newpwd”,SQL 語句和運行結果如下:
mysql> SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD("newpwd"); Query OK, 0 rows affected, 1 warning (0.01 sec)
由運行結果可以看出,SET 語句執行成功,testuser 用戶的密碼被成功設置為“newpwd”。
下面驗證 testuser 用戶密碼是否修改成功。退出 MySQL 服務器,使用 testuser 用戶登錄,輸入密碼“newpwd”,SQL 語句和運行結果如下:
C:\Users\leovo>mysql -utestuser -p Enter password: ****** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 15 Server version: 5.7.29-log MySQL Community Server (GPL) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
由運行結果可以看出,testuser 用戶登錄成功,修改密碼成功。
示例 2
使用 testuser 用戶登錄 MySQL 服務器,再使用 SET 語句將密碼更改為“newpwd1”,SQL 語句和運行結果如下所示:
mysql> SET PASSWORD = PASSWORD('newpwd1'); Query OK, 0 rows affected, 1 warning (0.00 sec)
由運行結果可以看出,修改密碼成功。
使用UPDATE語句修改普通用戶的密碼
使用 root 用戶登錄 MySQL 服務器后,可以使用 UPDATE 語句修改 MySQL 數據庫的 user 表的 authentication_string 字段,從而修改普通用戶的密碼。UPDATA 語句的語法如下:
UPDATE MySQL.user SET authentication_string = PASSWORD("newpwd") WHERE User = "username" AND Host = "hostname";
其中,username 參數是普通用戶的用戶名,hostname 參數是普通用戶的主機名,newpwd 是要更改的新密碼。
注意,執行 UPDATE 語句后,需要執行 FLUSH PRIVILEGES 語句重新加載用戶權限。
示例 3
使用 root 用戶登錄 MySQL 服務器,再使用 UPDATE 語句將 testuser 用戶的密碼修改為“newpwd2”的 SQL 語句和運行結果如下:
mysql> UPDATE MySQL.user SET authentication_string = PASSWORD ("newpwd2") -> WHERE User = "testuser" AND Host = "localhost"; Query OK, 1 row affected, 1 warning (0.07 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.03 sec)
由運行結果可以看出,密碼修改成功。testuser 的密碼被修改成了 newpwd2。使用 FLUSH PRIVILEGES 重新加載權限后,就可以使用新的密碼登錄 testuser 用戶了。
使用 GRANT 語句修改普通用戶密碼
除了前面介紹的方法,還可以在全局級別使用 GRANT USAGE 語句指定某個賬戶的密碼而不影響賬戶當前的權限。需要注意的是,使用 GRANT 語句修改密碼,必須擁有 GRANT 權限。一般情況下最好使用該方法來指定或修改密碼。語法格式如下:
GRANT USAGE ON *.* TO 'user'@’hostname’ IDENTIFIED BY 'newpwd';
其中,username 參數是普通用戶的用戶名,hostname 參數是普通用戶的主機名,newpwd 是要更改的新密碼。
示例 4
使用 root 用戶登錄 MySQL 服務器,再使用 GRANT 語句將 testuser 用戶的密碼修改為“newpwd3”,SQL 語句和運行結果如下:
mysql> GRANT USAGE ON *.* TO 'testuser'@'localhost' IDENTIFIED BY 'newpwd3'; Query OK, 0 rows affected, 1 warning (0.05 sec)
由運行結果可以看出,密碼修改成功。
以上是“mysql root指的是什么意思”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。