(转)使用mysqladmin ext了解MySQL运行状态 http://www.orczhou.com/index.php/2014/03/some-tricky-about-mysqladmin-extended-status/ mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态、进程信息、
(转)使用mysqladmin ext了解MySQL运行状态http://www.orczhou.com/index.php/2014/03/some-tricky-about-mysqladmin-extended-status/
mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态、进程信息、进程杀死等。本文介绍一下如何使用mysqladmin extended-status(因为没有"歧义",所以可以使用ext代替)了解MySQL的运行状态。
使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,如果想了解当前的状态,则需要进行一次差值计算,这就是mysqladmin extended-status的一个额外功能,非常实用。默认的,使用extended-status,看到也是累计值,但是,加上参数-r(--relative),就可以看到各个指标的差值,配合参数-i(--sleep)就可以指定刷新的频率,那么就有如下命令:
mysqladmin -uroot -r -i 1 -pxxx extended-status
+------------------------------------------+----------------------+
| Variable_name | Value |
+------------------------------------------+----------------------+
| Aborted_clients | 0 |
| Com_select | 336 |
| Com_insert | 243 |
......
| Threads_created | 0 |
+------------------------------------------+----------------------+
2. 配合grep使用
配合grep使用,我们就有:
mysqladmin -uroot -r -i 1 -pxxx extended-status \
|grep "Questions\|Queries\|Innodb_rows\|Com_select \|Com_insert \|Com_update \|Com_delete "
| Com_delete | 1 |
| Com_delete_multi | 0 |
| Com_insert | 321 |
| Com_select | 286 |
| Com_update | 63 |
| Innodb_rows_deleted | 1 |
| Innodb_rows_inserted | 207 |
| Innodb_rows_read | 5211 |
| Innodb_rows_updated | 65 |
| Queries | 2721 |
| Questions | 2721 |
3 3. 配合简单的awk使用
使用awk,同时输出时间信息:
mysqladmin -uroot -p -h127.0.0.1 -P3306 -r -i 1 ext |\
awk -F"|" '{\
if($2 ~ /Variable_name/){\
print " ";\
}\
if($2 ~ /Questions|Queries|Innodb_rows|Com_select |Com_insert |Com_update |Com_delete |Innodb_buffer_pool_read_requests/)\
print $2 $3;\
}'
Com_delete 0
Com_insert 0
Com_select 0
Com_update 0
Innodb_buffer_pool_read_requests 589
Innodb_rows_deleted 0
Innodb_rows_inserted 2
Innodb_rows_read 50
Innodb_rows_updated 50
Queries 105
Questions 1
Com_delete 0
Com_insert 0
Com_select 0
Com_update 0
Innodb_buffer_pool_read_requests 1814
Innodb_rows_deleted 0
Innodb_rows_inserted 0
Innodb_rows_read 8
Innodb_rows_updated 8
Queries 17
Questions 1
4
. 配合复杂一点的awk
反正也不简单了,那就更复杂一点,这样让输出结果更友好点,因为awk不支持动态变量,所以代码看起来比较复杂:
mysqladmin -P3306 -uroot -p -h127.0.0.1 -r -i 1 ext |\
awk -F"|" \
"BEGIN{ count=0; }"\
'{ if($2 ~ /Variable_name/ && ++count == 1){\
print "----------|---------|--- MySQL Command Status --|----- Innodb row operation ----|-- Buffer Pool Read --";\
print "---Time---|---QPS---|select insert update delete| read inserted updated deleted| logical physical";\
}\
else if ($2 ~ /Queries/){queries=$3;}\
else if ($2 ~ /Com_select /){com_select=$3;}\
else if ($2 ~ /Com_insert /){com_insert=$3;}\
else if ($2 ~ /Com_update /){com_update=$3;}\
else if ($2 ~ /Com_delete /){com_delete=$3;}\
else if ($2 ~ /Innodb_rows_read/){innodb_rows_read=$3;}\
else if ($2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=$3;}\
else if ($2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=$3;}\
else if ($2 ~ /Innodb_rows_updated/){innodb_rows_updated=$3;}\
else if ($2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=$3;}\
else if ($2 ~ /Innodb_buffer_pool_reads/){innodb_phr=$3;}\
else if ($2 ~ /Uptime / && count >= 2){\
printf(" %s |%9d",strftime("%H:%M:%S"),queries);\
printf("|%6d %6d %6d %6d",com_select,com_insert,com_update,com_delete);\
printf("|%6d %8d %7d %7d",innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted);\
printf("|%10d %11d\n",innodb_lor,innodb_phr);\
}}'
----------|---------|--- MySQL Command Status --|----- Innodb row operation ----|-- Buffer Pool Read --
---Time---|---QPS---|select insert update delete| read inserted updated deleted| logical physical
10:37:13 | 2231| 274 214 70 0| 4811 160 71 0| 4146 0
10:37:14 | 2972| 403 256 84 23| 2509 173 85 23| 4545 0
10:37:15 | 2334| 282 232 66 1| 1266 154 67 1| 3543 0
10:37:15 | 2241| 271 217 66 0| 1160 129 66 0| 2935 0
10:37:17 | 2497| 299 224 97 0| 1141 149 95 0| 3831 0
10:37:18 | 2871| 352 304 74 23| 8202 226 73 23| 6167 0
10:37:19 | 2441| 284 233 82 0| 1099 121 78 0| 3292 0
10:37:20 | 2342| 279 242 61 0| 1083 224 61 0| 3366 0

