MySQL を使用してポート 3306 を開いたり変更したり、Ubuntu/Linux 環境でアクセス許可を開く

MySQL を使用してポート 3306 を開いたり変更したり、Ubuntu/Linux 環境でアクセス許可を開く

オペレーティングシステム: Ubuntu 17.04 64ビット

MySQL バージョン: MySQL 5.7

1. ポート3306が開いているか確認する

netstat -an | grep 3306

次のような表示が出た場合、ポートは開いていません。

2. アクセス権限を変更する

以下のように、「etc/mysql/mysql.conf.d/」ディレクトリに入ります。

このディレクトリには、次に示すように、構成ファイル「mysqld.cnf」があります。

次の構成ファイルを開きます:

sudo vim mysqld.cnf

ファイルを開くと長いコメントが表示されますが、気にしないでください。下の画像の部分を見てください。

上記の画像の最初の行にある赤いコメントに注意してください。

「デフォルトでは、localhost からの接続のみを受け入れます」という文は、「デフォルトでは、ローカル サービスのみが MySQL にアクセスできるようにします」という意味なので、次の構成をコメント アウトして、その前にポンド記号を追加する必要があります。

# バインドアドレス = 127.0.0.1

下の図に示すように、この構成もコメントになっています。


考えを広げると、セキュリティ上の理由から MySQL へのアクセスを特定のアプリケーション サーバーのみに制限したい場合、実際にはこの構成項目を調整するだけで済みます。

3. ポート番号を変更する

この構成ファイルでは、この構成ファイルの中央部分にある構成項目を確認します。

ポート設定を追加する必要があります:

ポート = 3306

追加後、構成ファイル全体は次のようになります。

変更後は必ずファイルを保存してください。

4. ルートアカウントへのアクセス権を開く

3 番目の手順では、ローカル アクセス制限のみを削除しましたが、アカウント権限はまだ設定されていません。

MySQL サービスを再起動し、MySQL コンソールに入ります。

サービスmysql停止
サービスmysql開始
mysql -h 127.0.0.1 -u ルート -p 


システム データベース「mysql」に切り替えます。

mysql を使用します。 


データベース内のすべてのテーブルを見てみましょう。

テーブルを表示します。 


上の図の最後のテーブル「user」を変更し、このテーブルにどのようなフィールドがあるかを確認する必要があります。

desc ユーザー; 


フィールドが多すぎるため、すべてをリストすることはできません。ここでは、「ホスト」フィールドと「ユーザー」フィールドのみを使用します。

ユーザーからホスト、ユーザーを選択します。 

この表では、root ユーザーは MySQL サービスにローカルでのみアクセスできることがわかります。そのため、これを「%」に変更する必要があります。これは、root アカウントがどこにいてもデータベース サービスにアクセスできることを意味します。

ユーザーを更新します。host='%' を設定します。user='root' です。 


セキュリティ リスクが大きすぎるため、この変更は実際の運用環境では推奨されないことに注意してください。ルート ユーザーのホスト項目を指定された IP アドレスに変更するか、localhost のままにしておくことをお勧めします。

最後の設定では、ルート アカウントのすべての権限が開かれます。

*.* のすべての権限を 'root'@'%' ('root アカウントのパスワード' で識別) に付与します。

さまざまな権限設定をすぐに有効にします。

権限をフラッシュする。

5. ポート3306のステータスを再度確認する

netstat -an | grep 3306

次の図が表示されれば問題ありません。

これで、MySQL を使用して Ubuntu/Linux 環境でポート 3306 を開いたり変更したり、アクセス許可を開く方法についての記事は終了です。MySQL 3306 の開き方や Linux でのアクセス許可を開く方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux での MySQL マルチインスタンスの展開とインストール ガイド
  • Linux での MySQL 8.0.25 のインストールと設定のチュートリアル
  • Linux ホスト上で複数の MySQL データベースを起動する方法
  • Linux mysql5.5 を mysql5.7 にアップグレードする手順と落とし穴
  • Linux に mysql をインストールするときに /etc に my.cnf ファイルがない問題を解決する
  • Linux で Docker を使用して MySQL をインストールする手順
  • Linux でリモート MySQL データベースを手動で展開する方法の詳細な説明
  • Linuxでmysqlの定期的なコールドバックアップを実装するためにmysqldump+expect+crontabを使用するアイデアの詳細な説明
  • Aliyun Linux のコンパイルとインストール php7.3 tengine2.3.2 mysql8.0 redis5 プロセスの詳細な説明
  • Linux で MySQL のスケジュールバックアップを実装する方法
  • Linux mysql-5.6 でルート パスワードをリセットする方法
  • MySQL スケジュール バックアップ ソリューション (Linux crontab を使用)
  • Linux環境にMySQLデータベースをインストールする詳細なチュートリアル
  • Linux でリモートから MySQL を自動的にバックアップする方法
  • Linux MySQL ルートパスワードを忘れた場合の解決方法
  • Linux で mysql-8.0.20 をインストールするための詳細なチュートリアル
  • MyCat を使用して Linux で MySQL マスター/スレーブの読み取り/書き込み分離を実装する方法

<<:  操作タイムアウトがないときにMySQLサーバーがアクティブに切断される問題を解決します

>>:  JavaScript 変数の昇格についての簡単な説明

推薦する

MySQL 面接でよく聞かれる質問への回答

序文:さまざまな技術職の面接では、MySQL 関連の質問がよくされるようです。開発職の面接でも運用職...

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

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

タブ効果を実現する js 開発プラグイン

この記事の例では、タブ効果を実現するためのjsプラグインの具体的なコードを参考までに共有しています。...

MySQL トリガーの使用シナリオとメソッドの例

トリガー:トリガーの使用シナリオと対応するバージョン:トリガーは次の MySQL バージョンで使用で...

WeChatアプレットシングルページアプリケーションルーティングを徹底的に理解するための10分

シングルページアプリケーションの特徴「前提:」Web ページには、クリックするとサイト内の他のページ...

JS 9 Promise 面接の質問

目次1. 複数の .catch 2. 複数の .catch 3. .then と .catch の連...

ユニアプリプロジェクトでのウォーターフォールレイアウトの実装

GitHubアドレス、気に入ったらスターを付けてくださいプラグインのプレビューチュートリアル1. プ...

MySQL 5.7.23 winx64 のインストールと設定方法のグラフィックチュートリアル (win10 の場合)

この記事はMySQL 5.7.23 winx64のインストールチュートリアルを記録します。具体的な内...

Linux における $ 記号の基本的な使い方のまとめ

Linuxバージョン: CentOS 7 [root@azfdbdfsdf230lqdg1ba91 ...

ES6 Promiseの使い方の詳細な説明

目次約束とは何ですか?拒否の使用法キャッチの使い方すべての使用法レースの使用約束とは何ですか? Pr...

vue data が関数である理由をご存知ですか?

公式サイトの説明: コンポーネントを定義する場合、コンポーネントは複数のインスタンスを作成するために...

MySQL 最適化ソリューション リファレンス

最適化によって発生する可能性のある問題最適化は必ずしも単純な環境で実行されるわけではなく、実稼働環境...

MySQLは現在の日付と時刻を取得する関数

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...

MySQL の自動増分 ID (主キー) が不足した場合の解決策

MySQL で使用される自動インクリメント ID には多くの種類があり、各自動インクリメント ID ...

MySQL パーティションテーブルの正しい使用方法

MySQL パーティションテーブルの概要数億、あるいは数十億ものレコードを格納するテーブルに遭遇する...