SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
<Insert Picture Here>

Upcoming Changes in MySQL 5.7

Morgan Tocker, MySQL Community Manager

http://www.tocker.ca/

Safe Harbor Statement
The	
  following	
  is	
  intended	
  to	
  outline	
  our	
  general	
  product	
  direction.	
  
It	
  is	
  intended	
  for	
  information	
  purposes	
  only,	
  and	
  may	
  not	
  be	
  
incorporated	
  into	
  any	
  contract.	
  It	
  is	
  not	
  a	
  commitment	
  to	
  deliver	
  
any	
  material,	
  code,	
  or	
  functionality,	
  and	
  should	
  not	
  be	
  relied	
  upon	
  
in	
  making	
  purchasing	
  decisions.	
  



The	
  development,	
  release,	
  and	
  timing	
  of	
  any	
  features	
  or	
  
functionality	
  described	
  for	
  Oracle’s	
  products	
  remains	
  at	
  the	
  sole	
  
discretion	
  of	
  Oracle.
Almost 4 Years of MySQL Innovation
MySQL Cluster 7.3

MySQL Migration Wizard

MySQL Workbench 6.0

MySQL 5.6

MySQL 5.5

Windows installer & Tools MySQL 5.7 M y S Q L
Cluster
MySQL
MySQL Enterprise Monitor 2.3 & e r
M a n a g 3.0
Applier for
Hadoop

MySQL Enterprise Backup
Security
MySQL Utilities
MySQL Workbench 5.2 & 6.0
Scalability
MySQL Cluster 7.2
HA
MySQL Enterprise
MySQL Cluster 7.1
O r a c l e C e r t i f i c a t i o n s Audit
MySQL 5.7
• Absolutely amazing things are coming!
• Performance Improvements with InnoDB.
• MDL, Transactions and memory instrumentation
with Performance Schema.
• Many more…
• New features won’t be the focus of this talk.
Subject of this talk
• Oracle is committed to MySQL’s long term success.
• Prepared to do the heavy lifting required to improve
the overall server architecture.
• This talk is about:



Sharing our ideas.

Providing you an 

opportunity for feedback.

Trying to make the

transition as smooth as

possible.

Photo Credit:

http://www.flickr.com/photos/magnusvk
MySQL 5.7 (cont.)
• Breakage is painful.
• It is important to:
• be as careful as possible
• provide as much notice as possible.
• communicate why change is required.
steer
______ ^
Ways to coerce users in the right
direction
1. Change the default to use desired behaviour.
2. Issue warning about feature deprecation.
3. Remove feature.



Situation dependent.

MySQL 5.7 employs all 3 techniques.
“Deprecation is a status applied to a
computer software feature, characteristic, or
practice indicating it should be avoided,
typically because it is being superseded.”
http://en.wikipedia.org/wiki/Deprecation
Deprecation
• Will understandably upset users.
• However, it is not the same as removal.
• Good stewardship to define an “officially supported
method” when >1 exist.
The Main Event
• These are the potential changes we have asked for
feedback on. All appear at:

http://www.tocker.ca/categories/community/
!
• Very important! Being listed here does not
guarantee any change will be made.
Changes to Replication Defaults
• MySQL 5.6 improved durable replication
performance considerably (group commit fix)
• Proposal is to make replication durable by default
starting from 5.7:
• sync_binlog = 1
• master-info-repository = TABLE
• relay-log-info-repository = TABLE
SHOW ENGINE INNODB MUTEX
mysql> show engine innodb mutex;

+--------+----------------------------+-------------------+

| Type
| Name
| Status
|

+--------+----------------------------+-------------------+

| InnoDB | log/log0log.c:775
| os_waits=26
|

| InnoDB | log/log0log.c:771
| os_waits=1
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=3219
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=6990
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=4619
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=5627
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=7873
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=4466
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=16929
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=19305
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=16301962 |

| InnoDB | buf/buf0buf.c:1208
| os_waits=11649
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=950471
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=6545
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=4262
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=5642
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=7878
|

| InnoDB | buf/buf0buf.c:1208
| os_waits=387166
|

| InnoDB | fil/fil0fil.c:1559
| os_waits=1265
|

| InnoDB | srv/srv0srv.c:987
| os_waits=460452
|

| InnoDB | combined buf/buf0buf.c:900 | os_waits=38503
|

| InnoDB | log/log0log.c:832
| os_waits=184
|

| InnoDB | combined buf/buf0buf.c:901 | os_waits=77
|

+--------+----------------------------+-------------------+

