Mariadb リモート ログイン構成と問題解決

Mariadb リモート ログイン構成と問題解決

序文:

インストール プロセスについては詳しく説明しません。問題に直接触れましょう。MySQL のリモート接続には解決する必要がある問題が 2 つあります。1. root ユーザーがリモートで接続できるようにします。 2. 任意の IP がデータベースにリモート接続できるようにします。もちろん、テストして問題を解決する前に、まずデータベースとリモート ホスト間のネットワーク通信に問題がないことを確認する必要があります。簡単に言えば、相互に ping できる必要があります。次に、ファイアウォールからの干渉を避けるために、ローカル ホストとデータベース ホストの両方のファイアウォールをオフにします。もちろん、実稼働環境ではファイアウォールをオンにする必要があり、追加のセキュリティ構成が必要です。

問題は解決しました:

1. 新しくインストールされたデータベースは、デフォルトで初期化する必要があります。データベース サービスが起動したら、次のコマンドを使用して初期化します。

[root@localhost ~]# mysql_secure_installation
新しいパスワード: 
新しいパスワードを再入力してください: 
パスワードが正常に更新されました。
権限テーブルを再ロードしています。
 ... 成功!


デフォルトでは、MariaDBのインストールには匿名ユーザーがおり、誰でも
ユーザーアカウントを作成せずにMariaDBにログインする
これはテストのみを目的としており、インストールを確実にするために
少しスムーズに進む。
生産環境。

匿名ユーザーを削除しますか? [Y/n] 
 ... 成功!

通常、rootは「localhost」からのみ接続を許可されます。
誰かがネットワークからルートパスワードを推測できないようにします。

リモートでの root ログインを禁止しますか? [Y/n] n #root ユーザーのリモート ログインを設定する場合は、ここで n を選択する必要があります。[root ユーザーのリモート ログインを禁止する] を選択しない場合、他のオプションは無関係です。
 ...スキップします。

デフォルトでは、MariaDBには誰でも使用できる「test」という名前のデータベースが付属しています。
アクセス。これもテストのみを目的としており、削除する必要があります
実稼働環境に移行する前に。

テストデータベースとそれへのアクセスを削除しますか? [Y/n] 
 - テスト データベースを削除しています...
 ... 成功!
 - テスト データベースの権限を削除しています...
 ... 成功!

権限テーブルを再ロードすると、これまでに行ったすべての変更が確実に反映されます。
直ちに発効します。

権限テーブルを今すぐ再読み込みしますか? [Y/n] 
 ... 成功!

掃除中…

完了です!上記の手順をすべて完了すると、MariaDB
これでインストールは安全になるはずです。

MariaDB をご利用いただきありがとうございます。[root@localhost ~]# systemctl restart mariadb #初期化後、サービスを再起動します。

2. データベース内でコマンドを実行することで、ルート ユーザーがリモートで接続できるようにし、任意の IP がデータベースにリモートで接続できるようにすることができます。

ここでは 2 つの状況があります。

1) MySQL データベースにリモート接続するための新しい管理者ユーザーを作成します (管理者を例に任意のユーザーを作成します)

'123456' で識別される admin@'%' に、 grant オプションを使用して *.* のすべての権限を許可します。
権限をフラッシュします。

IP アドレスを持つ任意のコンピューター (% は任意の IP アドレスが許可されることを意味します) が管理者アカウントとパスワード (123456) を使用してこの MySQL サーバーにアクセスできるようにします。
管理者アカウントが存在する必要はないことに注意してください。

2) MySQLデータベースへのリモート接続を許可するルートユーザーをサポートする

'123456' で識別される 'root'@'%' に、GRANT オプションを使用して *.* のすべての権限を付与します。
権限をフラッシュします。

root ユーザーのリモート ログインを設定する場合、パスワードは以前に設定したパスワードと同じである必要があることに注意してください。

3. Ubuntu システムの追加構成。

Ubuntuシステムのmy.cnfファイルはvim /etc/mysql/mysql.conf.d/mysqld.cnfにあり、コメントアウトされています。

バインドアドレス = 127.0.0.1

デフォルトでは、Centos システム構成ファイルにそのような行はありません。

確認方法も非常に簡単です。データベースが起動している前提で、netstat -an | grep 3306 を使用してポートの接続情報を表示します。 0.0.0.0 は、任意の IP 接続が許可されることを意味します。

図に示すように、任意の IP 接続が許可されます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQLとMariaDBの違いとパフォーマンスの比較についての詳細な説明
  • Linux 上の MariaDB は root ユーザーで起動します (推奨)
  • Windows 10 に MariaDB をインストールするチュートリアル
  • MySQL/MariaDB ルートパスワードリセットチュートリアル
  • Windows7 での MariaDB データベースのインストールとシステム初期化操作の分析
  • PHP+MariaDBデータベース操作の基本スキルのまとめ
  • MySQL と MariaDB の違いについての簡単な説明 (MariaDB と MySQL のパフォーマンス比較)
  • DockerでMariaDBイメージを作成する方法

<<:  Ubuntu 20.04でルートアカウントを有効にする方法

>>:  Vue グローバルメソッドを設定する 2 つの方法

推薦する

MySQL ビューの原理と使用法の詳細な分析

序文: MySQL では、ビューはおそらく最も一般的に使用されるデータベース オブジェクトの 1 つ...

フレックスレイアウトの改行スペースでの align-content の使用

1. この記事で実装した効果図は以下のとおりです。レイアウトの右側に Flex レイアウトを使用し、...

JS で async await をエレガントに使用する方法

目次jQuery の $.ajax Webpack時代の始まり約束について深く考えるネストをなくすj...

子ども向けウェブサイトの視覚構造レイアウト設計手法の分析

1. 温かくて優しい関連アドレス: http://www.web-designers.cn/post...

要素の水平方向の中央揃えを実現する3つの方法と、固定レイアウトとフローレイアウトの概念の理解

CSS でテキストを中央揃えにするプロパティは非常に簡単に実現できます。text-align:cen...

高性能ウェブサイトの最適化ガイド

パフォーマンスの黄金律:エンドユーザーの応答時間のわずか 10% ~ 20% が HTML ドキュメ...

JavaScript の find() メソッドと filter() メソッドの違いのまとめ

目次序文JavaScript find() メソッドJavaScript filter() メソッド...

Vue が価格カレンダー効果を実現

この記事では、価格カレンダー効果を実現するためのVueの具体的なコードを例として紹介します。具体的な...

VMware Workstation 15 Pro に Ubuntu 1804 をインストールするチュートリアル (画像とテキスト付き)

このメモはインストール チュートリアルです。実用的な意味はありません。記録のためだけに書いています。...

Vue+elementuiはドロップダウンテーブルの複数選択と検索機能を実現します

この記事では、ドロップダウンテーブルの複数選択と検索を実現するためのvue+elementuiの具体...

HTML(CSSスタイル仕様)を読む必要があります

CSS スタイル仕様1. クラスセレクター2. タグセレクター3. IDセレクター4. CSSスタイ...

CSS の高度な使い方(実戦で活用)

1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...

CSSのline-heightを継承する方法

Line-height はどのように継承されますか?30px などの特定の値を書き込むと、この値が継...

CSS 要素を表示および非表示にする 9 つの方法

Web ページの制作では、要素の表示と非表示は非常に一般的な要件です。この記事では、要素を表示したり...

Element+vueを使用して開始時間と終了時間の制限を実装する

この記事の例では、Element+vueを使用して開始と終了の時間制限を実装するための具体的なコード...