mysqlhandlesconcurrencyusing amixofrow-levelandtable-levellocking、主にthroughnodb'srow-levellocking.comparedtootherrdbms、mysqlのsapproachiseformanyusecasesecasesbutmayfaceChallengeswithdeadlockdlacklikeRisikErisikErikErikErikErikErikErikErikErikErikErikErikErikErikErikeを使用してください

mysqlhandlestransactionsefectivectivelivationtivelivational supportingingacidpropertiessimilArtopostgreslesclandoracle.1)mysqluseSesrepeatable-readededededededededededefaultisolation level

MySQLデータ型は、数値、日付と時刻、文字列、バイナリ、空間型に分割されます。正しいタイプを選択すると、データベースのパフォーマンスとデータストレージを最適化できます。

ベストプラクティスには以下が含まれます。1)データ構造とMySQL処理方法の理解、2)適切なインデックス作成、3)SELECT*、4)適切な結合タイプの使用、5)サブQueriesを使用して、5)慎重に使用します。これらのプラクティスは、MySQLクエリを高速であるだけでなく、保守性、スケーラビリティ、リソース効率もすることができます。

mysqlisbetterforspeedandsimplicity、適切なforwebapplications; postgresqlexcelsincomplexdatascenararios withobustfeatures.mysqlisidealforquickprojectsandread-havytasks、whilepostgressqlessqlispreredforforivationsRedictrictiontrictdateinitegriTinitegriTiontegriTioniitaintegrategrisioniationegrisioniaty

MySQLは、非同期、半同期、およびグループ複製の3つのモードを介してデータの複製を処理します。 1)非同期の複製パフォーマンスは高くなりますが、データが失われる可能性があります。 2)半同期複製により、データセキュリティが向上しますが、遅延が増加します。 3)グループレプリケーションは、高可用性要件に適したマルチマスターレプリケーションとフェールオーバーをサポートします。

説明ステートメントは、SQLクエリのパフォーマンスを分析および改善するために使用できます。 1.説明ステートメントを実行して、クエリプランを表示します。 2。出力結果を分析し、アクセスの種類、インデックスの使用量に注意し、順序を結合します。 3.分析結果に基づいてインデックスを作成または調整し、結合操作を最適化し、フルテーブルスキャンを回避してクエリ効率を向上させます。

論理バックアップにMySQLDUMPとホットバックアップにMySQLenterPriseBackupを使用することは、MySQLデータベースをバックアップする効果的な方法です。 1. mysqldumpを使用してデータベースをバックアップします:mysqldump-uroot-pmydatabase> mydatabase_backup.sql。 2。ホットバックアップにmysqlenterprisebackupを使用:mysqlbackup - user = root-password = password - backup-dir =/path/to/backupbackup。回復するときは、対応する寿命を使用します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

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

SublimeText3 中国語版
中国語版、とても使いやすい

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ホットトピック









