mysql8.0.23 Linux (centos7) のインストールの完全かつ詳細なチュートリアル

mysql8.0.23 Linux (centos7) のインストールの完全かつ詳細なチュートリアル

前回の記事では、MySQL 8.0.23の主なアップデート内容(新機能の解説)を紹介しました。ご興味がおありの方は、クリックしてご覧ください!

Windows mysql-8.0.23-winx64の最新バージョンは、クリックしてダウンロードしてください。

mysql8.0.23 Linux (centos7) インストール チュートリアル (添付: 外部ネットワーク接続のユーザー認証と大文字と小文字を区別しない構成の構成)

(ブロガーはここで少し話し、後で要点に触れます。開発プロセスでは、データベースを組み合わせることでプログラムの効率が 2 倍になることがあります)

リレーショナルデータベースとは何ですか?

一般的なリレーショナル データベース:
(実際、ブロガーはMySQL Oracle sqlServerのみを使用しています)
Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL

  • リレーショナル データベースは、リレーショナル モデルに基づいて作成されたデータベースです。
  • いわゆるリレーショナル モデルは、「1 対 1、1 対多、多対多」などのリレーショナル モデルです。リレーショナル モデルは、2 次元テーブル モデルを指します。したがって、リレーショナル データベースは、2 次元テーブルとそれらの間の接続で構成されるデータ構成です。
  • リレーショナル データは、1 人の教師が複数の生徒のデータに対応し (「多対多」)、1 冊の本が複数の著者に対応し (「1 対多」)、1 冊の本が 1 つの出版日に対応 (「1 対 1」) するなど、リレーショナル モデル データを非常にうまく格納できます。
  • リレーショナル モデルは、私たちの生活の中で頻繁に遭遇するモデルです。リレーショナル データベースは、通常、このタイプのデータを保存するために使用されます。
  • リレーショナル モデルには、データ構造 (データ ストレージの問題、2 次元テーブル)、操作命令セット (SQL ステートメント)、整合性制約 (テーブル内のデータ制約、テーブル間の制約) が含まれます。

ここに画像の説明を挿入

リレーショナル データベースの特徴:
安全(ディスクに保存されるため、突然の停電があってもデータが失われない)、理解しやすい(リレーショナル モデルに基づく)、しかし、スペースを節約できない(リレーショナル モデルに基づくため、データ内のフィールドの値が空の場合でもスペースを割り当てるなど、特定のルールに従う必要がある)

非リレーショナルデータベースとは何ですか?

  • 非リレーショナル データベースは主に「非リレーショナル モデル」に基づいています (リレーショナル モデルは大きすぎるため、「非リレーショナル」は通常、他の種類のデータベースを表すために使用されます)。非リレーショナル モデルには次のものがあります。

列モデル: データは列に格納されます。リレーショナル データベースでは行をレコードとして使用し、列モデル データベースでは列をレコードとして使用します。 (このモデルでは、データはインデックス化され、IOは非常に高速で、主に分散データベースです)
キーと値のペアのモデル: 保存されるデータは「キーと値のペア」です。たとえば、name:liming の場合、name キーに保存される値は liming です。
ドキュメント モデル: データを個別のドキュメントとして保存します。これは、「キーと値のペア」に似ています。

ブロガーのマシンには他の非リレーショナルデータベースはインストールされていません(ここではスクリーンショットは撮りません)

ここに画像の説明を挿入

これは効率的です (メモリに保存されるため) が、安全ではありません (停電の場合はデータが失われますが、Redis はデータをディスクに同期できます)。現在、多くの非リレーショナル データベースがディスクへの転送をサポートし始めています。

MySQL 8.0バージョンの機能と紹介

関連文献アドレス
参考文献
MySQL サーバーのドキュメント ページ
参考文献

パフォーマンスアップグレードレベル。担当者によると、MySQL 8.0 は MySQL 5.7 より 2 倍高速だそうです。 MySQL 8.0 は、読み取り/書き込みワークロード、IO 集中型ワークロード、競合の激しいワークロードにおいて、MySQL 5.7 よりも優れたパフォーマンスを発揮します。

ここに画像の説明を挿入

(写真提供:Alibaba Cloud)

