テーブルを検索しましたが、名前mysql.user
のユーザーを見つけられませんでしたmysql
。root
デフォルトのユーザー名です。
mysql
ユーザーが存在するかどうか疑問に思います。では、このユーザーの目的は何ですか?- データベースレベルではなくオペレーティングシステムレベルに存在しますか?
答え1
通常、オペレーティングシステムのユーザーアカウントはインストールmysql
中に作成されます。これは mysql-daemon を実行しているユーザーです。
デーモンを含むほとんどのパッケージは、異なるパッケージ間の干渉やセキュリティの問題を防ぐために独自のユーザーアカウントを作成します。
呼び出されたユーザーはmysql
データベースに自動的に作成されません。
答え2
これユーザーMySQLテーブルuser
にリストされているアカウントは、オペレーティングシステム(ログイン)アカウントとは異なりますが、同じです。名前使用されている可能性があります。
たとえば、一般的なMySQLデータベースではroot
ユーザーは管理者です。ただし、パスワードはMySQLデータベースに保存され、オペレーティングシステムはパスワードをMySQLデータベースに保存します/etc/shadow
(または/etc/passwd
現在はほとんど保存していません)。
MySQLユーザーは、rootユーザーが所有する権限のサブセットなどの権限を付与できます。これらの権限はデータベース自体に属し、オペレーティングシステムのファイル権限とは何の関係もありません。
これ名前MySQLデータベースに使用されるユーザーは関係を必要としません。テーブルデータベースの名前です。これはOracle Databaseとは異なります。テーブル以内に概要に該当ユーザー。 Oracleユーザーもパスワードを持ち(MySQLと同様)、権限を付与できます。 Oracleと同様に、MySQLのユーザー権限はテーブルに制限できます。
追加資料:
- MySQLユーザーアカウントの管理 MySQL 5.7リファレンスマニュアル
- MySQLアクセス権限システム MySQL 5.7リファレンスマニュアル
- 異なるデータベースを使用するデータベースとスキーマの違いは何ですか?
- Oracleのユーザーとスキーマの違いは何ですか?
- アーキテクチャとユーザー トムに聞いてください