23 rows in set (0.56 sec)
SHOW ENGINE INNODB MUTEX (cont.)
• Overlaps with Performance Schema.
• Proposal in MySQL 5.7:
• To be deprecated.
• We want to be able to ‘pick a favourite’ in order to
keep user experience consistent.
InnoDB Monitor tables
• Existed in a time when information_schema did not.
Usage was:
CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;

/* view to the error log */

DROP TABLE innodb_monitor;
InnoDB Monitor tables (cont.)
• 5.7 Proposal:
• innodb_monitor. To be replaced with SET GLOBAL
innodb_monitor=ON|OFF.
• innodb_lock_monitor. To be replaced with SET GLOBAL
innodb_lock_monitor=ON|OFF.
• innodb_tablespace_monitor. To be removed.
information_schema will become the recommended
alternative.
• innodb_table_monitor. To be removed. information_schema
will become the recommended alternative.
• innodb_mem_validate. To be removed. This depends on
UNIV_MEM_DEBUG, which is not normally enabled even in
debug builds.
ALTER IGNORE TABLE
• Useful for adding PRIMARY/UNIQUE keys on tables
with duplicate keys.
• Will silently drop rows for you!
• Has strange semantics for replication and ALTER
TABLE.
ALTER IGNORE TABLE (cont.)
• Proposal went ahead already:
• Deprecated in 5.6.17.
• Removed in 5.7 DMR4
Simplify SQL_MODE options
• Proposal is to reduce the number of mode options
available.
• Aim is to increase usage of SQL_MODE options,
encourage more users to run MySQL in a stricter
way.
Simplify SQL_MODE options (cont.)
• Current recommendation:

sql-mode=“STRICT_TRANS_TABLES,
ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,
NO_AUTO_VALUE_ON_ZERO,
NO_ENGINE_SUBSTITUTION, NO_ZERO_DATE,
NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY"
Simplify SQL_MODE options (cont.)
• 5.7 Proposal:
• Remove the options
ERROR_FOR_DIVISION_BY_ZERO,
NO_ZERO_DATE and NO_ZERO_IN_DATE.
• These behaviours be enabled by
STRICT_TRANS_TABLES or
STRICT_ALL_TABLES.
• Improve error reporting when a behaviour is
influenced by an SQL mode.
Enable Only Full Group By SQL_MODE
mysql>	
  SELECT	
  id,	
  invoice_id,	
  description	
  	
  
FROM	
  invoice_line_items	
  GROUP	
  BY	
  invoice_id;	
  
+-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
|	
  id	
  |	
  invoice_id	
  |	
  description	
  |	
  
+-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
|	
  	
  1	
  |	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  1	
  |	
  New	
  socks	
  	
  	
  |	
  
|	
  	
  3	
  |	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  2	
  |	
  Shoes	
  	
  	
  	
  	
  	
  	
  |	
  
|	
  	
  5	
  |	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  3	
  |	
  Tie	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  
+-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
3	
  rows	
  in	
  set	
  (0.00	
  sec)
Only Full Group By (cont.)
• Proposal is to by default product an error from
MySQL 5.7.
• Will still be configurable via SQL MODE
only_full_group_by.

mysql>	
  SELECT	
  id,	
  invoice_id,	
  description	
  	
  
FROM	
  invoice_line_items	
  GROUP	
  BY	
  invoice_id;	
  
ERROR	
  1055	
  (42000):	
  'test.invoice_line_items.id'	
  isn't	
  in	
  GROUP	
  BY
EXPLAIN PARTITIONS and EXPLAIN
EXTENDED deprecation
mysql>	
  EXPLAIN	
  SELECT	
  *	
  FROM	
  table_aG	
  
***************************	
  1.	
  row	
  ***************************	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  id:	
  1	
  
	
  	
  select_type:	
  PRIMARY	
  
	
  	
  	
  	
  	
  	
  	
  	
  table:	
  table_a	
  
	
  	
  	
  partitions:	
  NULL	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  type:	
  ALL	
  
possible_keys:	
  NULL	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  key:	
  NULL	
  
	
  	
  	
  	
  	
  	
  key_len:	
  NULL	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ref:	
  NULL	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  rows:	
  3	
  
	
  	
  	
  	
  	
  filtered:	
  100.00	
  
	
  	
  	
  	
  	
  	
  	
  	
  Extra:	
  NULL	
  
2	
  rows	
  in	
  set,	
  1	
  warning	
  (0.00	
  sec)