2. NoSQL ドキュメントのサポートが強化されました。 MySQL はバージョン 5.7 から NoSQL ストレージ機能を提供しており、この機能はバージョン 8.0 で大幅に改善されました。この機能により、別個の NoSQL ドキュメント データベースが不要になり、MySQL ドキュメント ストアは、スキーマレス モードでの JSON ドキュメントに対するマルチドキュメント トランザクション サポートと完全な ACID 準拠も提供します。

ここに画像の説明を挿入

(写真提供:Alibaba Cloud)

ウィンドウ関数。つまり、特定の条件を満たすレコードのセットに対して実行される特別な関数です。これを使用して、いくつかの新しいクエリ メソッドを実装できます。ウィンドウ関数は、SUM() や COUNT() などの集計関数に似ていますが、クエリ結果の複数行を 1 行に結合するのではなく、結果を複数の行に戻します。つまり、ウィンドウ関数では GROUP BY は必要ありません。ウィンドウ関数を使用すると、関連する分析シナリオの効率が大幅に向上します。

UTF-8 エンコード。 MySQL 8.0 以降では、MySQL のデフォルトの文字セットとして utf8mb4 が使用され、Unicode 9 がサポートされます。デフォルトの文字セットは latin1 から utf8mb4 に変更され、デフォルトの照合順序は latin1_swedish_ci から utf8mb4_800_ci_ai に変更されます。

インデックスを非表示にします。インデックスはコマンドを使用して非表示または表示に設定できます。非表示のインデックスはクエリ オプティマイザーによって使用されません。この機能を使用して、関連するクエリのパフォーマンスをデバッグできます。非表示または表示することで、データベース パフォーマンスの違いの理由を分析できます。無効なインデックスを削除することもできます。

インデックスを非表示にするには:

ALTER TABLE TABLENAME ALTER INDEX IDXNAME INVISIBLE;

このインデックスの表示を復元する

ALTER TABLE TABLENAME ALTER INDEX IDXNAME VISIBLE;

永続的な設定。 MySQL 8.0 では、SET PERSIST コマンドが追加されました。このコマンドの設定値は、データ ディレクトリの mysqld-auto.cnf ファイルに保存されます。再起動後、このファイルが読み込まれ、その中の設定を使用してデフォルトの設定ファイルが上書きされます。これにより、SET GLOBAL コマンドが一時的にしか有効にならないという欠点が補われます。
コマンドは次のとおりです。

このインデックスの表示を復元する

SET PERSIST max_connections = 400;

BLOB を再構築します。 BLOB を再構築すると、フラグメントの読み取り/更新操作が高速化され、JSON データに対する操作が高速化されます。 JSON のサポートが大幅に改善され、パス クエリ パラメータに基づいて JSON フィールドからデータを抽出するための JSON_EXTRACT() 関数と、データをそれぞれ JSON 配列とオブジェクトにグループ化するための JSON_ARRAYAGG() および JSON_OBJECTAGG() 集計関数が追加されました。

トランザクション データ ディクショナリ。 MyISAM ストレージ エンジンから完全に分離され、データ ディクショナリは実際には InnoDB のいくつかのテーブルに配置され、FRM、TRG、PAR などのファイルは必要なくなり、情報スキーマはデータ ディクショナリ テーブルのビューとして表示されるようになりました。原則として、MyISAM データ テーブル タイプは必要なく、システム テーブルは InnoDB に配置できます。

SQL ロール。ロールを作成したり、ユーザーに対してロールを設定または削除したりできるため、権限の管理が大幅に容易になります。

実際、関連する機能はたくさんあります。ここでは、より重要な機能のいくつかを取り上げました。詳細については、上記のドキュメント リンクを確認してください。

mysql8.0.23をインストールする最初のステップは、バイナリファイル(インストールパッケージ)をダウンロードすることです。

公式ウェブサイトアドレス
https://www.mysql.com/
(公式サイトのダウンロード場所はバージョンアップにより変更になる場合があります)

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

ご自身のLinuxバージョンに合わせてmysqlバイナリファイルをダウンロードしてください

ここに画像の説明を挿入

ステップ2 ファイルを指定されたフォルダにアップロードして解凍します

ここに画像の説明を挿入

