CentOS に MySQL をインストールしてリモート アクセスを設定する方法

CentOS に MySQL をインストールしてリモート アクセスを設定する方法

1. MySQLリポジトリソースをダウンロードする

$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2. mysql-community-release-el7-5.noarch.rpm パッケージをインストールします。

$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

このパッケージをインストールすると、2 つの MySQL yum リポジトリ ソース (/etc/yum.repos.d/mysql-community.repo と /etc/yum.repos.d/mysql-community-source.repo) が取得されます。

3. MySQLをインストールする

$ sudo yum mysql-serverをインストールします

インストールするには指示に従ってください。インストール後にパスワードがないため、パスワードをリセットする必要があります。

4. MySQLパスワードをリセットする

$ mysql -u ルート

ログイン時に、次のエラーが報告される場合があります: ERROR 2002 (HY000): ソケット '/var/lib/mysql/mysql.sock' を介してローカル MySQL サーバーに接続できません (2)。原因は、/var/lib/mysql のアクセス許可の問題です。次のコマンドは、/var/lib/mysql の所有者を現在のユーザーに変更します。

$ sudo chown -R ルート:ルート /var/lib/mysql

MySQLサービスを再起動する

$ サービスmysqldを再起動

次に、ログインしてパスワードをリセットします。

$ mysql -u root // Enter キーを直接押して mysql コンソールに入りますmysql > use mysql;
mysql > ユーザーを更新し、パスワードをpassword('123456')に設定し、user='root';
mysql > 終了;

セキュリティ上の理由から、Mysql ではデフォルトでローカルログインのみが許可されます。ただし、この場合、ユーザーはリモートで接続する必要があります。したがって、リモート接続を有効にするには、次の操作を実行する必要があります。

1. ルートユーザーがどこからでもリモートでログインし、すべてのライブラリに対して任意の操作権限を持つことを許可します。具体的な操作は次のとおりです。

このマシンで root ユーザーとして mysql にログインします。
mysql -u root -p "youpassword" 
承認操作を実行するには:
mysql> 'youpassword' によって識別される 'root'@'%' に GRANT OPTION 付きで *.* のすべての権限を付与します。
認証テーブルを再ロードします:
権限のフラッシュ;
mysql データベースを終了します。
出口

2. ルート ユーザーが特定の IP アドレスからリモートでログインし、すべてのライブラリに対する操作権限を持つことを許可します。具体的な操作は次のとおりです。

このマシンで root ユーザーとして mysql にログインします。
mysql -u root -p "youpassword" 
承認操作を実行するには:
GRANT オプションを使用して、"youpassword" によって識別される root@"172.16.16.152" に *.* のすべての権限を付与します。
認証テーブルを再ロードします:
権限のフラッシュ;
mysql データベースを終了します。
出口

3. ルート ユーザーが特定の IP アドレスからリモートでログインし、ライブラリ固有のすべての操作権限を持つことを許可します。具体的な操作は次のとおりです。

このマシンで root ユーザーとして mysql にログインします。
mysql -u root -p "youpassword" 
承認操作を実行するには:
"youpassword" によって識別される root@"172.16.16.152" に *.* の select、insert、update、delete 権限を付与します。
認証テーブルを再ロードします:
権限のフラッシュ;
mysql データベースを終了します。
出口

4. ユーザー権限を削除するには、REVOKE コマンドを使用する必要があります。具体的なコマンドの形式は次のとおりです。

REVOKE privileges ON database[.table name] FROM user-name;
具体的な例として、まずローカルで mysql にログインします。
mysql -u root -p "youpassword" 
承認操作を実行するには:
TEST-DB に対して、"youpassword" によって識別される te​​st-user@"172.16.16.152" に select、insert、update、delete 権限を付与します。
次に、承認操作を削除します。
TEST-DB 上のすべての権限を test-user から取り消します。
****注意: この操作では、TEST-DB に対するユーザーの承認権限のみがクリアされますが、ユーザー「test-user」は引き続き存在します。
最後に、ユーザー テーブルからユーザーをクリアします。
user="test-user" の user から削除します。
認証テーブルを再ロードします:
権限のフラッシュ;
mysql データベースを終了します:
出口

5. MYSQL権限の詳細な分類:

