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グラフィックスの詳細を作成および変更します。

推薦する

JavaScript ES 新機能ブロックスコープ

目次1. ブロックスコープとは何ですか? 2. ブロックスコープが必要なのはなぜですか? 3. 関数...

Tomcat でサーブレット URL パターンを構成する際の問題の詳細な説明

tomcat の web.xml を構成する場合、サーブレットは比較的重要な問題です。ここでは、サー...

mysql charset=utf8 本当に意味が分かりますか

1. まずテーブル作成ステートメントを見てみましょう テーブル学生を作成( sid int 主キー ...

実践的な経験を共有するためのコードチェックツールstylelintの紹介

目次序文文章1. stylelintをインストールする2. 設定ファイル3. stylelintを使...

MySQLを安全にシャットダウンする方法

MySQL サーバーをシャットダウンする場合、シャットダウン方法に応じてさまざまな問題が発生する可能...

独自の FTP および SFTP サーバーを構築するプロセスの紹介

FTP と SFTP はファイル転送プロトコルとして広く使用されています。関連する機能を開発するには...

Ubuntu 19.10 で ssh サービスを有効にする (詳細なプロセス)

Ubuntuでsshを開くのに1時間以上かかりました。主な原因は、最初に読んだチュートリアルの手順...

セマフォによるTomcatの異常終了の解決方法

最近はビッグデータで遊んでいます。友人が私のところに来て、オンラインの Tomcat が不可解に終了...

VMware に Centos7 をインストールした後に外部ネットワークに ping できない問題を解決する

クラスターを構成する際に問題が発生しました。当初は 3 台の仮想マシンすべてが外部ネットワークに p...

WeChatアプレットがフォーム検証を実装

WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...

Javascript 文字列メソッドの詳細な説明

目次文字列の長さ: 長さcharAt() charCodeAt()文字列に値が含まれているかどうかを...

MySQL の 4 つのトランザクション分離レベルを例を使って分析する

序文データベース操作では、同時データ読み取りの正確性を効果的に保証するために、トランザクション分離レ...

Sparkの紹介とHadoopとの比較

目次1. SparkとHadoopの比較1.1 Haoopの欠点1.2 Hadoop MR に対する...

HTML コードの書き方に関する提案のまとめ

リソースファイルのプロトコルを省略する画像、メディアファイル、スタイル、スクリプトの URL では、...