cd /opt/mysql
tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.23-linux-glibc2.12-x86_64 mysql-8.0.23 # 解凍したフォルダの名前は長いので、ここで少し変更します

ステップ3: ユーザーグループ、ユーザー、パスワードを作成し、承認する

ユーザーグループとユーザーとパスワードを作成し、groupadd mysql
 ユーザー追加 -g mysql mysql 

ここに画像の説明を挿入

承認されたユーザー (例: my.cnf を構成するときに指定される次のディレクトリは、mysql ユーザーによって承認される必要があります)
	chown -R mysql.mysql /opt/mysql/mysql-8.0.23 

ここに画像の説明を挿入

ステップ4 基本情報を初期化します(初期化中に大文字と小文字を区別しない情報を設定することを忘れないでください)

データ保存ディレクトリを作成する mkdir data 
binディレクトリに切り替えます cd bin
初期化の基本情報 初期化中に mysql8 を大文字と小文字を区別しないように設定する必要があることに注意してください。そうしないと、その後の変更と削除および再インストールで違いがなくなります。初期化後、元の my.con の lower_case_table_names = 1 は無効になるため、初期化中に --lower-case-table-names=1 を必ず追加してください。
 ./mysqld --user=mysql --basedir=/opt/mysql/mysql-8.0.23 --datadir=/opt/mysql/mysql-8.0.23/data/ --initialize --lower-case-table-names=1

システム初期化のランダムなデフォルトパスワードを取得します。以降の操作のためにここにパスワードを記録します(黒板をたたきます)

ここに画像の説明を挿入

ステップ5 my.cnfファイルを編集する

my.cnf には他にも設定可能なプロパティがたくさんあります。詳細については、公式ドキュメントを参照してください。ここでは主要なパラメータのみを設定します。my.cnf のファイル パス フォルダが存在している必要があります (ファイルが存在しない場合は、起動時にファイルが存在しないというメッセージが表示されます)

 #mysqlのインストールディレクトリを設定します basedir=/opt/mysql/mysql-8.0.23
 #mysqlデータベースデータの保存ディレクトリを設定します。datadir=/opt/mysql/mysql-8.0.23/data
 #クライアントのデフォルトの文字セットを設定します。character-set-server=UTF8MB4
# 新しいテーブルを作成するときに使用されるデフォルトのストレージエンジン default-storage-engine=INNODB
#大文字と小文字を区別するかどうかを設定します(このパラメータは初期化後にもここに存在する必要があります)
小文字テーブル名=1
# デフォルトでは、認証には「mysql_native_password」プラグインが使用されます。default_authentication_plugin=mysql_native_password
#コメント mysqld_safe のすべての設定は datadir ディレクトリに出力されます #[mysqld_safe]
#ログエラー=/var/log/mysqld.log
#pidファイル=/var/run/mysqld/mysqld.pid 

ここに画像の説明を挿入

ステップ6: システム認証にmysqldサービスを追加し、サービスを追加する

 ホームディレクトリに入ります cd /opt/mysql/mysql-8.0.23
システムにmysqldサービスを追加します。cp -a ./support-files/mysql.server /etc/init.d/mysql
サービスを承認して追加します chmod +x /etc/init.d/mysql
 chkconfig --mysql を追加する

ここに画像の説明を挿入

ステップ7: サービスを開始し、サービス同期接続を確立する

 service mysql start #サービスを開始 service mysql status #サービスの状態を確認 service mysql stop #サービスを停止 service mysql restart #サービスを再起動

友人がサービスを開始すると、フォルダーに権限がないというメッセージが表示される場合があります。datadir の下のログを表示して、mysql 権限を設定できます。

のように:

chown -R mysql:mysql /opt/mysql/mysql-8.0.23/data

サービス同期接続を確立します(ln -s がわからない場合は、このコマンドの機能について Baidu で検索してください)

 : := mysql -s /opt/mysql/mysql-8.0.23/bin/mysql /usr/bin

ステップ8: mysqlにログインしてパスワードを変更する

#mysqlコンソールに入る mysql -uroot -p
#パスワードを変更する ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your password'; 
#権限をフラッシュします。 

ここに画像の説明を挿入

