検索
ホームページデータベースmysql チュートリアルデータベース アーキテクチャの概要

1. MySQL の概要

概要
  • MySQL は、スウェーデンの MySQL AB 社によって開発され、現在は Oracle に属しているリレーショナル データベース管理システムです。

  • MySQL は、すべてのデータを 1 つの大きなウェアハウスに置くのではなく、異なるテーブルにデータを保持するリレーショナル データベース管理システムです。これにより、速度が向上し、柔軟性が向上します。

  • Mysql はオープンソースなので、追加料金を支払う必要はありません。

  • Mysql は大規模なデータベースをサポートしています。数千万件のレコードを含む大規模なデータベースを処理できます。

  • MySQL は標準の SQL データ言語形式を使用します。

  • Mysql は複数のシステムで使用でき、複数の言語をサポートします。これらのプログラミング言語には、C、C++、Python、Java、Perl、PHP、Eiffel、Ruby、Tcl などが含まれます。

  • Mysql は、現在最も人気のある Web 開発言語である PHP を適切にサポートしています。

  • MySQL は、5,000 万レコードを含む大規模なデータベースとデータ ウェアハウスをサポートしており、32 ビット システム テーブル ファイルは最大 4 GB、64 ビット システムは最大 8 TB のテーブル ファイルをサポートします。

  • Mysql はカスタマイズ可能で、GPL プロトコルを採用しており、ソースコードを変更して独自の Mysql システムを開発できます。

高度なMySQLには知識が必要です
  • mysqlカーネル

  • SQL最適化包囲ライオン

  • MySQLサーバーの最適化

  • 各種パラメータ定数設定

  • クエリステートメントの最適化

  • マスター-スレーブ レプリケーション

  • ソフトウェアとハ​​ードウェアのアップグレード

  • 災害復旧とバックアップ

  • SQL プログラミング

  • 大企業では、上記の内容を記述するための専任の DBA さえも必要とします

2. MySQL Linux版のインストール

  • 今回はMySQL 5.5をインストールし、インストール環境はCentOS 6.5です

  • バージョンダウンロードアドレス公式サイトダウンロードアドレス

    • download

      MySQL-Clientおよび MySQL-Server

    • downloads.skysql.com/archives/mysql-5.5/MySQL-server-5.5.16-1.rhel4.i386.rpm

    • downloads.skysql.com/archives/mysql - 5.5/MySQL-client-5.5.16-1.rhel4.i386.rpm

    • downloads.skysql.com/archives/mysql-5.5/MySQL-devel-5.5.16-1.rhel4.i386.rpm

  • MySQL が現在のシステムにインストールされているかどうかを確認します

    • クエリ コマンド: rpm -qa|grep -i mysql

      rpm -qa|grep -i mysql

    • 删除命令:  rpm -e --nodeps RPM包全名

  • 安装mysql服务端(注意提示)

    • データベース アーキテクチャの概要

      设置密码提示

  • 安装mysql客户端

  • 查看MySQL安装时创建的mysql用户和mysql组

    • # cat /etc/passwd | grep mysql

    • # cat /etc/group | grep mysql

  • mysql服务的启+停

    • 查看字符集

    • 修改字符集,修改之前copy 的配置文件。(详细后续代码)

    • MySQL的安装位置

    • show variables like 'character%';

    • show variables like '%char%';

    • データベース アーキテクチャの概要

      字符集

    • 默认的是客户端和服务器都用了latin1,所以会乱码。

    • 在linux下查看安装目录 ps -ef|grep mysql

    • 拷贝当前5.5版本cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

    • 5.6版本  cp /usr/share/mysql/my-default.cnf /etc/my.cnf

    • #chkconfig mysql on   设置自动启动

    • # chkconfig --list | grep mysql   检查是否设置了自动启动

    • # /etc/init.d/mysql start

    • # /etc/init.d/mysql stop

    • 或者

    • #service mysql start

    • #service mysql stop

    • 查看MySQL启停状态:  # ps -ef | grep mysql

    • 削除コマンド: rpm -e - -nodeps RPM パッケージの完全名
    • mysqlサーバーをインストールします(

      ヒントに注意してください

      )
    • データベース アーキテクチャの概要

    • パスワードプロンプトを設定します

    • 🎜🎜mysql クライアントをインストールします🎜 🎜🎜🎜 MySQL のインストール中に作成された mysql ユーザーと mysql グループを表示します🎜🎜🎜🎜# cat /etc/passwd | grep mysql🎜🎜🎜🎜# cat /etc/group | mysql code>🎜🎜🎜🎜🎜mysql サービスの開始と停止🎜🎜🎜🎜🎜文字セットの表示🎜🎜🎜🎜 文字セットを変更し、以前にコピーした設定ファイルを変更します。 (以降のコードの詳細) 🎜🎜🎜🎜MySQL のインストール場所🎜🎜🎜🎜show variables like 'character%';🎜🎜🎜🎜show variables like '%char%'; コード>🎜🎜🎜

      データベース アーキテクチャの概要🎜

      文字セット🎜🎜🎜🎜デフォルトではクライアント、サーバーともにlatin1を使用しているため、文字化けが発生します。 🎜🎜🎜🎜Linux ps -ef|grep mysql でインストール ディレクトリを表示します🎜🎜🎜🎜現在の 🎜5.5 バージョンをコピーします🎜: cp /usr/share/mysql/my-huge。 cnf /etc/my.cnf🎜🎜🎜🎜🎜5.6 バージョン🎜 cp /usr/share/mysql/my-default.cnf /etc/my.cnf🎜🎜🎜🎜#chkconfig mysql on 自動起動を設定します🎜🎜🎜🎜# chkconfig --list grep mysql 自動起動が設定されているか確認します🎜🎜🎜🎜# /etc/init . d/mysql start🎜🎜🎜🎜# /etc/init.d/mysql stop🎜🎜🎜🎜 または 🎜🎜🎜🎜#service mysql start 🎜 🎜🎜#service mysql stop🎜🎜🎜🎜MySQL の開始および停止ステータスを表示する: # ps -ef | grep mysql🎜🎜🎜🎜 開始および停止操作: 🎜 🎜🎜🎜 MySQL 自己開始サービスをセットアップする🎜🎜🎜🎜 設定ファイルの場所を変更する🎜🎜🎜🎜 文字セットとデータストレージパスを変更する🎜

