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でのこのリファレンスの詳細な説明

推薦する

VMware を使用して PXE バッチ インストール サーバーをテストする詳細なプロセス

目次1. 準備1. 環境を整える2. インストール方法3. ネットワークカードの構成2. インストー...

HTML で入力ボックスに純粋な数字のみを入力するように制限する方法

inputボックスを純粋な数字のみに制限する1、onkeyup = "value=valu...

docker-maven-pluginはイメージをパッケージ化し、プライベートウェアハウスにアップロードします。

目次1. docker-maven-pluginの紹介2. 環境とソフトウェアの準備3. デモ例3....

MySQL主キー命名戦略関連

最近、データライフサイクル管理の詳細を整理していたときに、小さな問題を発見しました。それは、MySQ...

JavaScriptでマクロを使用する方法

言語では、DSL を実装するためにマクロがよく使用されます。マクロを使用すると、開発者は JSX 構...

Centos8 で Apache httpd2.4.37 を使用して Web サーバーをインストールする詳細な手順

ステップ 1: yum install httpd -y #httpd サービスをインストールします...

Vue でユーザー権限に基づいてルートを動的に追加する方法

ユーザーの権限に応じて異なるメニュー ページを表示します。知識ポイントルートガード(事前ガードを使用...

CSS を使用して画像の下の空白を数ピクセル消去する方法の詳細な説明

最近、友人が私に質問をしました。ページをレイアウトすると、画像の下に 1 ~ 2 ピクセルの空白があ...

4つのReactコンポーネントにおけるDOMスタイル設定の詳細な説明

1. インラインスタイル仮想DOMにインラインスタイルを追加するには、式を使用してスタイルオブジェク...

LinuxでTomcatのポート番号を変更する方法

ここには複数の Tomcat があります。それらを同時に使用する場合は、ポート番号を別の番号に変更す...

Linux+ApacheサーバURLの大文字と小文字の区別の問題を解決する

今日、問題が発生しました。ブラウザのアドレスバーにURLアドレスを入力する際、ページを正常にアクセス...

JavaScriptは両端キューを実装する

この記事の例では、両端キューを実装するためのJavaScriptの具体的なコードを参考までに共有して...

IEウェブページのポップアップウィンドウの共通パラメータは自分で設定できます

ポップアップは、現在のウィンドウにメニューツールバーがあるかどうかとは関係ありません。ページにスクリ...

Windows Server 2016 に MySQL 5.7.19 の解凍バージョンをインストールするための詳細なチュートリアル

MySQL 5.7.19 winx64 解凍版のインストールチュートリアルを収録しています。具体的な...

HTML/XHTML における img 画像タグの基本的な使用法の詳細な説明

画像タグは、Web ページに画像を表示するために使用されます。 HTML/XHTML 画像 <...