MySQLユーザーに特権を付与するにはどうすればよいですか?
新しいユーザーには特権がないため、作成した新しいユーザーに特権を付与する必要があります。 GRANTステートメントを使用して、ユーザーアカウントに特権を付与できます。その構文は次のようになります-
GRANT privilege,[privilege],.. ON privilege_level TO user [IDENTIFIED BY password] [REQUIRE tsl_option] [WITH [GRANT_OPTION | resource_option]];
上記の構文の説明は次のとおりです-
まず、GRANTキーワードの後に1つ以上の特権を指定します。ユーザーに複数の特権を付与する場合、各特権はコンマで区切られます。
次に、特権が適用されるレベルを決定するprivilege_levelを指定します。 MySQLは、グローバル(*。*)、データベース(database。*)、テーブル(database.table)、および列レベルをサポートします。列特権レベルを使用する場合は、各特権の後に1つまたはコンマ区切りの列のリストを指定する必要があります。
次に、特権を付与するユーザーを配置します。ユーザーがすでに存在する場合、GRANTstatementはその特権を変更します。それ以外の場合、GRANTステートメントは新しいユーザーを作成します。オプションの句IDENTIFIEDBYを使用すると、ユーザーの新しいパスワードを設定できます。
その後、ユーザーがSSL、X059などの安全な接続を介してデータベースサーバーに接続する必要があるかどうかを指定します。
最後に、オプションのWITH GRANT OPTION句を使用すると、他のユーザーに付与したり、他のユーザーから自分が所有する特権を削除したりできます。さらに、WITH句を使用して、MySQLデータベースサーバーのリソースを割り当てることができます。たとえば、ユーザーが1時間に使用できる接続またはステートメントの数を設定できます。これは、MySQL共有ホスティングなどの共有環境で非常に役立ちます。
以下の例では、ユーザーを作成し、それに特権を付与しています-
mysql> use mysql Database changed mysql> create user abcd@localhost identified by 'password123'; Query OK, 0 rows affected (0.04 sec)
以下のクエリは、新しいユーザーアカウントabcd@localhostの権限を提供します。
mysql> SHOW GRANTS FOR abcd@localhost; +------------------------------------------+ | Grants for abcd@localhost | +------------------------------------------+ | GRANT USAGE ON *.* TO 'abcd'@'localhost' | +------------------------------------------+ 1 row in set (0.01 sec)
ここで、abcd @ localhostユーザーアカウントにすべての特権を付与するには、次のステートメントを使用できます-
mysql> GRANT ALL ON *.* TO 'abcd'@'localhost' WITH GRANT OPTION; Query OK, 0 rows affected (0.05 sec)
ここで、ON *。*句は、すべてのデータベースとデータベース内のすべてのオブジェクトを意味します。 WITH GRANT OPTIONを使用すると、abcd@localhostが他のユーザーに特権を付与できます。
ここで、SHOW GRANTSステートメントを再度使用すると、abcd@localhostの特権が更新されていることがわかります。
mysql> SHOW GRANTS FOR abcd@localhost; +---------------------------------------------------------------------+ | Grants for abcd@localhost | +---------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'abcd'@'localhost' WITH GRANT OPTION | +---------------------------------------------------------------------+ 1 row in set (0.00 sec)
-
MySQLに別のユーザーとしてログインする方法は?
MySQLに別のユーザーとしてログインする場合は、「mysql-u-pcommand」を使用する必要があります。別のユーザーとしてログインするための構文は次のとおりです。 >mysql -u yourUsername -p After pressing enter key Enter password − 上記の構文を理解するために、MySQLでユーザーを作成しましょう。構文は次のとおりです- CREATE USER 'yourUserName'@'localhost' IDENTIFIED BY 'yourPassword';
-
MySQLのすべてのストアドプロシージャにアクセスすることをユーザーに許可するにはどうすればよいですか?
まず、MySQL.user-テーブルのすべてのユーザーとホストを表示しましょう。 mysql> select user,host from Mysql.user; これにより、次の出力が生成されます- +------------------+-----------+ | user | host | +------------------+-----------+ | Bob &n