パス 説明 備考
/var/lib/mysql/ mysqlデータベースファイルの保存パス /var/lib/mysql/atguigu。クラウド.pid
/usr/share/mysql 設定ファイルディレクトリ mysql.serverコマンドと設定ファイル
/usr/bin 関連コマンドディレクトリ mysqldumpとその他​​のコマンド
/など/init .d/mysql 関連スクリプトの開始と停止

データベース アーキテクチャの概要

MySQLのインストール場所

[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock

# 这一行需要设置字符集
default-character-set=utf8

# The MySQL server
[mysqld]
port = 3306

# 还有这三行
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci

socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8

[mysql]
no-auto-rehash
# 还有这一行
default-character-set=utf8

3. Mysql設定ファイル

    バイナリログlog-bin
  • マスタースレーブレプリケーション
    • データベース アーキテクチャの概要


    • エラーログ log-error
  • はデフォルトでオフになっており、重大な警告やエラーメッセージ、各起動とシャットダウンの詳細情報などが記録されます。
    • クエリ ログ ログ
  • はデフォルトでオフになっており、オンにすると、ログの記録によりシステム リソースも消費されるため、mysql の全体的なパフォーマンスが低下します
    • データファイル
  • windows
    • Linux:
    • D:devSoftMySQLServer5.5dataディレクトリ 多くのライブラリを選択できます
    • デフォルトパス #cd /var/lib/mysql/ code>
    • #cd /var/lib/mysql/

    • 看看当前系统中的全部库后再进去 #ls -1F | grep ^d 現在のシステム内のすべてのライブラリを確認してから、#ls -1F grep ^d

    • 2つのシステム

    • frmファイルに移動しますテーブル構造

    • myd ファイル: テーブルデータの保存

    • myi ファイル: テーブルインデックスの保存

  • 設定方法

    • Windows: my.ini ファイル

    • Linux : /etc/my.cnf ファイル

4. MySQL 論理アーキテクチャの紹介

全体概要
  • 他のデータベースと比較すると、MySQL のアーキテクチャは、いくつかのデータベースに適用でき、優れた役割を果たします。さまざまなシナリオ。主にストレージ エンジンのアーキテクチャに反映されているプラ​​グイン ストレージ エンジン アーキテクチャは、クエリ処理を他のシステム タスクやデータの保存と抽出から分離します。このアーキテクチャにより、ビジネス ニーズと実際のニーズに基づいて適切なストレージ エンジンを選択できます。

    • データ ストレージ レイヤーは主に、raw デバイス上で実行されているファイル システムにデータを保存し、ストレージ エンジンとの対話を完了します。
    • ストレージ エンジン層。ストレージ エンジンは、MySQL でのデータの保存と取得を担当します。サーバーは API を介してストレージ エンジンと通信します。ストレージエンジンが異なれば機能も異なるため、実際のニーズに応じて選択できます。 MyISAM と InnoDB は後で紹介します
    • 第 2 層のアーキテクチャは主に、SQL インターフェイスなどのほとんどのコア サービス機能を完成させ、キャッシュされたクエリ、SQL 分析と最適化、およびいくつかの組み込み関数の実行を完了します。プロシージャ、関数など、すべてのクロスストレージ エンジン機能もこの層に実装されます。この層では、サーバーはクエリを解析して対応する内部解析ツリーを作成し、クエリ テーブルの順序の決定、インデックスを使用するかどうかなどの対応する最適化を完了し、最終的に対応する実行操作を生成します。それが select ステートメントの場合、サーバーは内部キャッシュにもクエリを実行します。キャッシュ領域が十分に大きい場合、多数の読み取り操作を処理する環境でシステムのパフォーマンスを大幅に向上させることができます。
    • 最上位層は、ローカル Sock 通信や、クライアント/サーバー ツールに基づくほとんどの tcp/ip に似た通信を含む、いくつかのクライアント サービスと接続サービスです。主に、いくつかの接続処理、認可認証、および関連するセキュリティ ソリューションを完了します。スレッド プールの概念がこの層に導入され、認証を通じて安全にアクセスするクライアントにスレッドを提供します。 SSL ベースの安全なリンクもこの層に実装できます。また、サーバーは、安全にアクセスする各クライアントに対してサーバーが持つ操作権限を検証します。
    • データベース アーキテクチャの概要


    • 1. サービス層

    • 3.
    • 4. ストレージ層
    • クエリの手順
    • まず、mysql クエリのプロセスは大まかに次のとおりです:

mysql クライアントは、プロトコルを通じて mysql サーバーとの接続を確立し、クエリ ステートメントを送信し、最初にクエリ キャッシュを確認します。ヒットした場合は結果を直接返します。そうでない場合は、ステートメントの解析
  • には、ステートメントが正しく記述されているかどうかのチェックなどの一連の前処理があり、クエリの最適化 (インデックス スキャンを使用するかどうかなど)これは不可能な条件です。早期に終了します)、クエリ プランを生成します。その後、クエリ エンジンが起動し、クエリの実行を開始し、基礎となるストレージ エンジンから API を呼び出してデータを取得し、最後にデータをクライアントに返します。データの保存方法とデータの取得方法はすべてストレージ エンジンに関係します。

  • そして、mysql はデフォルトで BTREE インデックスを使用し、一般的な方向としては、SQL をどのようにいじっても、少なくとも現時点では、mysql はテーブル内で最大 1 つのインデックスのみを使用することになります。

