ホームページ  >  記事  >  データベース  >  mysqlルートとは何ですか

mysqlルートとは何ですか

青灯夜游
青灯夜游オリジナル
2021-12-27 18:13:107746ブラウズ

Root はスーパー管理者を指します。MySQL がインストールされると、デフォルトで root という名前のユーザーが作成されます。このユーザーはスーパー権限を持ち、MySQL サーバー全体を制御できます。 root ユーザーは非常に高い権限を持っており、自分のパスワードを変更できるだけでなく、他のユーザーのパスワードも変更できます。

mysqlルートとは何ですか

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

mysql では、root はスーパー管理者を指し、システムはデフォルトでスーパー管理者になります。

MySQL がインストールされると、root という名前のユーザーがデフォルトで作成されます。このユーザーはスーパー権限を持ち、MySQL サーバー全体を制御できます。

MySQL の日常的な管理と運用では、誰かがデータベースを制御するために root ユーザーを悪意を持って使用することを防ぐために、通常、適切な権限を持つユーザーを作成し、root ユーザーの使用を最小限または最小限に抑えます。データへの安全なアクセスを確保するために、システムにログインすることが可能です。

一般に、root スーパー管理者は通常のユーザーよりもはるかに大きな権限を持っているため、一部の操作の実行には root 権限が必要です。

root ユーザーは非常に高い権限を持っており、自分のパスワードを変更できるだけでなく、他のユーザーのパスワードも変更できます。

MySQL による root パスワードの変更

MySQL では、root ユーザーは非常に高い権限を持っているため、root ユーザーのパスワードのセキュリティを確保する必要があります。

MySQL データベースのユーザー テーブルを変更する

すべてのアカウント情報はユーザー テーブルに保存されるため、ユーザー テーブルを変更することで root ユーザーのパスワードを直接変更できます。 。

root ユーザーが MySQL サーバーにログインした後、UPDATE ステートメントを使用して MySQL データベースのユーザー テーブルの 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");

Example

以下では、SET ステートメントを使用して、root ユーザーのパスワードを「rootpwd3」に変更します。

root ユーザーとして MySQL サーバーにログインした後の SQL ステートメントと実行結果は次のとおりです:

MySQL> SET PASSWORD = password ("rootpwd3");
Query OK, 0 rows affected (0.00 sec)

結果には、SET ステートメントが正常に実行されたことと、root ユーザーのパスワードが表示されます。正常に「rootpwd3」に設定されました。

MySQL root は一般ユーザーのパスワードを変更します

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 ステートメントと実行結果は次のとおりです。 root ユーザーが MySQL サーバーにログインし、SET ステートメントを使用して testuser ユーザーのパスワードを「newpwd」に変更します。SQL ステートメントと実行結果は次のとおりです。実行の結果、SET ステートメントが正常に実行され、testuser ユーザーのパスワードが "newpwd" " に正常に設定されました。

次の例では、testuser ユーザーのパスワードが正常に変更されたかどうかを確認します。 MySQL サーバーを終了し、testuser ユーザーとしてログインし、パスワード「newpwd」を入力します。SQL ステートメントと実行結果は次のとおりです:

mysql> CREATE USER 'testuser'@'localhost';
Query OK, 0 rows affected (0.14 sec)

実行結果から、testuser ユーザーがログに記録したことがわかります。正常に入力され、パスワードが正常に変更されました。

例 2

testuser ユーザーを使用して MySQL サーバーにログインし、SET ステートメントを使用してパスワードを「newpwd1」に変更します。SQL ステートメントと実行結果は次のとおりです。 :

mysql> SET PASSWORD FOR 'testuser'@'localhost' = PASSWORD("newpwd");
Query OK, 0 rows affected, 1 warning (0.01 sec)

By 実行結果を見ると、パスワードが正常に変更されたことがわかります。

UPDATE ステートメントを使用して一般ユーザーのパスワードを変更する

MySQL サーバーに root ユーザーとしてログインした後、UPDATE ステートメントを使用して変更できます。 MySQLデータベースのuserテーブルのauthentication_stringフィールドを変更して、通常のユーザーのパスワードを変更します。 UPDATA ステートメントの構文は次のとおりです。

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.
このうち、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视频教程

以上がmysqlルートとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。