はじめに: 風速計は、MySQL の遅いログをグラフィカルに表示するツールです。風速計を pt-query-digest と組み合わせると、スロー クエリ ログの分析に簡単に役立ち、どの SQL を最適化する必要があるかを簡単に見つけることができます。<br>
これは、MySQL Slow である Box Anemometer です。 Query Monitor: このツールは、MySQL インスタンスから収集された低速クエリ ログを分析し、問題のあるクエリを特定するために使用されます
関連学習の推奨事項:PHP プログラミングの入門から熟練度まで
環境の概要<br>
この記事の執筆時点では、最新バージョンの percona-toolkit 3.0.10 を使用してください。 example<br>mysql データベースの対応するバージョンは 5.7.21 で、バイナリ インストール <br>http と php は両方ともシステム CentOS Linux リリース 7.4.1708 (コア)
の組み込みバージョンです。インストールする必要がある手順は次のとおりです。
1.Percona-toolkit ツールのインストール
2.php Web 環境の構築とインストール
3.風速計と設定
4.スロー クエリ ログのインポート
5. インターフェイスにアクセスし、スロー クエリを表示します
##6. その他の関連および問題解決#0. 全体的なアーキテクチャ
<br>
#1. percona ツールキットのインストールインストールの目的: pt-query-digest は percona - ツールキット内のツールです。その機能は、スロー クエリ ログを分析し、MySQL スロー クエリ ログの統計を収集し、わかりやすい方法で表示することです
<br>ダウンロードアドレス: https://www.percona.com/downloads/percona-toolkit/
インストール方法 (rpm):<br>1.パッケージをダウンロードします (
wget https://www.percona.com/downloads/percona-toolkit/3.0.10/binary/redhat/7/x86_64/percona-toolkit-3.0.10-1.el7.x86_64)。 rpm2. 依存関係をインストールします。
3. 正式なインストール、
<br>4. インストール完了の確認、
<br>1. パッケージをダウンロードします。 ,
wget https://www.percona.com/downloads/percona-toolkit /3.0.10/binary/tarball/percona-toolkit-3.0.10_x86_64.tar.gz#2. 依存関係をインストールします。<br>yum install perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL perl-Digest-MD5 -y
<br>3. を解凍します。パッケージ、
tar xf percona-toolkit-3.0.10_x86_64.tar.gz
4. ツールを直接使用します、<br> ./percona-toolkit-3.0.10/ bin/pt-query-digest --version
<br>
##インストール目的: 風速計は LAMP 環境に依存する必要があります LAMP 環境のインストール: 1. apache をインストールし、
yum install httpd httpd-devel -y<br>2. php をインストールします。 <br>yum install php php-mysql php-common php-bcmath php-dba php-cli php-gd php-mbstring php-mcrypt php-devel php-xml php-pdo -y 3. タイムゾーンを変更します。<br>vim /etc/php.ini
を <br> date.timezone = PRC
LAMP 環境の起動:
1 に変更します。 . 開始、
systemctl start httpd
2. シャットダウン、<br>systemctl stop httpd3. 再起動、<br>systemctl restart httpd
4. 表示, <br>systemctl status httpd
<br>
##3. 風速計のインストールと設定
1. ダウンロードしてインストールします: インストールの目的: 風速計アプリケーションをインストールします ダウンロード アドレス: https://github.com/box/Anemometer
パッケージをダウンロード: <br>git clone https://github.com/box/Anemometer. git<br>対応するパスに移動します:
mv Anemometer /var/www/html/anemometer<br>2. 風速計ホストの対応する権限を、ターゲットの低速クエリに付与する必要があります。データベース。
1. 目的、ターゲットの低速クエリ データベースを分析し、実行計画を説明するために使用されます。 <br>2. 権限、grant select on *.* を '123456 で識別される '風速計'@'$ip' に与えます。 ';フラッシュ権限
; ($ip は風速計ホストに対応する IP アドレスです) <br>3. 設定ファイルを変更し、ユーザーのパスワード情報を読み取るための Explain を追加します<br> cp conf/sample.config.inc .php conf/config.inc.php vim conf/config.inc.php\\<br><br>
##4. 設定ファイルを変更する データ ソース ファイル vim を指定します。 conf/datasource_localhost.inc.php、もちろん、直接 vim conf/config.inc.php
することもできます。
5、初始化数据源的数据库表的配置,mysql -uroot -p123456 -h127.0.0.1 -P5700
4. 导入慢查询日志
1、慢查询主机推送格式
For pt-query-digest version < 2.2 $ pt-query-digest --user=anemometer --password=superSecurePass \ --review h=db.example.com,D=slow_query_log,t=global_query_review \ --review-history h=db.example.com,D=slow_query_log,t=global_query_review_history \ --no-report --limit=0% \ --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" \ /var/lib/mysql/db.example.com-slow.log For pt-query-digest version >= 2.2 $ pt-query-digest --user=anemometer --password=superSecurePass \ --review h=db.example.com,D=slow_query_log,t=global_query_review \ --history h=db.example.com,D=slow_query_log,t=global_query_review_history \ --no-report --limit=0% \ --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" \ /var/lib/mysql/db.example.com-slow.log
2、慢查询主机推动脚本示例
#config anemometer server, the purpose is to push slow query to the remote anemometer server and store it. anemometer_host="127.0.0.1" anemometer_user="root" anemometer_password="123456" anemometer_port=5700 anemometer_db="slow_query_log" #config mysql server, the purpose is to get the path of the slow query log. mysql_client="/usr/local/mysql-5.7.21/bin/mysql" mysql_user="root" mysql_password="123456" mysql_socket="/tmp/mysql_5700.sock" mysql_port=5700 #config slowqury dir to cd, and then delete the expired slow query file. slowquery_dir="/data/mysql_$mysql_port/" #get the path of the slow query log. slowquery_file=`$mysql_client -u$mysql_user -p$mysql_password -S $mysql_socket -e "show variables like 'slow_query_log_file'"|grep log|awk '{print $2}'` pt_query_digest="/data/percona-toolkit-3.0.10/bin/pt-query-digest" #collect mysql slowquery log into lepus database. $pt_query_digest --user=$anemometer_user --password=$anemometer_password --port=$anemometer_port --review h=$anemometer_host,D=$anemometer_db,t=global_query_review --history h=$anemometer_host,D=$anemometer_db,t=global_query_review_history --no-report --limit=0% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME:$mysql_port\"" $slowquery_file #generate a new slow query log, the below is generate a new slow file per hour. tmp_log=`$mysql_client -u$mysql_user -p$mysql_password -S $mysql_socket -e "select concat('$slowquery_dir','slowquery_',date_format(now(),'%Y%m%d%H'),'.log');"|grep log|sed -n -e '2p'` #use new slow file to config mysql slowquery $mysql_client -u$mysql_user -p$mysql_password -S $mysql_socket -e "set global slow_query_log = 0;set global slow_query_log_file = '$tmp_log';" $mysql_client -u$mysql_user -p$mysql_password -S $mysql_socket -e "set global slow_query_log = 1; " #delete slow query file before 2 days cd $slowquery_dir /usr/bin/find ./ -name 'slowquery_*.log' -mtime +2|xargs rm -rf ; ####END####
5. 访问界面,查看慢查询
http://$ip/anemometer/ ($ip为Anemometer主机对应ip地址)
<br>
6、其他相关和问题解决
1、对于anemometer的主机上,需要进行慢查询主机hostname和ip的映射(修改/etc/hosts进行配置),目的在于慢查询explain执行计划的目标主机解析<br>#collect mysql slowquery log into lepus database步骤中,$HOSTNAME:$mysql_port<br>数据库存取的格式,hostname_max类似这种,cnwangdawei:5700<br>2、中文乱码的问题,在#collect mysql slowquery log into lepus database步骤中添加 --charset=utf8<br>3、慢查询主机数据库是5.7版本的数据库,可能出现界面ts_cnt不显示,替换percona toolkit为新版本,2.x.x -----> 3.x.x<br>4、表结构和状态字符集显示乱码,添加mysqli的字符集设定,vim /var/www/html/anemometer/lib/QueryExplain.php
<br>新增(194行后增加),$this->mysqli->query("set names utf8");
<br>
以上が風速計はMySQLスローログツール構築と使用例分析をグラフィカルに表示の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

MySQLユーザーを追加する方法を習得することは、データベース管理者と開発者にとって重要です。これは、データベースのセキュリティとアクセス制御を保証するためです。 1)CreateUserコマンドを使用して新しいユーザーを作成し、2)付与コマンドを介してアクセス許可を割り当て、3)FlushPrivilegesを使用してアクセス許可を有効にすることを確認します。