5 /code>

  • 現在の MySQL が提供するストレージ エンジンを確認してください

    • MySQL の現在のデフォルトのストレージ エンジンを確認してください:

      show variables like '%storage_engine%';

    • mysql> show engines;

    • 查看当前的MySQL 提供什么存储引擎

    • 看你的 MySQL 当前默认的存储引擎:

    • データベース アーキテクチャの概要

      默认的存储引擎

  • MyISAMInnoDB

    • データベース アーキテクチャの概要

      两种引擎对比

  • 阿里巴巴、淘宝用哪个

    • データベース アーキテクチャの概要


    • Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为。

    • 该公司新建了一款存储引擎叫xtradb完全可以替代innodb

      データベース アーキテクチャの概要

      デフォルトのストレージ エンジン

    • MyISAM
    InnoDB

    データベース アーキテクチャの概要

    2 つのエンジンの比較

    Alibaba と Taobao の場合、どちら

データベース アーキテクチャの概要
🎜


🎜🎜🎜🎜Percona は MySQL データベース サーバー用に改良されており、MySQL と比較して機能とパフォーマンスが大幅に向上しています。このバージョンでは、高負荷条件下での InnoDB のパフォーマンスが向上し、DBA に非常に便利なパフォーマンス診断ツールが提供され、サーバーの動作を制御するためのパラメーターとコマンドが追加されました。 🎜🎜🎜🎜同社は、xtradb🎜 と呼ばれる新しいストレージ エンジンを作成しました。これは、innodb🎜 を完全に置き換えることができ、より優れたパフォーマンスと同時実行性を実現します。 🎜🎜🎜🎜アリババの mysql データベースのほとんどは、実際には、変更を加えた percona のプロトタイプを使用しています。 🎜🎜🎜🎜【関連する推奨事項】🎜🎜1. 🎜無料のmysqlオンラインビデオチュートリアル🎜🎜🎜2. 🎜MySQLの最新マニュアルチュートリアル🎜🎜🎜3. 🎜ブール教育ヤンシバmysql入門ビデオチュートリアル🎜🎜🎜

