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
削除コマンド: - 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 自己開始サービスをセットアップする🎜🎜🎜🎜 設定ファイルの場所を変更する🎜🎜🎜🎜 文字セットとデータストレージパスを変更する🎜
rpm -e - -nodeps RPM パッケージの完全名
パスワードプロンプトを設定します
パス | 説明 | 備考 |
---|---|---|
/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 の全体的なパフォーマンスが低下します
- 。 データファイル
- 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 のアーキテクチャは、いくつかのデータベースに適用でき、優れた役割を果たします。さまざまなシナリオ。主にストレージ エンジンのアーキテクチャに反映されているプラグイン ストレージ エンジン アーキテクチャは、クエリ処理を他のシステム タスクやデータの保存と抽出から分離します。このアーキテクチャにより、ビジネス ニーズと実際のニーズに基づいて適切なストレージ エンジンを選択できます。
- ストレージ エンジン層。ストレージ エンジンは、MySQL でのデータの保存と取得を担当します。サーバーは API を介してストレージ エンジンと通信します。ストレージエンジンが異なれば機能も異なるため、実際のニーズに応じて選択できます。 MyISAM と InnoDB は後で紹介します
- 第 2 層のアーキテクチャは主に、SQL インターフェイスなどのほとんどのコア サービス機能を完成させ、キャッシュされたクエリ、SQL 分析と最適化、およびいくつかの組み込み関数の実行を完了します。プロシージャ、関数など、すべてのクロスストレージ エンジン機能もこの層に実装されます。この層では、サーバーはクエリを解析して対応する内部解析ツリーを作成し、クエリ テーブルの順序の決定、インデックスを使用するかどうかなどの対応する最適化を完了し、最終的に対応する実行操作を生成します。それが select ステートメントの場合、サーバーは内部キャッシュにもクエリを実行します。キャッシュ領域が十分に大きい場合、多数の読み取り操作を処理する環境でシステムのパフォーマンスを大幅に向上させることができます。
- 最上位層は、ローカル Sock 通信や、クライアント/サーバー ツールに基づくほとんどの tcp/ip に似た通信を含む、いくつかのクライアント サービスと接続サービスです。主に、いくつかの接続処理、認可認証、および関連するセキュリティ ソリューションを完了します。スレッド プールの概念がこの層に導入され、認証を通じて安全にアクセスするクライアントにスレッドを提供します。 SSL ベースの安全なリンクもこの層に実装できます。また、サーバーは、安全にアクセスする各クライアントに対してサーバーが持つ操作権限を検証します。
-
- 1. サービス層
-
4. ストレージ層
-
クエリの手順
まず、mysql クエリのプロセスは大まかに次のとおりです:
- データ ストレージ レイヤーは主に、raw デバイス上で実行されているファイル システムにデータを保存し、ストレージ エンジンとの対話を完了します。
- には、ステートメントが正しく記述されているかどうかのチェックなどの一連の前処理があり、クエリの最適化 (インデックス スキャンを使用するかどうかなど)これは不可能な条件です。早期に終了します)、クエリ プランを生成します。その後、クエリ エンジンが起動し、クエリの実行を開始し、基礎となるストレージ エンジンから API を呼び出してデータを取得し、最後にデータをクライアントに返します。データの保存方法とデータの取得方法はすべてストレージ エンジンに関係します。
そして、mysql はデフォルトで BTREE インデックスを使用し、一般的な方向としては、SQL をどのようにいじっても、少なくとも現時点では、mysql はテーブル内で最大 1 つのインデックスのみを使用することになります。
5 /code>
現在の MySQL が提供するストレージ エンジンを確認してください
- MySQL の現在のデフォルトのストレージ エンジンを確認してください:
show variables like '%storage_engine%';
mysql> show engines;
查看当前的MySQL 提供什么存储引擎
看你的 MySQL 当前默认的存储引擎:
-
默认的存储引擎
MyISAM
和InnoDB
-
两种引擎对比
阿里巴巴、淘宝用哪个
-
Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为。
-
该公司新建了一款存储引擎叫
xtradb
完全可以替代innodb
デフォルトのストレージ エンジン
MyISAM
InnoDB
2 つのエンジンの比較
🎜
🎜🎜🎜🎜Percona は MySQL データベース サーバー用に改良されており、MySQL と比較して機能とパフォーマンスが大幅に向上しています。このバージョンでは、高負荷条件下での InnoDB のパフォーマンスが向上し、DBA に非常に便利なパフォーマンス診断ツールが提供され、サーバーの動作を制御するためのパラメーターとコマンドが追加されました。 🎜🎜🎜🎜同社は、xtradb
🎜 と呼ばれる新しいストレージ エンジンを作成しました。これは、innodb
🎜 を完全に置き換えることができ、より優れたパフォーマンスと同時実行性を実現します。 🎜🎜🎜🎜アリババの mysql データベースのほとんどは、実際には、変更を加えた percona のプロトタイプを使用しています。 🎜🎜🎜🎜【関連する推奨事項】🎜🎜1. 🎜無料のmysqlオンラインビデオチュートリアル🎜🎜🎜2. 🎜MySQLの最新マニュアルチュートリアル🎜🎜🎜3. 🎜ブール教育ヤンシバmysql入門ビデオチュートリアル🎜🎜🎜
以上がデータベース アーキテクチャの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

ホットトピック