EXPLAIN PARTITIONS and EXPLAIN
EXTENDED deprecation
• Motivated by Internal Code Cleanup
• Two optional flags that only add value - no reason
other than automated tooling format preferences not
to enable them.
EXPLAIN PARTITIONS and EXPLAIN
EXTENDED deprecation (cont.)
• Proposal:
• Enables two flags by default, and deprecates the use
of the extended syntax.
• Went ahead in 5.7 DMR3.
Deprecation of NULL synonym N
mysql>	
  SELECT	
  NULL	
  is	
  N;

+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+

|	
  NULL	
  is	
  N	
  |

+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+

|	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  1	
  |

+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+

1	
  row	
  in	
  set	
  (0.00	
  sec)	
  


mysql>	
  INSERT	
  INTO	
  tablea	
  VALUES	
  (3,	
  N);

Query	
  OK,	
  1	
  row	
  affected	
  (0.00	
  sec)	
  


mysql>	
  SELECT	
  *	
  FROM	
  tablea	
  WHERE	
  b	
  IS	
  N;

+-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+

|	
  a	
  |	
  b	
  	
  	
  	
  |

+-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+

|	
  3	
  |	
  NULL	
  |

+-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+

1	
  row	
  in	
  set	
  (0.00	
  sec)
Deprecation of NULL synonym N
(cont.)
• Proposal:
• For removal in either 5.7 or 5.8.
• Still seeking feedback.
Query Cache
• Defaults to DISABLED in 5.6.
• We have “ideas but not plans” for future
improvements.
Federated Storage Engine
• Users encouraged to use Multi-source replication
over Federated Storage Engine.
• We are seeking feedback for use cases for
Federated.
MyISAM Merge
• Similar to Partitioning but MyISAM Only.
• Does not offer partition pruning.
• Major limitation was partition exchange - introduced
in 5.6.
• Will blog seeking remaining use cases for MERGE
storage engine very soon.
Last Comment
• All of these items have been blogged about here:

http://www.tocker.ca/categories/community/
<Insert Picture Here>

Contenu connexe

Tendances

MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMorgan Tocker
 
What's New MySQL 8.0?
What's New MySQL 8.0?What's New MySQL 8.0?
What's New MySQL 8.0?OracleMySQL
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeAbel Flórez
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMorgan Tocker
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance TuningMark Swarbrick
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Ted Wennmark
 
Understanding MySql locking issues
Understanding MySql locking issuesUnderstanding MySql locking issues
Understanding MySql locking issuesOm Vikram Thapa
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellEmily Ikuta
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014Dave Stokes
 
MySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disksMySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disksDave Stokes
 
MySQL Performance Best Practices
MySQL Performance Best PracticesMySQL Performance Best Practices
MySQL Performance Best PracticesOlivier DASINI
 
MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query OptimizationMorgan Tocker
 
MySQL 5.6 Updates
MySQL 5.6 UpdatesMySQL 5.6 Updates
MySQL 5.6 UpdatesDave Stokes
 
MySQL partitioning
MySQL partitioning MySQL partitioning
MySQL partitioning OracleMySQL
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeOlivier DASINI
 
Barcelona mysqlnd qc
Barcelona mysqlnd qcBarcelona mysqlnd qc
Barcelona mysqlnd qcAnis Berejeb
 
Ohio Linux Fest -- MySQL's NoSQL
Ohio Linux Fest -- MySQL's NoSQLOhio Linux Fest -- MySQL's NoSQL
Ohio Linux Fest -- MySQL's NoSQLDave Stokes
 

Tendances (20)

MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that Matter
 
What's New MySQL 8.0?
What's New MySQL 8.0?What's New MySQL 8.0?
What's New MySQL 8.0?
 
Optimizing MySQL
Optimizing MySQLOptimizing MySQL
Optimizing MySQL
 
My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3My sql 5.6&MySQL Cluster 7.3
My sql 5.6&MySQL Cluster 7.3
 
MySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgradeMySQL 5.7 - What's new and How to upgrade
MySQL 5.7 - What's new and How to upgrade
 
MySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics ImprovementsMySQL 5.6 - Operations and Diagnostics Improvements
MySQL 5.6 - Operations and Diagnostics Improvements
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance Tuning
 
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8Upgrade to MySQL 5.7 and latest news planned for MySQL 8
Upgrade to MySQL 5.7 and latest news planned for MySQL 8
 
Understanding MySql locking issues
Understanding MySql locking issuesUnderstanding MySql locking issues
Understanding MySql locking issues
 
MySQL 5.7 in a Nutshell
MySQL 5.7 in a NutshellMySQL 5.7 in a Nutshell
MySQL 5.7 in a Nutshell
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014
 
