Nagios Add a custom monitoring project++++++++++++++++++++++++++++++++++++++++++++++++++++++++++System Environment: CentOS Linux release 7.2.1511 (Core)Nagios Version: 2.15Here with the Pt-dead-logger plug-in, run the plug-in, there will be a deadlock in the Test.deadlocks table to write the deadlock informationThis is done by detecting if the table has increased the number of rows to send an alarm.Nagios C
First, the preface
MySQL InnoDB, support transaction and row level lock, can use row lock to handle the business such as user's mentioning. The use of MySQL locks sometimes deadlock, to do a good job of deadlock prevention.
Second, MySQL row-level lock
Row-level locks are
If a deadlock occurs, how can this problem be solved? Find the original lock ID and KILL the thread that has been held all the time. But how can we find the thread ID that causes the deadlock among many threads? Since MySQL has developed
If a deadlock occurs, how can this problem be solved? Find the original lock ID a
1. Test descriptionEnvironment Description: RHEL 6.4 x86_64 + MySQL 5.5.37, transaction ISOLATION level RCTest table:Mysql> Show CREATE TABLE t1\g*************************** 1. Row *************************** table:t1create table:create Table ' t1 ' ( ' a ' int (one) not NULL DEFAULT ' 0 ', ' B ' int (one) default NULL, PRIMARY key (' a '), key ' B ' (' B ')) Engine=innodb default charset=utf81 row in Set (0.00 SE CTo test the data in the ta
Use MySQLInnoDB engine lock mechanism to solve deadlocks:
When I used Show innodb status to check the engine status, I found a deadlock problem:
* ** (1) TRANSACTION:
TRANSACTION 0 677833455, ACTIVE 0 sec, process no 11393, OS thread id 278546 starting index read
Mysql tables in use 1, locked 1
LOCK wait3 lock struct (s), heap size 320
MySQL thread id 83, query
not locked.
The following is the deadlock caused by the MySQL for update.
After analysis, MySQL's InnoDB storage Engine practice Lock is a lock line, but it is locked internally, depending on whether the value of the Where condition and select is only primary KEY or Non-key key index to determine how the lock, such as only the primary key, the lock primary key index, if only a Non-key key, then the lock
Find the original MySQL deadlock ID. If a deadlock occurs, how can this problem be solved? Find the original lock ID and KILL the thread that has been held all the time. But how can we find the thread ID that causes the deadlock among many threads? MySQL has been very powerf
Tags: rapid technology mass detection mys products no coffee failureThis article mainly introduced the MySQL database lock generation reason and the solution, needs the friend can refer to the nextThe database, like the operating system, is a shared resource used by multiple users. When multiple users access data concurrently, in the database, multiple transactions are generated concurrently to access the same data. If the concurrency operation is not
For deadlocks, MySQL does not provide a direct variable to represent. For the 5.5 version of Performance_shcema can provide the details of the lock (but we are still 5.0), for Innodb's own monitor innodb_lock_monitor its output is always output to the error log, inconvenient to compare.
I monitor the use of Zabbix, using the agent passive way to Zabbix server to transfer data. Script for Shell, with show InnoDB status redirect
Core code:
Detect if
Tags: disk will also analyze SRC Backup engine tree image BestCase descriptionDuring a timed script run, MySQL detects a deadlock and prints out a log when the SQL statement that backs up the table runs concurrently with the SQL statement that deletes the data from the table.The two SQL statements are as follows:(1) INSERT INTO backup_table select * from source_table(2) DELETE from source_table WHERE id>5 a
Tags: mysqlMySQL Deadlock etc 6 combat problems solved Directory:
Unlocking after the lock table
MySQL connection number is not enough
MySQL Root password modification
Password is correct but not logged in
0 issues with DateTime types
View Table Footprint
Unlocking after the lock tableWhen you do a DML operation on a table, it
This article mainly introduced the MySQL database lock generation reason and the solution, needs the friend can refer to the nextThe database, like the operating system, is a shared resource used by multiple users. When multiple users access data concurrently, in the database, multiple transactions are generated concurrently to access the same data. If the concurrency operation is not controlled, it is possible to read and store incorrect data and com
for a transaction2. Exclusive Lock: X Lock: SELECT * FROM Test where ... for update; An exclusive read-write lock on one row for a transactionTwo1. View the Deadlock log command: show engine InnoDB status \g; Specific deadlock reference: 1190000009469556Session 1:SELECT * FROM test where id = 1 for update;Session 2:Update Test Set name = "QQ" WHERE id = 1;When Session1 and Session2 are running simultaneou
Tags: ima commit res foreign thread CTS blog Wait baseReprint Address: http://yueliangdao0608.blog.51cto.com/397025/1180917 If you encounter a deadlock, how to solve it? Find the original lock ID, and then kill the thread that has been holding it, but how many threads can find the thread ID that caused the deadlock? MySQL has evolved to the present, is very stron
This article describes how to find the deadlock ID in the MySQL thread, mainly from the data dictionary. For more information, see. If a deadlock occurs, how can this problem be solved? Find the original lock ID and KILL the thread that has been held all the time. but how can we find the thread ID that causes the deadlock
On a high-concurrency MySQL server, transactions will recursively detect deadlocks. When the depth is exceeded, the performance decline will become unacceptable. FACEBOOK has long proposed to prohibit deadlocks.
On a high-concurrency MySQL server, transactions will recursively detect deadlocks. When the depth is exceeded, the performance decline will become unacceptable. FACEBOOK has long proposed to prohi
Mysql deadlock caused by full disk
Today, I encountered a problem because the disk of the machine where mysql is located is full, leading to a mysql deadlock and not even querying the select statement. If I did not read the mysql
Label:Today, there is a problem, because the MySQL machine's disk is full to cause the MySQL deadlock, even the query select can not, but to look at the MySQL log, I really can not find the reason. By show Processlist you can see that the first is an UPDATE statement that requires writing data because the disk is full
without concurrency, because each transaction is executed serially in MySQL, there are no other transactions in the middle at the same time; when the concurrency is high, the order of statements actually run in MySQL may change to the following:
Tx_num time statement
111 2011-12-12 10:00:00 Delete from ts_column_log_test wherecol_id = 10;
222 2011-12-12:00:00 Delete from ts_column_log_test where col_id = 1
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.