Tutorial on using Mysqladmin to detect MySQL running status

Source: Internet
Author: User
Tags count printf

This article mainly introduces the use of Mysqladmin to detect MySQL running state of the tutorial, including mysqladmin tools simple awk use, the need for friends can refer to the

Mysqladmin is an important client of MySQL, the most common is to use it to close the database, in addition to this command can also understand the running state of MySQL, process information, process killing and so on. This article describes how to use the Mysqladmin extended-status (because there is no "ambiguity", so you can use Ext instead) to understand the running state of MySQL.

1. Use-r/-i parameter

Using the mysqladmin extended-status command, you get all the MySQL performance metrics, the output of show global status, but because most of these metrics are cumulative, you need to perform a margin calculation if you want to know the current state. This is an additional feature of Mysqladmin extended-status, very practical. The default, using Extended-status, see also cumulative value, but, plus the parameter-R (--relative), you can see the difference between the indicators, with the parameter-I (--sleep) can specify the frequency of the refresh, then like the following command:

?

1 2 3 4 5 6 7 8 9 10 Mysqladmin-uroot-r-I 1-pxxx extended-status +------------------------------------------+----------------------+ | variable_name | Value | +------------------------------------------+----------------------+ | aborted_clients | 0 | | Com_select | 336 | | Com_insert | 243 | ...... | threads_created | 0 | +------------------------------------------+----------------------+

2. Use with grep

Together with grep, we have:

?

1 2 3 4 5 6 7 8 9 10 11 12-13 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. In conjunction with simple awk

Use awk to output time information simultaneously:

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 The mysqladmin-uroot-p-h127.0.0.1-p3306-r-I 1 ext | Awk-f "|" ' {if ($ ~/variable_name/) {print ' <-------------' strftime ('%h:%m:%s ') '-------------> ';} if ($ ~/questions| queries| innodb_rows| Com_select | Com_insert | Com_update | Com_delete | innodb_buffer_pool_read_requests/) print $ $; } ' <-------------12:38:49-------------> Com_delete 0 com_insert 0 com_select 0 com_update 0 Innodb_buffer_pool_rea 589 innodb_rows_deleted 0 innodb_rows_inserted 2 innodb_rows_read d_requests innodb_rows_updated NS 1 <-------------12:38:50-------------> Com_delete 0 com_insert 0 com_select 0 com_update 0 Innodb_buffer_pool_r Ead_requests 1814 innodb_rows_deleted 0 innodb_rows_inserted 0 innodb_rows_read 8 innodb_rows_updated 8 Queries Questio NS 1

4. With a complex awk

It's not easy anyway, it's a little bit more complicated, so the output is a bit more friendly because awk doesn't support dynamic variables, so the code looks more complicated:

?

1, 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 mysqladmin-p3306-uroot-p-h127.0.0.1-r-I 1 ext | awk-f "|" "Begin{count=0;}" ' {if ($ ~/variable_name/&& (++count)%20 = 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 ($ ~/queries/) {queries=$3} else if ($ ~/com_select/) {com_select=$3;} else if ($ ~/com_insert/) {Com_inse rt=$3;} else if ($ ~/com_update/) {com_update=$3} else if ($ ~/com_delete/) {com_delete=$3;} else if ($ ~/innodb_rows_read/ ) {innodb_rows_read=$3;} else if ($ ~/innodb_rows_deleted/) {innodb_rows_deleted=$3} else if ($ ~/innodb_rows_inserted/) {Innodb_rows_ inserted=$3;} else if ($ ~/innodb_rows_updated/) {innodb_rows_updated=$3} else if ($ ~/innodb_buffer_pool_read_requests/) {innodb_ lor=$3;} else if ($ ~/innodb_buffer_pool_reads/) {innodb_phr=$3} else if ($ ~ /uptime/&& Count >= 2) {printf ("%s |%9d", Strftime ("%h:%m:%s"), queries); printf ("|%6d%6d%6d%6d", Com_selec T,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%11dn", 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

That's it, these commands to use more of their own, readily shared out

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.