MySQL JSON Functions
MySQL JSON FunctionsMySQL JSON Functions
MySQL JSON Functions
 
MySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disksMySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disks
 
MySQL Performance Best Practices
MySQL Performance Best PracticesMySQL Performance Best Practices
MySQL Performance Best Practices
 
MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query Optimization
 
MySQL 5.6 Updates
MySQL 5.6 UpdatesMySQL 5.6 Updates
MySQL 5.6 Updates
 
MySQL partitioning
MySQL partitioning MySQL partitioning
MySQL partitioning
 
Upgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtimeUpgrade to MySQL 5.6 without downtime
Upgrade to MySQL 5.6 without downtime
 
Barcelona mysqlnd qc
Barcelona mysqlnd qcBarcelona mysqlnd qc
Barcelona mysqlnd qc
 
Ohio Linux Fest -- MySQL's NoSQL
Ohio Linux Fest -- MySQL's NoSQLOhio Linux Fest -- MySQL's NoSQL
Ohio Linux Fest -- MySQL's NoSQL
 

En vedette

MySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMorgan Tocker
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLMorgan Tocker
 
MySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsMySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsTuyen Vuong
 
Web vulnerability seminar2
Web vulnerability seminar2Web vulnerability seminar2
Web vulnerability seminar2Sakuya Izayoi
 
GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항정명훈 Jerry Jeong
 
Linux con europe_2014_full_system_rollback_btrfs_snapper_0
Linux con europe_2014_full_system_rollback_btrfs_snapper_0Linux con europe_2014_full_system_rollback_btrfs_snapper_0
Linux con europe_2014_full_system_rollback_btrfs_snapper_0sprdd
 
Using MySQL in Automated Testing
Using MySQL in Automated TestingUsing MySQL in Automated Testing
Using MySQL in Automated TestingMorgan Tocker
 
The MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS SchemaThe MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS SchemaTed Wennmark
 
MySQL Troubleshooting with the Performance Schema
MySQL Troubleshooting with the Performance SchemaMySQL Troubleshooting with the Performance Schema
MySQL Troubleshooting with the Performance SchemaSveta Smirnova
 
MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011Graham Weldon
 
Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)Ontico
 
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimizationLouis liu
 
An Overview to MySQL SYS Schema
An Overview to MySQL SYS Schema An Overview to MySQL SYS Schema
An Overview to MySQL SYS Schema Mydbops
 
Extending MySQL Enterprise Monitor
Extending MySQL Enterprise MonitorExtending MySQL Enterprise Monitor
Extending MySQL Enterprise MonitorMark Leith
 
Developing Information Schema Plugins
Developing Information Schema PluginsDeveloping Information Schema Plugins
Developing Information Schema PluginsMark Leith
 
Introduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise MonitorIntroduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise MonitorMark Leith
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsMark Leith
 
Getting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise MonitorGetting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise MonitorMark Leith
 
Performance schema and_ps_helper
Performance schema and_ps_helperPerformance schema and_ps_helper
Performance schema and_ps_helperMark Leith
 
Performance Schema for MySQL Troubleshooting
 Performance Schema for MySQL Troubleshooting Performance Schema for MySQL Troubleshooting
Performance Schema for MySQL TroubleshootingSveta Smirnova
 

En vedette (20)

MySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMySQL 5.7: Core Server Changes
MySQL 5.7: Core Server Changes
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
 
MySQL Atchitecture and Concepts
MySQL Atchitecture and ConceptsMySQL Atchitecture and Concepts
MySQL Atchitecture and Concepts
 
Web vulnerability seminar2
Web vulnerability seminar2Web vulnerability seminar2
Web vulnerability seminar2
 
GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항GoldenGate for MySQL 설치 시 필요한 사항
GoldenGate for MySQL 설치 시 필요한 사항
 
Linux con europe_2014_full_system_rollback_btrfs_snapper_0
Linux con europe_2014_full_system_rollback_btrfs_snapper_0Linux con europe_2014_full_system_rollback_btrfs_snapper_0
Linux con europe_2014_full_system_rollback_btrfs_snapper_0
 
Using MySQL in Automated Testing
Using MySQL in Automated TestingUsing MySQL in Automated Testing
Using MySQL in Automated Testing
 
The MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS SchemaThe MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS Schema
 
MySQL Troubleshooting with the Performance Schema
MySQL Troubleshooting with the Performance SchemaMySQL Troubleshooting with the Performance Schema
MySQL Troubleshooting with the Performance Schema
 
MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011MySQL Performance - SydPHP October 2011
MySQL Performance - SydPHP October 2011
 
Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)Performance Schema in MySQL (Danil Zburivsky)
Performance Schema in MySQL (Danil Zburivsky)
 
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimization
 
An Overview to MySQL SYS Schema
An Overview to MySQL SYS Schema An Overview to MySQL SYS Schema
An Overview to MySQL SYS Schema
 
Extending MySQL Enterprise Monitor
Extending MySQL Enterprise MonitorExtending MySQL Enterprise Monitor
Extending MySQL Enterprise Monitor
 
Developing Information Schema Plugins
Developing Information Schema PluginsDeveloping Information Schema Plugins
Developing Information Schema Plugins
 
Introduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise MonitorIntroduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise Monitor
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
Getting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise MonitorGetting to Know MySQL Enterprise Monitor
Getting to Know MySQL Enterprise Monitor
 
Performance schema and_ps_helper
Performance schema and_ps_helperPerformance schema and_ps_helper
Performance schema and_ps_helper
 
Performance Schema for MySQL Troubleshooting
 Performance Schema for MySQL Troubleshooting Performance Schema for MySQL Troubleshooting
Performance Schema for MySQL Troubleshooting
 

Similaire à MySQL 5.7 Changes Guide

Performance schema and sys schema
Performance schema and sys schemaPerformance schema and sys schema
Performance schema and sys schemaMark Leith
 
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)Dave Stokes
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 MinutesSveta Smirnova
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesDave Stokes
 
Highload Perf Tuning
Highload Perf TuningHighload Perf Tuning
Highload Perf TuningHighLoad2009
 
Developers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman OracleDevelopers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman OraclemCloud
 
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0mCloud
 
The MySQL SYS Schema
The MySQL SYS SchemaThe MySQL SYS Schema
The MySQL SYS SchemaMark Leith
 
16 MySQL Optimization #burningkeyboards
16 MySQL Optimization #burningkeyboards16 MySQL Optimization #burningkeyboards
16 MySQL Optimization #burningkeyboardsDenis Ristic
 
Top 10 tips for Oracle performance
Top 10 tips for Oracle performanceTop 10 tips for Oracle performance
Top 10 tips for Oracle performanceGuy Harrison
 
MySQL Cluster 7.3 Performance Tuning - Severalnines Slides
MySQL Cluster 7.3 Performance Tuning - Severalnines SlidesMySQL Cluster 7.3 Performance Tuning - Severalnines Slides
MySQL Cluster 7.3 Performance Tuning - Severalnines SlidesSeveralnines
 
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert VanderkelenOSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert VanderkelenNETWAYS
 
Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Ivan Ma
 
New index features in MySQL 8
New index features in MySQL 8New index features in MySQL 8
New index features in MySQL 8Erik Frøseth
 
15 protips for mysql users pfz
15 protips for mysql users   pfz15 protips for mysql users   pfz
15 protips for mysql users pfzJoshua Thijssen
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012Roland Bouman
 

Similaire à MySQL 5.7 Changes Guide (20)

Performance schema and sys schema
Performance schema and sys schemaPerformance schema and sys schema
Performance schema and sys schema
 
Perf Tuning Short
Perf Tuning ShortPerf Tuning Short
Perf Tuning Short
 
Mysql tracing
Mysql tracingMysql tracing
Mysql tracing
 
Mysql tracing
Mysql tracingMysql tracing
Mysql tracing
 
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New Features
 
Highload Perf Tuning
Highload Perf TuningHighload Perf Tuning
Highload Perf Tuning
 
Developers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman OracleDevelopers' mDay 2017. - Bogdan Kecman Oracle
Developers' mDay 2017. - Bogdan Kecman Oracle
 
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
Developers’ mDay u Banjoj Luci - Bogdan Kecman, Oracle – MySQL Server 8.0
 
Curso de MySQL 5.7
Curso de MySQL 5.7Curso de MySQL 5.7
Curso de MySQL 5.7
 
The MySQL SYS Schema
The MySQL SYS SchemaThe MySQL SYS Schema
The MySQL SYS Schema
 
16 MySQL Optimization #burningkeyboards
16 MySQL Optimization #burningkeyboards16 MySQL Optimization #burningkeyboards
16 MySQL Optimization #burningkeyboards
 
Top 10 tips for Oracle performance
Top 10 tips for Oracle performanceTop 10 tips for Oracle performance
Top 10 tips for Oracle performance
 
