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

推薦する

Dockerはターミナルで中国語を入力できない問題を解決します

序文:ある日、DockerでMySQLサービスを構築したところ、MySQLのコマンドラインで中国語の...

CSSスタイルとセレクターの使い方

HTML で CSS を使用する 3 つの方法: 1. インラインスタイル: 要素のスタイル属性を通...

フロントエンドの状態管理(パート2)

目次1. 再出発1.1. ストア(司書) 1.2. 状態(書籍) 1.3. アクション(図書貸出リス...

MySQL 5.7 のインストールと設定の詳細な手順

1. MySQLをダウンロードする1. MySQLの公式ウェブサイトにログインし、64ビットシステム...

個人履歴書を作成するための HTML の簡単な実装

履歴書コード: XML/HTML コードコンテンツをクリップボードにコピー<!DOCTYPE ...

無効と読み取り専用で入力を読み取り専用に設定する

読み取り専用入力を実現するには、無効と読み取り専用の 2 つの方法があります。当然、どちらの結果も読...

シリアルポート使用時のvue-electronの問題解決

エラーは次のとおりです:キャッチされない TypeError: 未定義のプロパティ 'mod...

JavaScriptは双方向リンクリストプロセス分析を実装します

目次1. 二重連結リストとは何か2. 双方向リンクリストのカプセル化3. 双方向リンクリストの一般的...

Firefox の CSS を使用してデータを盗む

0x00 はじめに数か月前、Firefox に脆弱性 (CVE-2019-17016) があること...

Centos7 の起動プロセスと Systemd での Nginx の起動構成

Centos7 の起動プロセス: 1.post(電源投入時のセルフテスト) 電源投入時のセルフテスト...

フロントエンド Vue ユニットテストを始める

目次1. ユニットテストはなぜ必要なのでしょうか? 2. ユニットテストの書き方3. テストツール4...

Linux サーバーに Python3 をインストールする 2 つの方法

最初の方法Alibaba Cloud および Baidu Cloud サーバーが利用可能です。 ! ...

HTML における if 判断の使用

Django Web開発の過程で、HTMLを書く際にバックエンドから同じ名前のリスト変数が渡されるが...

ネイティブ JS カプセル化 vue タブ切り替え効果

この記事の例では、ネイティブJSカプセル化vueタブ切り替えの具体的なコードを参考までに共有していま...