Innodb plugin in MySQL 5.1
-
Upload
giuseppe-maxia -
Category
Technology
-
view
2.914 -
download
3
description
Transcript of Innodb plugin in MySQL 5.1
INNODB
InnoDB Plugin in MySQL 5.1Giuseppe Maxia
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.Friday, December 10, 2010
Missed announcement
• A GA release
• As of MySQL 5.1.47
• The InnoDB plugin is GA
• Ready to use for immediate gains
Friday, December 10, 2010
5.1
INNODB1.0.9
Friday, December 10, 2010
5.1
INNODB1.0.9
Friday, December 10, 2010
INFORMATION SCHEMA table plugin
INFORMATION SCHEMA table plugin
INFORMATION SCHEMA table plugin
INFORMATION SCHEMA table plugin
MySQL Server
InnoDB plugin
Friday, December 10, 2010
Installation (1)my.cnf
[mysqld]plugin_dir = /usr/local/mysql/lib/pluginignore_builtin_innodbplugin-load=innodb=ha_innodb_plugin.sodefault-storage-engine=InnoDBinnodb_file_per_table=1innodb_file_format=barracudainnodb_strict_mode=1
Friday, December 10, 2010
Installation (1a)my.cnf
[mysqld]plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so#(all in one line with no spaces)
Friday, December 10, 2010
Installation (2)SET GLOBAL innodb_fast_shutdown=0;
RESTART the server
Friday, December 10, 2010
Installation - 2nd method (1)my.cnf
[mysqld]ignore_builtin_innodb
Friday, December 10, 2010
Installation - 2nd method (2)SET GLOBAL innodb_fast_shutdown=0;
RESTART the server
Friday, December 10, 2010
Installation - 2nd method (3)mysqlINSTALL PLUGIN INNODB SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_TRX SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_LOCKS SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_LOCK_WAITS SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_CMP SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_CMP_RESET SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_CMPMEM SONAME 'ha_innodb_plugin.so';INSTALL PLUGIN INNODB_CMPMEM_RESET SONAME 'ha_innodb_plugin.so';
Friday, December 10, 2010
Installation - 2nd method (4)my.cnf
[mysqld]
default-storage-engine=InnoDBinnodb_file_per_table=1innodb_file_format=barracudainnodb_strict_mode=1
Friday, December 10, 2010
Installation - 2nd method (5)SET GLOBAL innodb_fast_shutdown=0;
RESTART the server
Friday, December 10, 2010
Installation differences• Method 1 (plugin-load in my.cnf)
✦ Only one operation✦ But error prone (one looooong command)✦ plugins not stored in mysql.plugin table
• Method 2 (install plugin) ✦ plugin info saved to mysql.plugin table✦ Easier to write✦ 2 restarts required
Friday, December 10, 2010
CAVEAT
• If you uninstall the InnoDB plugin, remember:✦ The tables are not backward compatible✦ You must uninstall all the
INFORMATION_SCHEMA plugin tables BEFORE removing the InnoDB plugin
✦ If the plugin is busy, it may not be removed until you restart the server
Friday, December 10, 2010
hands on
Friday, December 10, 2010
Checking installationselect @@version, @@innodb_version;+-----------+------------------+| @@version | @@innodb_version |+-----------+------------------+| 5.1.48 | 1.0.9 |+-----------+------------------+
DEM
O
Friday, December 10, 2010
Detecting lockssession1> select c from t1 for update;+------+| c |+------+| aaa || bbb || ccc |+------+
Friday, December 10, 2010
Detecting lockssession2> select c from t1 for update;
[… waiting]
Friday, December 10, 2010
Detecting lockssession3> select i from t1 for update;
[… waiting]
Friday, December 10, 2010
getting locks informationSELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread, r.trx_query waiting_query, b.trx_id blocking_trx_id, b.trx_mysql_thread_id blocking_thread, b.trx_query blocking_query FROM innodb_lock_waits w INNER JOIN innodb_trx b ON b.trx_id = w.blocking_trx_id INNER JOIN innodb_trx r ON r.trx_id = w.requesting_trx_id
Friday, December 10, 2010
getting locks information
Friday, December 10, 2010
getting locks information************* 1. row ************** waiting_trx_id: 711 waiting_thread: 3 waiting_query: select c from t1 for updateblocking_trx_id: 710blocking_thread: 2 blocking_query: select i from t1 for update
Friday, December 10, 2010
getting locks information************* 2. row ************** waiting_trx_id: 711 waiting_thread: 3 waiting_query: select c from t1 for updateblocking_trx_id: 70Fblocking_thread: 1 blocking_query: NULL
Friday, December 10, 2010
getting locks information************* 3. row ************** waiting_trx_id: 710 waiting_thread: 2 waiting_query: select i from t1 for updateblocking_trx_id: 70Fblocking_thread: 1 blocking_query: NULL
Friday, December 10, 2010
THANKS
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
For more info,search my blog:
http://datacharmer.blogspot.com
Friday, December 10, 2010