MySQL Cluster 7.3 Performance Tuning - Severalnines Slides
MySQL Cluster 7.3 Performance Tuning - Severalnines SlidesMySQL Cluster 7.3 Performance Tuning - Severalnines Slides
MySQL Cluster 7.3 Performance Tuning - Severalnines Slides
 
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert VanderkelenOSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
 
Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Exploring mysql cluster 7.4
Exploring mysql cluster 7.4
 
New index features in MySQL 8
New index features in MySQL 8New index features in MySQL 8
New index features in MySQL 8
 
15 protips for mysql users pfz
15 protips for mysql users   pfz15 protips for mysql users   pfz
15 protips for mysql users pfz
 
Common schema my sql uc 2012
Common schema   my sql uc 2012Common schema   my sql uc 2012
Common schema my sql uc 2012
 

Plus de Morgan Tocker

Introducing Spirit - Online Schema Change
Introducing Spirit - Online Schema ChangeIntroducing Spirit - Online Schema Change
Introducing Spirit - Online Schema ChangeMorgan Tocker
 
MySQL Usability Guidelines
MySQL Usability GuidelinesMySQL Usability Guidelines
MySQL Usability GuidelinesMorgan Tocker
 
My First 90 days with Vitess
My First 90 days with VitessMy First 90 days with Vitess
My First 90 days with VitessMorgan Tocker
 
FOSDEM MySQL and Friends Devroom
FOSDEM MySQL and Friends DevroomFOSDEM MySQL and Friends Devroom
FOSDEM MySQL and Friends DevroomMorgan Tocker
 
Introducing TiDB - Percona Live Frankfurt
Introducing TiDB - Percona Live FrankfurtIntroducing TiDB - Percona Live Frankfurt
Introducing TiDB - Percona Live FrankfurtMorgan Tocker
 
TiDB Introduction - Boston MySQL Meetup Group
TiDB Introduction - Boston MySQL Meetup GroupTiDB Introduction - Boston MySQL Meetup Group
TiDB Introduction - Boston MySQL Meetup GroupMorgan Tocker
 
TiDB Introduction - San Francisco MySQL Meetup
TiDB Introduction - San Francisco MySQL MeetupTiDB Introduction - San Francisco MySQL Meetup
TiDB Introduction - San Francisco MySQL MeetupMorgan Tocker
 
MySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer GuideMySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer GuideMorgan Tocker
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMorgan Tocker
 
Locking and Concurrency Control
Locking and Concurrency ControlLocking and Concurrency Control
Locking and Concurrency ControlMorgan Tocker
 

Plus de Morgan Tocker (11)

Introducing Spirit - Online Schema Change
Introducing Spirit - Online Schema ChangeIntroducing Spirit - Online Schema Change
Introducing Spirit - Online Schema Change
 
MySQL Usability Guidelines
MySQL Usability GuidelinesMySQL Usability Guidelines
MySQL Usability Guidelines
 
My First 90 days with Vitess
My First 90 days with VitessMy First 90 days with Vitess
My First 90 days with Vitess
 
FOSDEM MySQL and Friends Devroom
FOSDEM MySQL and Friends DevroomFOSDEM MySQL and Friends Devroom
FOSDEM MySQL and Friends Devroom
 
Introducing TiDB - Percona Live Frankfurt
Introducing TiDB - Percona Live FrankfurtIntroducing TiDB - Percona Live Frankfurt
Introducing TiDB - Percona Live Frankfurt
 
TiDB Introduction - Boston MySQL Meetup Group
TiDB Introduction - Boston MySQL Meetup GroupTiDB Introduction - Boston MySQL Meetup Group
TiDB Introduction - Boston MySQL Meetup Group
 
TiDB Introduction - San Francisco MySQL Meetup
TiDB Introduction - San Francisco MySQL MeetupTiDB Introduction - San Francisco MySQL Meetup
TiDB Introduction - San Francisco MySQL Meetup
 
TiDB Introduction
TiDB IntroductionTiDB Introduction
TiDB Introduction
 
MySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer GuideMySQL 8.0 Optimizer Guide
MySQL 8.0 Optimizer Guide
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
 
Locking and Concurrency Control
Locking and Concurrency ControlLocking and Concurrency Control
Locking and Concurrency Control
 

