MySQL ユーザーと権限 MySQL には、MySQL と呼ばれるシステムに付属するデータベースがあります。データベースをインストールすると、システムにはいくつかのデータベースが付属しますが、MySQL はその 1 つです。MySQL データベースには、ユーザー テーブルと呼ばれるユーザー アカウント権限に関連するテーブルがあり、作成されたユーザーが含まれています。 MySQL の完全なユーザー名は、ユーザー + ホスト名で構成されます。ホスト名によって、ユーザーがログインできるホストが決まります。 1. ユーザーの作成とパスワードの変更 1. ユーザーの作成 'PASSWORD' で識別されるユーザー 'USERNAME'@'HOST' を作成します。 ユーザー名: ユーザー名 例: MariaDB [(なし)]> 'centos' で識別されるユーザー [email protected] を作成します。 クエリは正常、影響を受けた行は 0 行 (0.01 秒) MariaDB [(なし)]> mysql.user からユーザー、ホスト、パスワードを選択します。 +--------+-----------------------+--------------------------------------------------------+ | ユーザー | ホスト | パスワード | +--------+-----------------------+--------------------------------------------------------+ | ルート | ローカルホスト | | | ルート | localhost.localdomain | | | ルート | 127.0.0.1 | | | ルート | ::1 | | | | ローカルホスト | | | | ローカルホスト.ローカルドメイン | | | マスリ | 192.168.73.133 | *128977E278358FF80A246B5046F51043A2B1FCED | +--------+-----------------------+--------------------------------------------------------+ セット内の行数は 7 です (0.00 秒) MySQL には匿名アカウントがあり、セキュリティ強化スクリプト mysql_secure_installation を実行して削除することも、手動で削除することもできます。 ユーザーを削除するには: ユーザー 'ユーザー名'@'ホスト' を削除します。 例: MariaDB [(なし)]> mysql.user からユーザー、ホスト、パスワードを選択します。 +--------+-----------------------+--------------------------------------------------------+ | ユーザー | ホスト | パスワード | +--------+-----------------------+--------------------------------------------------------+ | ルート | ローカルホスト | | | ルート | localhost.localdomain | | | ルート | 127.0.0.1 | | | ルート | ::1 | | | | ローカルホスト | | | | ローカルホスト.ローカルドメイン | | | マスリ | 192.168.73.133 | *128977E278358FF80A246B5046F51043A2B1FCED | +--------+-----------------------+--------------------------------------------------------+ セット内の行数は 7 です (0.00 秒) MariaDB [(なし)]> DROP USER ''@'localhost'; クエリは正常、影響を受けた行は 0 行 (0.00 秒) MariaDB [(なし)]> DROP USER ''@'localhost.localdomain'; クエリは正常、影響を受けた行は 0 行 (0.00 秒) MariaDB [(なし)]> mysql.user からユーザー、ホスト、パスワードを選択します。 +--------+-----------------------+--------------------------------------------------------+ | ユーザー | ホスト | パスワード | +--------+-----------------------+--------------------------------------------------------+ | ルート | ローカルホスト | | | ルート | localhost.localdomain | | | ルート | 127.0.0.1 | | | ルート | ::1 | | | マスリ | 192.168.73.133 | *128977E278358FF80A246B5046F51043A2B1FCED | +--------+-----------------------+--------------------------------------------------------+ セット内の行数は 5 です (0.00 秒) 2. パスワードの変更 MySQLのパスワードを変更する ユーザーのパスワードを設定する = PASSWORD('クリアテキストパスワード') UPDATE テーブル SET パスワード = password('クリアテキスト パスワード') 例: masuriユーザーのパスワードを変更する MariaDB [(なし)]> [email protected] のパスワードを設定する = PASSWORD ('magedu'); クエリは正常、影響を受けた行は 0 行 (0.00 秒) MariaDB [(なし)]> mysql.user からユーザー、ホスト、パスワードを選択します。 +--------+-----------------------+--------------------------------------------------------+ | ユーザー | ホスト | パスワード | +--------+-----------------------+--------------------------------------------------------+ | ルート | ローカルホスト | | | ルート | localhost.localdomain | | | ルート | 127.0.0.1 | | | ルート | ::1 | | | マスリ | 192.168.73.133 | *6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 | +--------+-----------------------+--------------------------------------------------------+ #パスワードは現在変更されています ルートアカウントのパスワードが空です。ルートパスワードを設定します。いちいち設定するのは面倒なので、テーブル変更操作を使ってパスワードを変更することもできます。 MariaDB [(なし)]> mysql.user を更新し、password=password('centos') を設定し、user='root' とします。 クエリは正常、4 行が影響を受けました (0.01 秒) 一致した行: 4 変更された行: 4 警告: 0 MariaDB [(なし)]> mysql.user からユーザー、ホスト、パスワードを選択します。 +--------+-----------------------+--------------------------------------------------------+ | ユーザー | ホスト | パスワード | +--------+-----------------------+--------------------------------------------------------+ | ルート | ローカルホスト | *128977E278358FF80A246B5046F51043A2B1FCED | | ルート | localhost.localdomain | *128977E278358FF80A246B5046F51043A2B1FCED | | ルート | 127.0.0.1 | *128977E278358FF80A246B5046F51043A2B1FCED | | ルート | ::1 | *128977E278358FF80A246B5046F51043A2B1FCED | | マスリ | 192.168.73.133 | *6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 | +--------+-----------------------+--------------------------------------------------------+ セット内の行数は 5 です (0.00 秒) 現時点では、パスワードは変更されていますが、まだログインできません。権限を更新する必要があります。 MariaDB [(なし)]> FLUSH PRIVILEGES; クエリは正常、影響を受けた行は 0 行 (0.00 秒) 2. MySQL 権限管理 権限管理には、管理、プログラム、データベース レベル、テーブル レベル、フィールド レベルなど、複数のカテゴリの権限が含まれます。 管理: ユーザーを作成できるかどうか、データベース リストを表示できるかどうか、構成ファイルを再ロードできるかどうか、データベースを閉じることができるかどうか、レプリケーションに関連する機能を実行できるかどうか、プロセスを管理できるかどうか、一時テーブルを作成できるかどうか、データベース内のファイルを作成できるかどうか。 プログラムには、主に関数、ストアド プロシージャ、トリガーの 3 種類のプログラムが含まれます。たとえば、これらのプログラムを作成、変更、削除、実行できます。また、ライブラリ、テーブル、フィールド レベルで権限を使用することもできます。たとえば、ライブラリ、テーブル、フィールドで操作を追加、削除、クエリ、変更することができます。 1. 認可 GRANT ユーザーを認証する際に、ユーザーが存在しない場合は作成することができます。認証する前に、認証権限を持つ管理者であることを確認する必要があります。 付与 priv_type [(列リスト)] [, priv_type [(列リスト)]] ... ON [オブジェクトタイプ] 特権レベル TO user_specification [, user_specification] ... [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}] [with_option と共に...] 例: WordPress ユーザーを作成し、承認します。 MariaDB [(なし)]> CREATE DATABASE wordpress; クエリは正常、1 行が影響を受けました (0.02 秒) MariaDB [(なし)]> 'mylinuxops' によって識別される wpuser@'192.168.73.%' に wordpress.* のすべての権限を付与します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) 2. ユーザーの権限を確認する MariaDB [(なし)]> wpuser@'192.168.73.%' の権限を表示します。 +--------------------------------------------------------------------------------------------------------------------------------------------------+ | [email protected].% への許可 | +--------------------------------------------------------------------------------------------------------------------------------------------------+ | パスワード '*EC0DBFB480593BB6ED2EC028A4231A72D8137406' で識別される 'wpuser'@'192.168.73.%' に *.* の使用を許可 | | `wordpress`.* のすべての権限を 'wpuser'@'192.168.73.%' に付与します | +--------------------------------------------------------------------------------------------------------------------------------------------------+ セット内の 2 行 (0.00 秒) 3. 認可のためのその他のオプション MAX_QUESRIES_PER_HOUR count #1 時間あたりのクエリの最大数 MAX_UPDATES_PER_HOUR count #1 時間あたりの変更の最大数 MAX_CONNECTIONS_PER_HOUR count #1 時間あたりの接続の最大数 MAX_USER_CONNECTIONS count #ユーザー接続の最大数 権限を取り消す 取り消す priv_type [(列リスト)] [, priv_type [(列リスト)]] ... ON [オブジェクトタイプ] 特権レベル ユーザー[、ユーザー]から... 例: MariaDB [(なし)]> wordpress.* の wpuser@'192.168.73.%' からの削除を取り消します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) MariaDB [(なし)]> wpuser@'192.168.73.%' の権限を表示します。 +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | [email protected].% への許可 | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | パスワード '*EC0DBFB480593BB6ED2EC028A4231A72D8137406' で識別される 'wpuser'@'192.168.73.%' に *.* の使用を許可 | | 'wpuser'@'192.168.73.%' に対して、`wordpress`.* に対して SELECT、INSERT、UPDATE、CREATE、DROP、REFERENCES、INDEX、ALTER、CREATE TEMPORARY TABLES、LOCK TABLES、EXECUTE、CREATE VIEW、SHOW VIEW、CREATE ROUTINE、ALTER ROUTINE、EVENT、TRIGGER の権限を付与します | +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ セット内の 2 行 (0.00 秒) # この時点で、wpuser@'192.168.73.%' には削除権限がありません MySQL ルートパスワードのクラッキング 作業中にルート パスワードを紛失してしまうことがあります。ルート パスワードを取得するには、次の方法を使用できます。 以下はルートパスワードを解読する方法のデモンストレーションです 1. パスワードが不明なためMySQLにログインできない [root@localhost ~]# mysql エラー 1045 (28000): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワード使用: NO) 2. クラッキング 1. 設定ファイル/etc/my.cnfを変更し、2行のパラメータを追加します。 skip_grant_tables: 認証テーブル情報をスキップします。このオプションを有効にすると、MySQL を再度使用するためにパスワードを使用する必要がなくなりますが、他のリモート ユーザーもパスワードなしでログインできるため、一定のリスクがあります。 skip_networking: ネットワーク機能をオフにします。skip_grant_tables オプションのみを有効にすると、他のユーザーがパスワードなしで MySQL にログインできてしまい、非常に危険です。そのため、ネットワーク機能をオフにして、ローカルユーザーのみが操作できるようにする必要があります。 [root@localhost ~]# vim /etc/my.cnf [mysqld] skip_networking=on #ネットワーク機能を有効にしない skip_grant_tables=on #認証テーブルをスキップする [root@localhost ~]# service mysqld restart #ロケーションファイルを変更した後、サービスを再起動する必要があります mysqld を再起動しています (systemctl 経由): [ OK ] 2. MySQLにログインしてパスワードを変更する [root@localhost ~]# mysql #パスワードを入力せずにログインできます。MariaDB モニターへようこそ。コマンドは ; または \g で終わります。 MariaDB接続IDは11です サーバーバージョン: 10.2.23-MariaDB-log ソース配布 Copyright (c) 2000、2018、Oracle、MariaDB Corporation Ab およびその他。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 MariaDB [(なし)]> UPDATE mysql.user SET password=PASSWORD('123456') where user='root'; #ルートパスワードを変更します クエリは正常です。4 行が影響を受けました (0.01 秒) 一致した行: 4 変更された行: 4 警告: 0 3. パスワードを変更した後、設定ファイルを復元する必要があります。 有効にした2つのオプションを登録解除または削除し、サービスを再起動します。 [root@localhost ~]# vim /etc/my.cnf [mysqld] #ネットワークをスキップ=オン #skip_grant_tables=オン [root@localhost ~]# サービスmysqldを再起動します mysqld を再起動しています (systemctl 経由): [ OK ] 4. 新しいパスワードを使用してMySQLにログインします [root@localhost ~]# mysql -uroot -p123456 MariaDB モニターへようこそ。コマンドは ; または \g で終わります。 MariaDB接続IDは10です サーバーバージョン: 10.2.23-MariaDB-log ソース配布 Copyright (c) 2000、2018、Oracle、MariaDB Corporation Ab およびその他。 ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。 MariaDB [(なし)]> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vue3 の SetUp 関数のプロパティとコンテキスト パラメータの詳細な説明
>>: Alibaba Cloud Ubuntu 16.04 が IPSec サービスを構築
1. RPM パッケージのインストール手順: 1. soft.version.rpm などの対応する...
まず質問させてください。HTML ページを作成するときに、外部から JS ファイルをインポートする場...
設置環境1. gccのインストールnginxをインストールするには、まず公式サイトからダウンロードし...
トイ・ストーリー3 オンラインマーケティングウェブサイトゼンモバイル鉄から鉄へスプラウトファンドバー...
考えられる解決策1. Math.randomは[0,1)の範囲の乱数を生成します。 //今回は生成さ...
1. データベース認証ステートメントを作成する > データベース seata を作成します。 ...
1. ユーザーとパスワードの作成方法1. MySQLデータベースに入る mysql> mysq...
1. 2 列レイアウトとは何ですか? 2 列レイアウトには、左側が固定幅で右側が適応幅のレイアウトと...
コンセプト紹介: 1. px (ピクセル):仮想的な長さの単位で、コンピュータ システムのデジタル画...
このチュートリアルでは、UbuntuにMySQL 5.7.10を手動でインストールする手順を参考まで...
MySQL 5.7 のインストール私たちは学校で MySQL データベースを学んでいます。先生は私た...
Web デザインの理解に関しては、多くの人がまだ Web ページ制作のレベルにとどまっているようで...
1 セミコロン「;」のない CSS スタイル2 タグが閉じられておらず、「>」がありません...
IE6 と IE7 では CSS の解釈に多くの違いがあります。今日はそのうちの 1 つである高さに...
目次1. html2Canvasをインストールする2. 必要なVueコンポーネントを導入する3. ス...