グローバル管理権限: 
FILE: MySQL サーバー上のファイルの読み取りと書き込みを行います。 
PROCESS: 他のユーザーに属するサービス スレッドを表示または終了します。 
RELOAD: アクセス制御リストを再ロードし、ログなどを更新します。 
SHUTDOWN: MySQL サービスをシャットダウンします。
データベース/テーブル/列の権限: 
ALTER: 既存のデータ テーブル (列の追加/削除など) とインデックスを変更します。 
CREATE: 新しいデータベースまたはテーブルを作成します。 
DELETE: テーブルからレコードを削除します。 
DROP: テーブルまたはデータベースを削除します。 
INDEX: インデックスを作成または削除します。 
INSERT: テーブルにレコードを追加します。 
SELECT: テーブルのレコードを表示/検索します。 
更新: テーブル内の既存のレコードを変更します。
特別な権限: 
ALL: 何でも実行できます (root と同じ)。 
使用方法: ログインのみが許可され、他の操作は許可されません。

要約する

以上が編集者が紹介した CentOS に MySQL をインストールし、リモートアクセスを設定する操作方法です。皆様のお役に立てれば幸いです。ご質問があればメッセージを残してください。編集者がすぐに返信いたします。

以下もご興味があるかもしれません:
  • mysql5.7 のエンコーディングを utf8mb4 に設定する方法
  • MySQLでグローバル変数とセッション変数を設定する2つの方法の詳細な説明
  • 外部ネットワークアクセスを許可するためのMysql5.6の設定手順の詳細を共有する
  • Docker で MySQL の文字セットを設定する方法
  • MySQL で datetime 型のデフォルト値を設定する方法
  • Dockerfile を使用して MySQL イメージを構築し、データの初期化と権限設定を実装する詳細な説明
  • MySQL ログの設定と表示方法
  • Windows で MySQL 5.7.17 をインストールし、エンコードを utf8 に設定する方法
  • CentOS 7 に MySQL をインストールし、自動的に起動するように設定する
  • MySQL max_allowed_pa​​cket 設定

<<:  Linux のよく使うコマンドの使い方を詳しく解説(第 2 回)———— テキストエディタのコマンド vi/vim

>>:  Reactでのこのリファレンスの詳細な説明

推薦する

React.cloneElement の使い方の詳しい説明

目次cloneElementの役割使用シナリオ新しい小道具を追加するプロップを変更するイベントカスタ...

CSSトランジションは高さを変更することで要素を拡大したり縮小したりします。

一般的な開発ニーズとして、要素の一部を必要になるまで折りたたんでおきたいことが挙げられます。 Boo...

Nginx ローカル ディレクトリ マッピング実装コード例

他のデバイスの画像をローカルディレクトリにマウントするなど、サーバー上の静的リソースにアクセスする必...

JS配列の組み込みトラバーサルメソッドとその違いについての簡単な説明

目次forEach() (ES6) メソッドmap() (ES6) メソッドflatMap() メソ...

MySql の null 関数の使用の共有

MySql の null に関する関数IFNULL ISNULL NULLIF IFNULL使用法:...

HTML フローティング フレーム (iframe 読み込み HTML) の設定と使用の例

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

CSSスプライトの応用の詳細な説明

CSS Sprite は、CSS スプライトとも呼ばれ、画像結合技術です。この方法は、複数の小さなア...

前後の秒、分、時間、日数を取得するMySQLデータベース

現在の時刻を取得します: current_timestamp を選択します。出力: 2016-06-...

JSにおけるデータ型の正しい判定方法の例

目次序文typeof は型を正しく判別できますか? instanceof は型を正しく判別できますか...

メタビューポートはiPhoneでウェブページをフルスクリーン表示コントロールします

困り果てて、ふと、私がよく行くSinaのタッチスクリーン版はどうやって作られているのだろう?と考えま...

JSはフロントエンドのページング効果を実現します

この記事の例では、フロントエンドのページング効果を実現するためのJSの具体的なコードを参考までに共有...

SQL実行ステップの詳細な分析

SQL実行ステップの詳細な分析まず、ステートメントが実行される順序を見てみましょう。 (8)選択する...

Spring Boot + jar パッケージングのデプロイメント Tomcat 404 エラーの問題を解決する

1. Spring Boot は jsp jar パッケージをサポートしていません。jsp は wa...

CentOS で RPM を使用して MySQL 5.6 をインストールするチュートリアル

これまでのプロジェクトはすべて Windows システム環境にデプロイされていました。今回は Lin...

MySQLのunion allとunionの違いを簡単に理解する

Union は、重複行を除外し、デフォルトのソートを実行する、データに対する結合操作です。Union...