Dernier

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Dernier (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

MySQL 5.7 Changes Guide

  • 1. <Insert Picture Here> Upcoming Changes in MySQL 5.7
 Morgan Tocker, MySQL Community Manager
 http://www.tocker.ca/

  • 2. Safe Harbor Statement The  following  is  intended  to  outline  our  general  product  direction.   It  is  intended  for  information  purposes  only,  and  may  not  be   incorporated  into  any  contract.  It  is  not  a  commitment  to  deliver   any  material,  code,  or  functionality,  and  should  not  be  relied  upon   in  making  purchasing  decisions.   
 The  development,  release,  and  timing  of  any  features  or   functionality  described  for  Oracle’s  products  remains  at  the  sole   discretion  of  Oracle.
  • 3. Almost 4 Years of MySQL Innovation MySQL Cluster 7.3 MySQL Migration Wizard MySQL Workbench 6.0 MySQL 5.6 MySQL 5.5 Windows installer & Tools MySQL 5.7 M y S Q L Cluster MySQL MySQL Enterprise Monitor 2.3 & e r M a n a g 3.0 Applier for Hadoop MySQL Enterprise Backup Security MySQL Utilities MySQL Workbench 5.2 & 6.0 Scalability MySQL Cluster 7.2 HA MySQL Enterprise MySQL Cluster 7.1 O r a c l e C e r t i f i c a t i o n s Audit
  • 4. MySQL 5.7 • Absolutely amazing things are coming! • Performance Improvements with InnoDB. • MDL, Transactions and memory instrumentation with Performance Schema. • Many more… • New features won’t be the focus of this talk.
  • 5. Subject of this talk • Oracle is committed to MySQL’s long term success. • Prepared to do the heavy lifting required to improve the overall server architecture. • This talk is about:
 
 Sharing our ideas.
 Providing you an 
 opportunity for feedback.
 Trying to make the
 transition as smooth as
 possible.
 Photo Credit:
 http://www.flickr.com/photos/magnusvk
  • 6. MySQL 5.7 (cont.) • Breakage is painful. • It is important to: • be as careful as possible • provide as much notice as possible. • communicate why change is required.
  • 7. steer ______ ^ Ways to coerce users in the right direction 1. Change the default to use desired behaviour. 2. Issue warning about feature deprecation. 3. Remove feature.
 
 Situation dependent.
 MySQL 5.7 employs all 3 techniques.
  • 8. “Deprecation is a status applied to a computer software feature, characteristic, or practice indicating it should be avoided, typically because it is being superseded.” http://en.wikipedia.org/wiki/Deprecation
  • 9. Deprecation • Will understandably upset users. • However, it is not the same as removal. • Good stewardship to define an “officially supported method” when >1 exist.
  • 10. The Main Event • These are the potential changes we have asked for feedback on. All appear at:
 http://www.tocker.ca/categories/community/ ! • Very important! Being listed here does not guarantee any change will be made.
  • 11. Changes to Replication Defaults • MySQL 5.6 improved durable replication performance considerably (group commit fix) • Proposal is to make replication durable by default starting from 5.7: • sync_binlog = 1 • master-info-repository = TABLE • relay-log-info-repository = TABLE
  • 12. SHOW ENGINE INNODB MUTEX mysql> show engine innodb mutex;
 +--------+----------------------------+-------------------+
 | Type | Name | Status |
 +--------+----------------------------+-------------------+
 | InnoDB | log/log0log.c:775 | os_waits=26 |
 | InnoDB | log/log0log.c:771 | os_waits=1 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=3219 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=6990 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=4619 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=5627 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=7873 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=4466 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=16929 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=19305 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=16301962 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=11649 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=950471 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=6545 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=4262 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=5642 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=7878 |
 | InnoDB | buf/buf0buf.c:1208 | os_waits=387166 |
 | InnoDB | fil/fil0fil.c:1559 | os_waits=1265 |
 | InnoDB | srv/srv0srv.c:987 | os_waits=460452 |
 | InnoDB | combined buf/buf0buf.c:900 | os_waits=38503 |
 | InnoDB | log/log0log.c:832 | os_waits=184 |
 | InnoDB | combined buf/buf0buf.c:901 | os_waits=77 |
 +--------+----------------------------+-------------------+
 23 rows in set (0.56 sec)
  • 13. SHOW ENGINE INNODB MUTEX (cont.) • Overlaps with Performance Schema. • Proposal in MySQL 5.7: • To be deprecated. • We want to be able to ‘pick a favourite’ in order to keep user experience consistent.
  • 14. InnoDB Monitor tables • Existed in a time when information_schema did not. Usage was: CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
 /* view to the error log */
 DROP TABLE innodb_monitor;
  • 15. InnoDB Monitor tables (cont.) • 5.7 Proposal: • innodb_monitor. To be replaced with SET GLOBAL innodb_monitor=ON|OFF. • innodb_lock_monitor. To be replaced with SET GLOBAL innodb_lock_monitor=ON|OFF. • innodb_tablespace_monitor. To be removed. information_schema will become the recommended alternative. • innodb_table_monitor. To be removed. information_schema will become the recommended alternative. • innodb_mem_validate. To be removed. This depends on UNIV_MEM_DEBUG, which is not normally enabled even in debug builds.
  • 16. ALTER IGNORE TABLE • Useful for adding PRIMARY/UNIQUE keys on tables with duplicate keys. • Will silently drop rows for you! • Has strange semantics for replication and ALTER TABLE.
  • 17. ALTER IGNORE TABLE (cont.) • Proposal went ahead already: • Deprecated in 5.6.17. • Removed in 5.7 DMR4
  • 18. Simplify SQL_MODE options • Proposal is to reduce the number of mode options available. • Aim is to increase usage of SQL_MODE options, encourage more users to run MySQL in a stricter way.
  • 19. Simplify SQL_MODE options (cont.) • Current recommendation:
 sql-mode=“STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_AUTO_VALUE_ON_ZERO, NO_ENGINE_SUBSTITUTION, NO_ZERO_DATE, NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY"
  • 20. Simplify SQL_MODE options (cont.) • 5.7 Proposal: • Remove the options ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE and NO_ZERO_IN_DATE. • These behaviours be enabled by STRICT_TRANS_TABLES or STRICT_ALL_TABLES. • Improve error reporting when a behaviour is influenced by an SQL mode.
  • 21. Enable Only Full Group By SQL_MODE mysql>  SELECT  id,  invoice_id,  description     FROM  invoice_line_items  GROUP  BY  invoice_id;   +-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |  id  |  invoice_id  |  description  |   +-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |    1  |                    1  |  New  socks      |   |    3  |                    2  |  Shoes              |   |    5  |                    3  |  Tie                  |   +-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   3  rows  in  set  (0.00  sec)
  • 22. Only Full Group By (cont.) • Proposal is to by default product an error from MySQL 5.7. • Will still be configurable via SQL MODE only_full_group_by. mysql>  SELECT  id,  invoice_id,  description     FROM  invoice_line_items  GROUP  BY  invoice_id;   ERROR  1055  (42000):  'test.invoice_line_items.id'  isn't  in  GROUP  BY
  • 23. EXPLAIN PARTITIONS and EXPLAIN EXTENDED deprecation mysql>  EXPLAIN  SELECT  *  FROM  table_aG   ***************************  1.  row  ***************************                        id:  1      select_type:  PRIMARY                  table:  table_a        partitions:  NULL                    type:  ALL   possible_keys:  NULL                      key:  NULL              key_len:  NULL                      ref:  NULL                    rows:  3            filtered:  100.00                  Extra:  NULL   2  rows  in  set,  1  warning  (0.00  sec)
  • 24. EXPLAIN PARTITIONS and EXPLAIN EXTENDED deprecation • Motivated by Internal Code Cleanup • Two optional flags that only add value - no reason other than automated tooling format preferences not to enable them.
  • 25. EXPLAIN PARTITIONS and EXPLAIN EXTENDED deprecation (cont.) • Proposal: • Enables two flags by default, and deprecates the use of the extended syntax. • Went ahead in 5.7 DMR3.
  • 26. Deprecation of NULL synonym N mysql>  SELECT  NULL  is  N;
 +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+
 |  NULL  is  N  |
 +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+
 |                    1  |
 +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+
 1  row  in  set  (0.00  sec)   
 mysql>  INSERT  INTO  tablea  VALUES  (3,  N);
 Query  OK,  1  row  affected  (0.00  sec)   
 mysql>  SELECT  *  FROM  tablea  WHERE  b  IS  N;
 +-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+
 |  a  |  b        |
 +-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+
 |  3  |  NULL  |
 +-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐+
 1  row  in  set  (0.00  sec)
  • 27. Deprecation of NULL synonym N (cont.) • Proposal: • For removal in either 5.7 or 5.8. • Still seeking feedback.
  • 28. Query Cache • Defaults to DISABLED in 5.6. • We have “ideas but not plans” for future improvements.
  • 29. Federated Storage Engine • Users encouraged to use Multi-source replication over Federated Storage Engine. • We are seeking feedback for use cases for Federated.
  • 30. MyISAM Merge • Similar to Partitioning but MyISAM Only. • Does not offer partition pruning. • Major limitation was partition exchange - introduced in 5.6. • Will blog seeking remaining use cases for MERGE storage engine very soon.
  • 31.
  • 32. Last Comment • All of these items have been blogged about here:
 http://www.tocker.ca/categories/community/