以上がデータベース アーキテクチャの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
MySQLのデータベースアップグレードをどのように処理しますか?MySQLのデータベースアップグレードをどのように処理しますか?Apr 30, 2025 am 12:28 AM

MySQLデータベースをアップグレードする手順には次のものがあります。1。データベースをバックアップします。2。現在のMySQLサービスを停止します。3。MySQLの新しいバージョンをインストールします。アップグレードプロセス中に互換性の問題が必要であり、Perconatoolkitなどの高度なツールをテストと最適化に使用できます。

MySQLに使用できるさまざまなバックアップ戦略は何ですか?MySQLに使用できるさまざまなバックアップ戦略は何ですか?Apr 30, 2025 am 12:28 AM

MySQLバックアップポリシーには、論理バックアップ、物理バックアップ、増分バックアップ、レプリケーションベースのバックアップ、クラウドバックアップが含まれます。 1. Logical BackupはMySqldumpを使用してデータベースの構造とデータをエクスポートします。これは、小さなデータベースとバージョンの移行に適しています。 2.物理バックアップは、データファイルをコピーすることで高速かつ包括的ですが、データベースの一貫性が必要です。 3.インクリメンタルバックアップは、バイナリロギングを使用して変更を記録します。これは、大規模なデータベースに適しています。 4.レプリケーションベースのバックアップは、サーバーからバックアップすることにより、生産システムへの影響を減らします。 5. Amazonrdsなどのクラウドバックアップは自動化ソリューションを提供しますが、コストと制御を考慮する必要があります。ポリシーを選択するときは、データベースサイズ、ダウンタイム許容度、回復時間、および回復ポイントの目標を考慮する必要があります。

MySQLクラスタリングとは何ですか?MySQLクラスタリングとは何ですか?Apr 30, 2025 am 12:28 AM

mysqlclusteringenhancesdatabaserobustnessnessnessnessnessnistandistributiondistributingdataacrossmultiplenodes.itesthendbenginefordatareplication andfaulttolerance、保証highavailability.setupinvolvesconfiguringmanagement、data、ssqlnodes、carefulmonitoringringandpe

MySQLのパフォーマンスのためにデータベーススキーマ設計を最適化するにはどうすればよいですか?MySQLのパフォーマンスのためにデータベーススキーマ設計を最適化するにはどうすればよいですか?Apr 30, 2025 am 12:27 AM

MySQLのデータベーススキーマ設計の最適化は、次の手順を通じてパフォーマンスを改善できます。1。インデックス最適化:一般的なクエリ列にインデックスを作成し、クエリのオーバーヘッドのバランスをとり、更新を挿入します。 2。テーブル構造の最適化:正規化または反通常化によりデータ冗長性を削減し、アクセス効率を改善します。 3。データ型の選択:Varcharの代わりにINTなどの適切なデータ型を使用して、ストレージスペースを削減します。 4。パーティション化とサブテーブル:大量のデータボリュームの場合、パーティション化とサブテーブルを使用してデータを分散させてクエリとメンテナンスの効率を改善します。

MySQLのパフォーマンスをどのように最適化できますか?MySQLのパフォーマンスをどのように最適化できますか?Apr 30, 2025 am 12:26 AM

tooptimizemysqlperformance、soflowthesesteps:1)properindexingtospeedupqueries、2)useexplaintoanalyzeandoptimize Queryperformance、3)AductServerContingSettingStingsinginginnodb_buffer_pool_sizeandmax_connections、4)

データ処理と計算にMySQL関数を使用する方法データ処理と計算にMySQL関数を使用する方法Apr 29, 2025 pm 04:21 PM

MySQL関数は、データ処理と計算に使用できます。 1.基本的な使用には、文字列処理、日付計算、数学操作が含まれます。 2。高度な使用法には、複数の関数を組み合わせて複雑な操作を実装することが含まれます。 3.パフォーマンスの最適化では、Where句での機能の使用を回避し、GroupByおよび一時テーブルを使用する必要があります。

MySQLにデータを挿入する効率的な方法MySQLにデータを挿入する効率的な方法Apr 29, 2025 pm 04:18 PM

MySQLでデータを挿入するための効率的な方法には、次のものが含まれます。1。insertInto ...値構文、2。LoadDatainFileコマンドの使用、3。トランザクション処理の使用、4。バッチサイズの調整、5。Insurtignoreまたは挿入の使用...

フィールドをMySQLテーブルに追加および削除する手順フィールドをMySQLテーブルに追加および削除する手順Apr 29, 2025 pm 04:15 PM

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。