choosecharforfixed-lengthdata、varcharforvariable-lengthdata、andtextforlargetextfields.1)chariseffienceforconsistent-lengthdatalikecodes.2)varcharsuitsvariaible-lengthdatalikenames、balancingflexibilityandperformance.3)Textisidealforforforforforforforforforforforidex

MySQLの文字列データ型とインデックスを処理するためのベストプラクティスには、次のものが含まれます。1)固定長のchar、可変長さのvarchar、大規模なテキストのテキストなどの適切な文字列タイプを選択します。 2)インデックス作成に慎重になり、インデックスを避け、一般的なクエリのインデックスを作成します。 3)プレフィックスインデックスとフルテキストインデックスを使用して、長い文字列検索を最適化します。 4)インデックスを定期的に監視および最適化して、インデックスを小さく効率的に保つ。これらの方法により、読み取りと書き込みのパフォーマンスをバランスさせ、データベースの効率を改善できます。

toaddauserremotelytomysql、フォローステープ:1)connecttomysqlasroot、2)createanewuserwithremoteaccess、3)grantniverayprivileges、and4)flushprivileges.

tostorestringseffiedlyinmysql、choosetherightdatatypebasedonyourneadss:1)usecharforfixed-lengthstringslikecountrycodes.2)usevarforvariable-lengthstringslikenames.3)usetextfor forlong-formtextcontent.4)useblobforborikedalikeimages

MySQLのBLOBおよびテキストデータ型を選択する場合、BLOBはバイナリデータの保存に適しており、テキストはテキストデータの保存に適しています。 1)BLOBは、写真やオーディオなどのバイナリデータに適しています。2)テキストは、記事やコメントなどのテキストデータに適しています。選択するときは、データプロパティとパフォーマンスの最適化を考慮する必要があります。

いいえ、Youは、usotherootuserinmysqlforyourproduct.instead、createpificusers withlimitedprivilegestoenhancesecurityandperformance:1)createanewuserwithastrongpassword、2)grantonlynlyneversearpermissionStothisuser、3)正規環境筋肉筋周辺の環境

mysqlstringdatatypesshouldbechosenbadedatacharacteristicsandusecases:1)usecharforfixed-lengthstringslikecountrycodes.2)usevarforvariable-lengthstringslikenames.3)usebinaryorvarniaryforbinarydatalikecryptograpograpogrationckeys.4)使用


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