ステップ9: 外部ネットワーク接続の承認を構成する

#mysql データベースを選択します。use mysql;
 #ルートユーザーの接続アドレスを変更します。これで、localhost はローカル マシンになります。固定 IP アドレスを指定することもできます。ここで、% はすべての IP アドレスへのアクセスを開きます。update user set host='%' where user='root';
 #権限をフラッシュします。 

ここに画像の説明を挿入

最後のステップは、コンソールを終了して外部ネットワークのリモート接続をテストすることです(インストール完了)

出口; 

ここに画像の説明を挿入

ここに画像の説明を挿入

これで、mysql8.0.23 Linux (centos7) のインストールに関する完全かつ詳細なチュートリアルに関するこの記事は終了です。Linux mysql8.0.23 のインストールに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux 環境に mysql5.7.36 データベースをインストールするチュートリアル
  • Linux 環境に MySQL 8.0 をインストールするプロセスの紹介
  • Linux 7.6 バイナリに MySQL 8.0.27 をインストールする詳細な手順
  • Linux での MySQL のインストールに関するチュートリアル
  • Linux での MySQL マルチインスタンスの展開とインストール ガイド
  • Linux での MySQL 8.0.25 のインストールと設定のチュートリアル
  • Linux環境にMySQLデータベースをインストールする詳細なチュートリアル
  • Linux で mysql-8.0.20 をインストールするための詳細なチュートリアル
  • Linux システム MySQL8.0.19 クイックインストールと構成チュートリアル図
  • Linux Centos7 に mysql8 をインストールするチュートリアル
  • Linux環境にMySQLデータベースをインストールする

<<:  純粋な CSS で実装された大きなドロップダウン メニューのサンプル コード

>>:  フロントエンドはJavaScriptを通じてCADグラフィックスの詳細を作成および変更します。

推薦する

MySQLサービスを削除する具体的な方法

MySQLは次のエラーを表示します「コントロール パネル -> 管理ツール -> サービ...

Vueはプルダウンを実装してさらに読み込む

Element-UI に慣れた開発者なら、無限スクロールの InfiniteScroll が使いにく...

HTML テーブルタグチュートリアル (46): テーブルフッタータグ

<tfoot> タグは、テーブル フッターのスタイルを定義するために使用されます。基本構...

よく使われるnginxの書き換えルールの詳細な説明

この記事では、Web ページのリンクを美しくするためによく使用される書き換えルールをいくつか紹介しま...

Docker で Python スクリプトを実行する方法

まず、Docker イメージ用の特定のプロジェクト ディレクトリを作成します。例: mkdir /h...

MySQL データベースの基礎を始めるための一般的なコマンドの概要

この記事では、MySQL データベースの基礎を学ぶためによく使用されるコマンドを例を使って説明します...

div が iframe に覆われるいくつかの状況とその解決策

類似の構造:コードをコピーコードは次のとおりです。 <div></div>&...

MySql ストアド プロシージャ パラメータの初歩的な使用法の詳細な説明

パラメータでのストアドプロシージャの使用IN パラメータは、プロシージャに情報を渡すためにのみ使用さ...

HTML面接の質問の要約

1. doctypeの役割、厳密モードと混合モードの違い、そしてその重要性1. 構文形式: <...

CSS と Bootstrap アイコンを使用して、上下にジャンプするインジケーター矢印のアニメーション効果を作成します。

ページが非常に長い場合は、下にさらにコンテンツがあることをユーザーに知らせるために矢印が必要になるこ...

Linuxカーネルスケジューラソースコード初期化の分析

目次1. はじめに2. スケジューラの基本概念2.1. 実行キュー (rq) 2.2 スケジューリン...

時点別のMySQLデータベース復旧実績

はじめに: 時間ポイントによる MySQL データベースの復旧どの企業にとっても、データは最も価値の...

Windows Server 2008R2、2012、2016、2019 の違い

目次共通バージョンの紹介共通バージョンのダウンロードアドレスとインストール以下に簡単な違いを示します...

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト

ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト 1...

任意の長さの配列を作成または埋めるための JS のヒントの要約

目次序文直接充填方式for ループの push() メソッド配列コンストラクタメソッド配列コンストラ...