SlideShare a Scribd company logo
1 of 75
Download to read offline
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
MySQL	
  5.7:	
  
Upcoming	
  Changes
Morgan	
  Tocker	
  
MySQL	
  Community	
  Manager	
  
February	
  2015
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
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
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
4
Today’s	
  Agenda
Introduction	
  
New	
  Features	
  
Changes	
  to	
  Prepare	
  For	
  
1
2
3
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
MySQL	
  5.7	
  -­‐	
  The	
  Team
• 2x	
  Engineering	
  Staff	
  
• 3x	
  QA	
  Staff	
  
• 2x	
  Support	
  Staff
5
Jan	
  2010 Sept	
  2014
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Development	
  Milestone	
  Releases
• Features	
  are	
  merged	
  into	
  main	
  branch	
  only	
  when	
  
stable.	
  
• High	
  level	
  review	
  complete.	
  
• Low	
  level	
  review	
  complete.	
  
• 80%+	
  code	
  coverage	
  testing	
  goal.	
  
• DMRs	
  are	
  intended	
  to	
  be	
  of	
  “Release	
  Candidate”	
  
Quality.
6
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Labs	
  Releases
• Features	
  have	
  not	
  passed	
  qualification.	
  
• We	
  are	
  releasing	
  an	
  experiment	
  because	
  we	
  want	
  to	
  
insert	
  an	
  extra	
  feedback	
  cycle.	
  
• Current	
  Labs	
  Releases:	
  
• New	
  Data	
  Dictionary	
  
• Optimizer/InnoDB/Replication	
  
• HTTP	
  Plugin	
  
• Group	
  Replication
7
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
MySQL	
  5.7	
  DMR	
  Schedule
8
April 2013
DMR1
221 Bugs Fixed
29 Changes
21 Worklogs
Sep 2013
DMR2
384 Bugs Fixed
41 Changes
52 Worklogs
Dec 2013
DMR3
155 Bugs Fixed
23 Changes
27 Worklogs
April 2014
DMR4
259 Bugs Fixed
38 Changes
56 Worklogs
5.6 GA
Feb 2013
Sept 2014
DMR5
300 Bugs Fixed
50 Changes
79 Worklogs
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Model	
  Successful	
  in	
  5.6
9
https://www.flamingspork.com/blog/2013/03/05/mysql-code-size/
Also See:
http://www.mysqlperformanceblog.com/2013/01/27/mysql-5-6-improvements-in-the-nutshell/
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
10
Today’s	
  Agenda
Introduction	
  
New	
  Features	
  
Changes	
  to	
  Prepare	
  For	
  
1
2
3
2
1
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Common	
  Themes
11
From	
  DMR0	
  to	
  DMR5
▪ Improved support for high
connection creation rate
▪ Lock Thread count impact reduced
▪Multiple Metadata Locking (MDL)
improvements
▪ Parallel Replication (Intra-schema)
▪ Additional query optimization for
Fulltext Search
▪ Make use of condition filtering in the
optimizer
▪ InnoDB Improvements for:
▪ Index lock contention
▪ Read Only Transactions
▪ Temporary Tables
▪ Redo Logs
▪ Multiple page cleaner threads.
▪ Scalability
▪ Bulk Loading Indexes
Performance & Scalability
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Common	
  Themes
12
From	
  DMR0	
  to	
  DMR5
▪ Overhead has been reduced.
▪ Improved to do lazy initialization on
new connections.
▪ Now instruments:
▪ Memory usage
▪ Stored programs
▪ Replication
▪ Metadata Locking (MDL)
▪ Transactions
▪ Prepared Statements
▪ User Variables
▪ Stage Progress
▪ SX-lock
Performance Schema
▪ Password expiration support +
timestamp of password last changed.
▪ mysql_secure_installation changed
to C++ program.
▪ Improvements to SSL Support.
▪ Support to change AES key length
and block encryption mode
Security
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Common	
  Themes	
  (cont.)
13
From	
  DMR0	
  to	
  DMR5
▪Internal logging API
▪Timestamps are now written with log
entries in YYYY-MM-
DDThh:mm:ss.uuuuuu format.
▪Configurable Verbosity
▪InnoDB Refactored:
▪Locking Code
▪Redo Log Code (for performance)
▪Tablespace Class
▪Atomics refactored
▪Optimizer refactoring (multiple
improvements)
▪Optimizer cost model
▪mysql_install_db changed to C++ program.
▪Strict and Ignore defined and
reimplemented.
▪Remove custom rwlock windows
implementation
▪Refactor strings: use of (const char *) in
THD
▪Using Boot.Geometry
▪Better ONLY_FULL_GROUP_BY mode
▪Refactor mysql_upgrade
▪Move system tables from MyISAM to
transactional storage
▪Make sure that when 32-bit connection-IDs
roll over, still in-use IDs are not re-issued
▪Memroot allocator for C++ STL
Refactoring
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Benchmarks
14
http://dimitrik.free.fr/blog/archives/2014/10/indeed-­‐mysql-­‐57-­‐rocks-­‐oltp_rorw-­‐1table-­‐benchmarks.html
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Benchmarks	
  (cont.)
• 645K	
  Queries/Second	
  is	
  the	
  new	
  peak.
15
http://dimitrik.free.fr/blog/archives/2014/09/indeed-­‐mysql-­‐57-­‐rocks-­‐oltp_ro-­‐pointselects-­‐8tables-­‐benchmark.html
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DMR0
• Error	
  issued	
  when	
  creating	
  duplicate	
  index.	
  
• Warning	
  when	
  strict	
  SQL	
  Mode	
  removed.	
  
• Ctl-­‐C	
  fixed	
  in	
  MySQL	
  CLI!	
  
• Non-­‐blocking	
  SHOW	
  SLAVE	
  STATUS	
  
• Idempotent	
  mysqlbinlog	
  mode.	
  
• Stacked	
  Diagnostics	
  Area
16
Internal	
  Release	
  Only
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DMR1
• Online	
  DDL	
  Now	
  supports	
  RENAME	
  INDEX	
  and	
  
VARCHAR	
  extensions.	
  
• InnoDB	
  support	
  for	
  Spatial	
  Data	
  Types.	
  
• Rewrite-­‐db	
  option	
  for	
  mysqlbinlog	
  with	
  RBR.
17
Released	
  April	
  2013
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DMR2
• Semi	
  sync	
  replication	
  improvements.	
  
• Multiple	
  Triggers	
  per	
  event	
  per	
  table.	
  
• EXPLAIN	
  FOR	
  CONNECTION	
  
• EXPLAIN	
  showing	
  cost	
  information.
18
Released	
  September	
  2013
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Example:	
  Cost	
  Information	
  in	
  EXPLAIN
19
EXPLAIN	
  FORMAT=JSON	
  FOR	
  CONNECTION	
  2;
*************************** 1. row ***************************

EXPLAIN: {

"query_block": {

"select_id": 1,

"cost_info": {

"query_cost": "4786.00"

},

"ordering_operation": {
"using_temporary_table": true,

"using_filesort": true,

"cost_info": {

"sort_cost": "2151.00"

},

"nested_loop": [

{

"table": {

..

],

"key_length": "3",

"rows_examined_per_scan": 239,

"rows_produced_per_join": 239,

"filtered": 100,

"using_index": true,

"cost_info": {

"read_cost": "6.00",

"eval_cost": "47.80",

"prefix_cost": "53.80",

"data_read_per_join": "61K"

},
..
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Example:	
  EXPLAIN	
  in	
  MySQL	
  Workbench
20
Visual	
  EXPLAIN	
  Including	
  Cost	
  Information!
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DMR3
• UNION	
  ALL	
  no	
  longer	
  requires	
  temporary	
  table.	
  
• Filesort	
  now	
  packs	
  VARCHAR	
  and	
  CHAR	
  keys	
  in	
  
temporary	
  files.	
  
• Optimizer	
  Support	
  for	
  row	
  value	
  constructors.	
  
• i.e.	
  WHERE	
  (a,b)	
  in	
  ((‘a’,	
  ‘b’),	
  (‘c’,	
  ‘d’));
21
Released	
  December	
  2013
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DMR3	
  (cont.)
• InnoDB	
  Fulltext	
  now	
  supports	
  external	
  parsers.	
  
• Dynamic	
  replication	
  filters.	
  
• Support	
  ICP	
  optimization	
  for	
  partitioned	
  tables.
22
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
UNION	
  ALL	
  Optimization
23
***************** 1. row *****************
id: 1
select_type: PRIMARY
table: table_a
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 3
Extra: NULL
***************** 2. row *****************
id: 2
select_type: UNION
table: table_b
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 3
Extra: NULL
***************** 3. row *****************
id: NULL
select_type: UNION RESULT
table: <union1,2>
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: NULL
Extra: Using temporary
***************** 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. row *****************
id: 2
select_type: UNION
table: table_b
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 3
filtered: 100.00
Extra: NULL
EXPLAIN SELECT * FROM a UNION ALL SELECT * FROM b
MySQL 5.6: MySQL 5.7:
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Row-­‐value	
  Constructors
24
EXPLAIN SELECT * FROM City WHERE (CountryCode,Name) IN (('USA', 'San
Francisco'), ('USA', 'Chicago'), ('CAN', ‘Toronto'))
**************** 1. row ****************
id: 1
select_type: SIMPLE
table: City
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 4188
Extra: Using where
1 row in set (0.00 sec)
**************** 1. row ****************
id: 1
select_type: SIMPLE
table: City
partitions: NULL
type: range
possible_keys: CountryCode,CountryCode$Name
key: CountryCode$Name
key_len: 38
ref: NULL
rows: 3
filtered: 100.00
Extra: Using where
MySQL 5.6: MySQL 5.7:
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DMR4
• Statement	
  Timeout.	
  
• Change	
  master	
  without	
  stopping	
  SQL	
  thread.	
  
• Transportable	
  tablespaces	
  for	
  partitioned	
  InnoDB	
  
tables.
25
Released	
  April	
  2014
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Server-­‐Side	
  Statement	
  Timeout
• SELECT	
  MAX_STATEMENT_TIME	
  =	
  109	
  *	
  FROM	
  
my_table;	
  
• SET	
  SESSION	
  MAX_STATEMENT_TIME	
  =	
  100;	
  
• SET	
  GLOBAL	
  MAX_STATEMENT_TIME	
  =	
  100;
26
Incorporates	
  Contributions	
  from	
  Davi	
  Arnaut,	
  the	
  MySQL	
  Community
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DMR5
• Online	
  UNDO	
  log	
  truncation	
  
• Online	
  Buffer	
  Pool	
  Resize	
  
• Partitioning	
  Enhancements	
  
• InnoDB	
  GIS	
  support	
  
• Support	
  InnoDB	
  as	
  additional	
  storage	
  engine	
  for	
  tmp	
  
table	
   	
  
• Method	
  to	
  bring	
  servers	
  offline
27
Released	
  September	
  2014
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DMR5	
  (cont.)
• Native	
  support	
  for	
  syslog	
  
• Allow	
  multiple	
  locks	
  in	
  GET_LOCK()	
  
• Improve	
  dtrace	
  support	
  on	
  Oracle	
  Linux	
  6	
  
• New	
  Optimizer	
  Cost	
  Model
28
Released	
  September	
  2014
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Offline	
  Mode
29
mysql> select * from a;
+----+
| id |
+----+
| 2 |
| 2 |
| 3 |
+----+
3 rows in set (0.00 sec)
mysql> select * from a;
No connection. Trying to reconnect...
ERROR 1917 (HY000): The server is
currently in offline mode
ERROR:
Can't connect to the server
mysql> set global offline_mode = 1;
Query OK, 0 rows affected (0.01 sec)
Session #1 Session #2
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Online	
  Buffer	
  Pool	
  Resize
30
mysql> SET GLOBAL innodb_buffer_pool_size = 256 * 1024 * 1024;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_resize_status'G
*************************** 1. row ***************************
Variable_name: Innodb_buffer_pool_resize_status
Value: Completed resizing buffer pool at 141107 16:33:12.
1 row in set (0.00 sec)
mysql> SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';
+-------------------------+-----------+
| Variable_name | Value |
+-------------------------+-----------+
| innodb_buffer_pool_size | 268435456 |
+-------------------------+-----------+
1 row in set (0.00 sec)
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DMR6
• Release	
  notes	
  starting	
  to	
  show	
  features	
  
• Fulltext	
  support	
  for	
  CJK	
  
• MySQL	
  Install	
  DB	
  folded	
  into	
  server	
  
• More	
  improvements	
  in	
  optimizer,	
  performance	
  schema,	
  
InnoDB.
31
Not	
  Yet	
  Released
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
32
Today’s	
  Agenda
Introduction	
  
New	
  Features	
  
Changes	
  to	
  Prepare	
  For	
  
1
22
1
2
3
Copyright	
  ©	
  2014	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
• Change	
  of	
  Defaults	
  
• Command	
  Line	
  Client	
  
• Replication	
  
• InnoDB	
  
• Optimizer	
  
• Errors,	
  Warning	
  and	
  Logging	
  
• Performance	
  Schema	
  
• SQL	
  Modes	
  
• Other	
  
• Deprecation	
  
• ENCODE/DECODE	
  functions	
  
• SHOW	
  PROFILES
33
Functionality	
  Changed
• Behaviour	
  Change	
  
• STRICT	
  
• ONLY_FULL_GROUP_BY	
  
• IGNORE	
  
• DELAYED	
  
• EXPLAIN	
  
• Removal	
  
• SHOW	
  ENGINE	
  INNODB	
  MUTEX	
  
• InnoDB	
  Monitor	
  Tables	
  
• ALTER	
  IGNORE	
  TABLE	
  
• Unused	
  CLI	
  Utilities	
  
• YEAR(2)	
  support	
  
• Old	
  Passwords
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Behaviour	
  is	
  different,	
  but	
  previous	
  behaviour	
  can	
  be	
  restored.
Change	
  of	
  Defaults
34
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Command	
  Line	
  Client
• Two	
  small	
  changes	
  to	
  improve	
  default	
  experience:
35
[mysql]

prompt="u@h [d] > “

show_warnings
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Replication
• Safer	
  by	
  default.	
  
• Reduces	
  timeouts,	
  which	
  are	
  now	
  also	
  used	
  for	
  server	
  
heartbeats.
36
[mysqld]

sync_binlog=1
binlog_format=ROW
slave_net_timeout=60
binlog_error_action=ABORT_SERVER
binlog_gtid_recovery_simplified=1
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
InnoDB
37
[mysqld]

innodb_autoinc_lock_mode=2
innodb_checksum_algorithm=crc32
innodb_page_cleaners=4
innodb_purge_threads=4
innodb_strict_mode=1
innodb_log_file_size=128M
innodb_buffer_pool_dump_at_shutdown=1
innodb_buffer_pool_load_at_startup=1
innodb_buffer_pool_dump_pct=25
innodb_file_format = Barracuda
innodb_large_prefix=1
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Optimizer
• New	
  Optimizations	
  Enabled	
  by	
  Default	
  
• Setting	
  for	
  ranged	
  queries	
  to	
  use	
  statistics	
  over	
  
sampling	
  changed	
  in	
  response	
  to	
  feedback
38
[mysqld]

eq_range_index_dive_limit=200
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Errors,	
  Warnings	
  &	
  Logging
39
[mysqld]

log_slow_admin_statements=1
log_slow_slave_statements=1
long-query-time=2
log-queries-not-using-indexes=1
min-examined-row-limit=1000
log_warnings=2
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Performance	
  Schema
• performance-­‐schema-­‐consumer-­‐events_statements_history=ON	
  
• performance-­‐schema-­‐consumer-­‐events_transactions_history=ON
40
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
SQL	
  Modes
• Fewer	
  surprises	
  caused	
  by	
  how	
  edge	
  cases	
  are	
  handled:	
  
• Very	
  good	
  for	
  new	
  applications	
  
• May	
  need	
  to	
  be	
  disabled	
  for	
  those	
  upgrading*
41
[mysqld]

sql-mode=“ONLY_FULL_GROUP_BY,

STRICT_TRANS_TABLES,

NO_ENGINE_SUBSTITUTION,

NO_AUTO_CREATE_USER"
* http://www.tocker.ca/2014/09/01/suggestions-­‐for-­‐transitioning-­‐into-­‐strict-­‐sql-­‐mode.html
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
SQL	
  Modes	
  (cont.)
42
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)
ERROR	
  1055	
  (42000):	
  Expression	
  #3	
  of	
  SELECT	
  list	
  is	
  not	
  in	
  GROUP	
  BY	
  clause	
  and	
  
contains	
  nonaggregated	
  column	
  ‘invoice_line_items.description’	
  which	
  is	
  not	
  
functionally	
  dependent	
  on	
  columns	
  in	
  GROUP	
  BY	
  clause;	
  this	
  is	
  incompatible	
  with	
  
sql_mode=only_full_group_by
Only	
  full	
  group	
  by
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
SQL	
  Modes	
  (cont.)
43
STRICT	
  for	
  transactional	
  tables
CREATE TABLE test (a int unsigned);
INSERT INTO test VALUES (-1);
ERROR 1264 (22003): Out of range value for column 'a' at row 1
insert into test values (0/0);
ERROR 1365 (22012): Division by 0
CREATE TABLE test2 (a varchar(10));
INSERT INTO test2 VALUES ('abcdefghijklmnopqrstuvwxyz');
ERROR 1406 (22001): Data too long for column 'a' at row 1
CREATE TABLE test3 (a datetime);
INSERT INTO test3 VALUES ('0000-00-00 00:00:00');
ERROR 1292 (22007): Incorrect datetime value: '0000-00-00
00:00:00' for column 'a' at row 1
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Other
44
[mysqld]

# default buffer sizes
group_concat_max_len=1M
max_allowed_packet=64M
# security
symbolic-links=0
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Still	
  present,	
  but	
  usage	
  is	
  now	
  discouraged.
Deprecated
45
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
ENCODE/DECODE	
  Functions
46
mysql> SELECT HEX(ENCODE('MyPassword', 'Super Secret!'));

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

| HEX(ENCODE('MyPassword', 'Super Secret!')) |

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

| A0E844F97A48FE6E8C1F |

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



mysql> SELECT DECODE(UNHEX('A0E844F97A48FE6E8C1F'), 'Super Secret!');

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

| DECODE(UNHEX('A0E844F97A48FE6E8C1F'), 'Super Secret!') |

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

| MyPassword |

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



mysql> show warningsG
*************************** 1. row ***************************
Level: Warning
Code: 1287
Message: 'ENCODE' is deprecated and will be removed in a future release. 

Please use AES_ENCRYPT instead
1 row in set (0.01 sec)
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
ENCODE/DECODE	
  Functions	
  (cont.)
• Functions	
  are	
  cryptographically	
  weak.	
  
• For	
  crypto	
  to	
  be	
  upgraded,	
  storage	
  format	
  would	
  
become	
  incompatible.	
  
• Overlaps	
  with	
  similar	
  AES	
  functionality	
  already	
  present.
47
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
SHOW	
  PROFILES
48
mysql> set profiling=1;

Query OK, 0 rows affected, 1 warning (0.00 sec)


mysql> show profiles;

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

| Query_ID | Duration | Query |

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

| 1 | 0.00039200 | SELECT * FROM table_a UNION ALL SELECT * FROM table_b |

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

2 rows in set, 1 warning (0.01 sec)
Including	
  Information_schema.profiling	
  table.
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
SHOW	
  PROFILES	
  (cont.)
49
mysql> show profile for query 1;

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

| Status | Duration |

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

| starting | 0.000059 |

| checking permissions | 0.000005 |

| checking permissions | 0.000005 |

| Opening tables | 0.000091 |

| System lock | 0.000011 |

| optimizing | 0.000004 |

| statistics | 0.000012 |

| preparing | 0.000009 |

| optimizing | 0.000002 |

| statistics | 0.000005 |

| preparing | 0.000004 |

| executing | 0.000003 |

| Sending data | 0.000053 |

| executing | 0.000002 |

..
..
| Sending data | 0.000029 |

| optimizing | 0.000006 |

| statistics | 0.000006 |

| preparing | 0.000004 |

| executing | 0.000002 |

| Sending data | 0.000019 |

| removing tmp table | 0.000007 |

| Sending data | 0.000002 |

| query end | 0.000007 |

| closing tables | 0.000010 |

| freeing items | 0.000019 |

| cleaning up | 0.000016 |

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

26 rows in set, 1 warning (0.00 sec)
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
SHOW	
  PROFILES	
  (cont.)
• Overlaps	
  with	
  Performance	
  Schema	
  interface.	
  
• Performance	
  Schema	
  has	
  more	
  flexible	
  configuration	
  
• Instrumentation	
  level	
  can	
  be	
  increased/lowered	
  to	
  
reduce	
  overhead.	
  
• Performance	
  Schema	
  has	
  more	
  data	
  available.
50
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Existing	
  syntax	
  works,	
  server	
  may	
  respond	
  differently.
Change	
  of	
  Behaviour
51
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
STRICT	
  SQL_MODE
• Some	
  other	
  SQL	
  Modes	
  have	
  been	
  merged	
  into	
  the	
  
definition	
  of	
  STRICT_TRANS_TABLES	
  and	
  
STRICT_ALL_TABLES:	
  
• These	
  options	
  are	
  ERROR_FOR_DIVISION_BY_ZERO,	
  
NO_ZERO_DATE	
  and	
  NO_ZERO_IN_DATE.	
  
• The	
  feature	
  has	
  also	
  been	
  reimplemented	
  internally.	
  	
  
Previous	
  behaviour	
  was	
  not	
  always	
  consistent	
  with	
  all	
  
syntax.
52
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
SQL	
  Mode	
  ONLY_FULL_GROUP_BY
• Has	
  been	
  reimplemented.	
  
• Now	
  more	
  standards	
  compliant,	
  and	
  allows	
  “functional	
  
dependencies”
53
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
IGNORE
• Reimplemented,	
  motivated	
  by	
  code	
  cleanup.	
  
• Similar	
  to	
  strict:	
  
• Some	
  behaviour	
  changed	
  to	
  be	
  more	
  consistent	
  
between	
  statements.
54
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DELAYED
• Usage	
  was	
  deprecated	
  in	
  5.6.	
  
• Syntax	
  has	
  been	
  kept	
  but	
  functionality	
  has	
  now	
  been	
  
removed.	
  	
  i.e.	
  identical	
  behaviour:	
  
• INSERT	
  DELAYED	
  INTO	
  my_table	
  (..)	
  VALUES	
  (..);	
  
• INSERT	
  INTO	
  my_table	
  (..)	
  VALUES	
  (..);
55
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
DELAYED	
  (cont.)
• How	
  do	
  you	
  handle	
  delayed	
  statements	
  that	
  violate	
  
UNIQUE	
  constraints?	
  
• Offers	
  little	
  measurable	
  benefit	
  to	
  a	
  row-­‐level	
  locking	
  
store	
  with	
  MVCC.	
  
• Act	
  of	
  delaying	
  may	
  actually	
  incur	
  more	
  overhead.
56
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
EXPLAIN
• Previously	
  could	
  have	
  optional	
  modifiers:	
  
• EXPLAIN	
  EXTENDED	
  
• EXPLAIN	
  PARTITIONS	
  
• These	
  modifiers	
  are	
  now	
  always	
  enabled.	
  
• Motivated	
  by	
  simplification	
  and	
  code-­‐cleanup	
  (meta	
  
data	
  only	
  adds	
  value).
57
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
EXPLAIN	
  (cont.)
58
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)
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Functionality	
  that	
  will	
  no	
  longer	
  be	
  supported
Removed
59
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
SHOW	
  ENGINE	
  INNODB	
  MUTEX
60
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=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)
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
SHOW	
  ENGINE	
  INNODB	
  MUTEX	
  (cont.)
• Overlaps	
  with	
  PS.	
  
• Can	
  not	
  be	
  disabled.	
  
• Code	
  refactored	
  so	
  that	
  InnoDB	
  can	
  use	
  different	
  locks	
  
internally.
61
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
InnoDB	
  Monitor	
  Tables
• Existed	
  in	
  a	
  time	
  when	
  information_schema	
  did	
  not.	
  
• Usage	
  was:
62
CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;

/* view to the error log */

DROP TABLE innodb_monitor;
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
InnoDB	
  Monitor	
  Tables	
  (cont.)
• To	
  be	
  removed:	
  
• innodb_tablespace_monitor	
  
• innodb_table_monitor	
  
• innodb_mem_validate	
  
• To	
  be	
  replaced	
  by	
  config	
  setting:	
  
• innodb_monitor	
  
• innodb_lock_monitor
63
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
ALTER	
  IGNORE	
  TABLE
64
mysql> CREATE TABLE a (id INT NOT NULL);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO a VALUES (2), (2), (3);
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> ALTER TABLE a ADD PRIMARY KEY (id);
ERROR 1062 (23000): Duplicate entry '2' for key
'PRIMARY'
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
ALTER	
  IGNORE	
  TABLE	
  (cont.)
65
mysql> ALTER IGNORE TABLE a ADD PRIMARY KEY (id);
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 1 Warnings: 0
mysql> SELECT * FROM a;
+----+
| id |
+----+
| 2 |
| 3 |
+----+
2 rows in set (0.00 sec)
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
ALTER	
  IGNORE	
  TABLE	
  (cont.)
• Will	
  silently	
  drop	
  rows	
  for	
  you!	
  
• Semantically	
  may	
  even	
  drop	
  different	
  rows	
  on	
  slaves.	
  
• We	
  would	
  prefer	
  users	
  to	
  build	
  a	
  query	
  to	
  drop	
  the	
  rows	
  
themselves	
  and	
  not	
  offer	
  this	
  functionality:
66
mysql> SELECT * FROM a GROUP BY id HAVING
count(*) > 1;
+----+
| id |
+----+
| 2 |
+----+
1 row in set (0.01 sec)
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Removal	
  of	
  CLI	
  Programs
• msql2mysql	
  [Shell	
  Script]	
  
• mysqlaccess	
  [Perl	
  program]	
  
• mysqlbug	
  [Shell	
  script]	
  
• mysql_zap	
  [Shell	
  script]	
  
• mysql_waitpid	
  [C	
  program]	
  
• mysql_convert_table_format	
  [Perl	
  Program]	
  
• mysql_fix_extensions	
  [Perl	
  Program]	
  
• mysql_find_rows	
  [Perl	
  Program]	
  
• mysql_setpermission	
  [Perl	
  Program]	
  
• mysqlhotcopy	
  [Perl	
  Program]
67
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Removal	
  Example:	
  mysqlhotcopy
• Only	
  works	
  for	
  MyISAM	
  and	
  ARCHIVE	
  tables.	
  
• Is	
  not	
  a	
  hot	
  copy.	
  
• Unsafe	
  with	
  backing	
  up	
  views.	
  
• Removed	
  to	
  prevent	
  users	
  doing	
  dangerous	
  things.
68
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Removal	
  Example:	
  msql2mysql
• Allows	
  you	
  to	
  import	
  tables	
  from	
  the	
  mysql	
  database.	
  
• Useful	
  20	
  years	
  ago.	
  
• No	
  longer	
  required.
69
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
YEAR(2)
• Ambiguous!
70
mysql> CREATE TABLE a (a year(2));
mysql> INSERT INTO a VALUES (20), (90);
mysql> SELECT * FROM a;
+------+
| a |
+------+
| 2020 |
| 1990 |
+------+
2 rows in set (0.00 sec)
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
Removal	
  of	
  Old	
  Password	
  Support
• MySQL	
  password	
  hash	
  prior	
  to	
  4.1	
  uses	
  weak	
  crypto.	
  
• 16-­‐byte	
  hash	
  
• New	
  format	
  has	
  been	
  available	
  for	
  10	
  years	
  (2004).	
  
• Will	
  require	
  client	
  libraries	
  to	
  be	
  upgraded	
  as	
  well.	
  
• PHP’s	
  mysql_*	
  extension
71
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
How	
  to	
  prepare?
• Try	
  MySQL	
  5.7	
  defaults	
  out	
  now:	
  
• https://github.com/morgo/mysql-­‐compatibility-­‐config
72
Copyright	
  ©	
  2015	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
We	
  want	
  your	
  feedback!
• We	
  blog	
  about	
  our	
  change	
  proposals	
  
• Feedback	
  has	
  been	
  great:	
  
• SET	
  GLOBAL	
  sql_log_bin	
  -­‐	
  32	
  Comments	
  
• System	
  tables	
  in	
  InnoDB	
  -­‐	
  15	
  comments	
  
• Changes	
  to	
  user	
  management	
  -­‐	
  10	
  comments	
  
• Deprecate	
  the	
  old	
  password	
  format	
  -­‐	
  6	
  comments	
  
• Still	
  opportunities	
  for	
  more	
  feedback	
  
• Subscribe	
  your	
  RSS	
  reader	
  to:

http://planet.mysql.com/
73
Copyright	
  ©	
  2014	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |
74
Upcoming changes in MySQL 5.7

More Related Content

What's hot

MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMorgan Tocker
 
Mysql 57-upcoming-changes
Mysql 57-upcoming-changesMysql 57-upcoming-changes
Mysql 57-upcoming-changesMorgan Tocker
 
My sql 5.7-upcoming-changes-v2
My sql 5.7-upcoming-changes-v2My sql 5.7-upcoming-changes-v2
My sql 5.7-upcoming-changes-v2Morgan Tocker
 
InnoDB Tablespace Encryption
InnoDB Tablespace Encryption InnoDB Tablespace Encryption
InnoDB Tablespace Encryption Satya Bodapati
 
Proxysql use case scenarios fosdem17
Proxysql use case scenarios    fosdem17Proxysql use case scenarios    fosdem17
Proxysql use case scenarios fosdem17Alkin Tezuysal
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance TuningMark Swarbrick
 
20171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v120171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v1Ivan Ma
 
MySQL Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise PortfolioAbel Flórez
 
MySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMorgan Tocker
 
MySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMark Swarbrick
 
Mysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMark Swarbrick
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesTarique Saleem
 
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
 
MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query OptimizationMorgan Tocker
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMorgan Tocker
 
Parallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBParallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBMydbops
 
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
 

What's hot (20)

MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that Matter
 
Mysql 57-upcoming-changes
Mysql 57-upcoming-changesMysql 57-upcoming-changes
Mysql 57-upcoming-changes
 
My sql 5.7-upcoming-changes-v2
My sql 5.7-upcoming-changes-v2My sql 5.7-upcoming-changes-v2
My sql 5.7-upcoming-changes-v2
 
InnoDB Tablespace Encryption
InnoDB Tablespace Encryption InnoDB Tablespace Encryption
InnoDB Tablespace Encryption
 
Proxysql use case scenarios fosdem17
Proxysql use case scenarios    fosdem17Proxysql use case scenarios    fosdem17
Proxysql use case scenarios fosdem17
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance Tuning
 
20171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v120171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v1
 
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 Enterprise Portfolio
MySQL Enterprise PortfolioMySQL Enterprise Portfolio
MySQL Enterprise Portfolio
 
MySQL 5.7: Core Server Changes
MySQL 5.7: Core Server ChangesMySQL 5.7: Core Server Changes
MySQL 5.7: Core Server Changes
 
MySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDBMySQL Tech Tour 2015 - 5.7 InnoDB
MySQL Tech Tour 2015 - 5.7 InnoDB
 
Mysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql FabricMysql User Camp : 20-June-14 : Mysql Fabric
Mysql User Camp : 20-June-14 : Mysql Fabric
 
MySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats newMySQL Tech Tour 2015 - 5.7 Whats new
MySQL Tech Tour 2015 - 5.7 Whats new
 
MySQL 5.7 + JSON
MySQL 5.7 + JSONMySQL 5.7 + JSON
MySQL 5.7 + JSON
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
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
 
MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query Optimization
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
 
Parallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDBParallel Replication in MySQL and MariaDB
Parallel Replication in MySQL and MariaDB
 
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
 

Similar to Upcoming changes in MySQL 5.7

Upgrading to my sql 8.0
Upgrading to my sql 8.0Upgrading to my sql 8.0
Upgrading to my sql 8.0Ståle Deraas
 
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0Olivier DASINI
 
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...Geir Høydalsvik
 
Instrumenting plugins for Performance Schema
Instrumenting plugins for Performance SchemaInstrumenting plugins for Performance Schema
Instrumenting plugins for Performance SchemaMark Leith
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014Dave Stokes
 
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Amazon Web Services
 
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMayank Prasad
 
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019Dave Stokes
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningBobby Curtis
 
MySQL Performance Schema : fossasia
MySQL Performance Schema : fossasiaMySQL Performance Schema : fossasia
MySQL Performance Schema : fossasiaMayank Prasad
 
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Geir Høydalsvik
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...GeneXus
 
My sql cluster case study apr16
My sql cluster case study apr16My sql cluster case study apr16
My sql cluster case study apr16Sumi Ryu
 
Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Mark Leith
 
Using The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamUsing The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamLuís Soares
 
Expanding with EDB Postgres Advanced Server 9.5
Expanding with EDB Postgres Advanced Server 9.5Expanding with EDB Postgres Advanced Server 9.5
Expanding with EDB Postgres Advanced Server 9.5EDB
 
제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQLTommy Lee
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released UpdateKeith Hollman
 
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)Kristofferson A
 
Beginners guide to_optimizer
Beginners guide to_optimizerBeginners guide to_optimizer
Beginners guide to_optimizerMaria Colgan
 

Similar to Upcoming changes in MySQL 5.7 (20)

Upgrading to my sql 8.0
Upgrading to my sql 8.0Upgrading to my sql 8.0
Upgrading to my sql 8.0
 
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
 
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
The State of the Dolphin, MySQL Keynote at Percona Live Europe 2019, Amsterda...
 
Instrumenting plugins for Performance Schema
Instrumenting plugins for Performance SchemaInstrumenting plugins for Performance Schema
Instrumenting plugins for Performance Schema
 
MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014MySQL 5.7 -- SCaLE Feb 2014
MySQL 5.7 -- SCaLE Feb 2014
 
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
 
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRsMySQL-Performance Schema- What's new in MySQL-5.7 DMRs
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
 
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
MySQL 8 - UKOUG Techfest Brighton December 2nd, 2019
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
 
MySQL Performance Schema : fossasia
MySQL Performance Schema : fossasiaMySQL Performance Schema : fossasia
MySQL Performance Schema : fossasia
 
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
Simplifying MySQL, Pre-FOSDEM MySQL Days, Brussels, January 30, 2020.
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
 
My sql cluster case study apr16
My sql cluster case study apr16My sql cluster case study apr16
My sql cluster case study apr16
 
Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7
 
Using The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamUsing The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change Stream
 
Expanding with EDB Postgres Advanced Server 9.5
Expanding with EDB Postgres Advanced Server 9.5Expanding with EDB Postgres Advanced Server 9.5
Expanding with EDB Postgres Advanced Server 9.5
 
제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL제3회난공불락 오픈소스 인프라세미나 - MySQL
제3회난공불락 오픈소스 인프라세미나 - MySQL
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released Update
 
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
RMOUG2016 - Resource Management (the critical piece of the consolidation puzzle)
 
Beginners guide to_optimizer
Beginners guide to_optimizerBeginners guide to_optimizer
Beginners guide to_optimizer
 

More from 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
 
Locking and Concurrency Control
Locking and Concurrency ControlLocking and Concurrency Control
Locking and Concurrency ControlMorgan 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
 

More from Morgan Tocker (12)

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
 
Locking and Concurrency Control
Locking and Concurrency ControlLocking and Concurrency Control
Locking and Concurrency Control
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
 
Optimizing MySQL
Optimizing MySQLOptimizing MySQL
Optimizing MySQL
 

Recently uploaded

Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Recently uploaded (20)

Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

Upcoming changes in MySQL 5.7

  • 1.
  • 2. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | MySQL  5.7:   Upcoming  Changes Morgan  Tocker   MySQL  Community  Manager   February  2015
  • 3. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | 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
  • 4. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | 4 Today’s  Agenda Introduction   New  Features   Changes  to  Prepare  For   1 2 3
  • 5. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | MySQL  5.7  -­‐  The  Team • 2x  Engineering  Staff   • 3x  QA  Staff   • 2x  Support  Staff 5 Jan  2010 Sept  2014
  • 6. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Development  Milestone  Releases • Features  are  merged  into  main  branch  only  when   stable.   • High  level  review  complete.   • Low  level  review  complete.   • 80%+  code  coverage  testing  goal.   • DMRs  are  intended  to  be  of  “Release  Candidate”   Quality. 6
  • 7. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Labs  Releases • Features  have  not  passed  qualification.   • We  are  releasing  an  experiment  because  we  want  to   insert  an  extra  feedback  cycle.   • Current  Labs  Releases:   • New  Data  Dictionary   • Optimizer/InnoDB/Replication   • HTTP  Plugin   • Group  Replication 7
  • 8. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | MySQL  5.7  DMR  Schedule 8 April 2013 DMR1 221 Bugs Fixed 29 Changes 21 Worklogs Sep 2013 DMR2 384 Bugs Fixed 41 Changes 52 Worklogs Dec 2013 DMR3 155 Bugs Fixed 23 Changes 27 Worklogs April 2014 DMR4 259 Bugs Fixed 38 Changes 56 Worklogs 5.6 GA Feb 2013 Sept 2014 DMR5 300 Bugs Fixed 50 Changes 79 Worklogs
  • 9. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Model  Successful  in  5.6 9 https://www.flamingspork.com/blog/2013/03/05/mysql-code-size/ Also See: http://www.mysqlperformanceblog.com/2013/01/27/mysql-5-6-improvements-in-the-nutshell/
  • 10. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | 10 Today’s  Agenda Introduction   New  Features   Changes  to  Prepare  For   1 2 3 2 1
  • 11. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Common  Themes 11 From  DMR0  to  DMR5 ▪ Improved support for high connection creation rate ▪ Lock Thread count impact reduced ▪Multiple Metadata Locking (MDL) improvements ▪ Parallel Replication (Intra-schema) ▪ Additional query optimization for Fulltext Search ▪ Make use of condition filtering in the optimizer ▪ InnoDB Improvements for: ▪ Index lock contention ▪ Read Only Transactions ▪ Temporary Tables ▪ Redo Logs ▪ Multiple page cleaner threads. ▪ Scalability ▪ Bulk Loading Indexes Performance & Scalability
  • 12. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Common  Themes 12 From  DMR0  to  DMR5 ▪ Overhead has been reduced. ▪ Improved to do lazy initialization on new connections. ▪ Now instruments: ▪ Memory usage ▪ Stored programs ▪ Replication ▪ Metadata Locking (MDL) ▪ Transactions ▪ Prepared Statements ▪ User Variables ▪ Stage Progress ▪ SX-lock Performance Schema ▪ Password expiration support + timestamp of password last changed. ▪ mysql_secure_installation changed to C++ program. ▪ Improvements to SSL Support. ▪ Support to change AES key length and block encryption mode Security
  • 13. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Common  Themes  (cont.) 13 From  DMR0  to  DMR5 ▪Internal logging API ▪Timestamps are now written with log entries in YYYY-MM- DDThh:mm:ss.uuuuuu format. ▪Configurable Verbosity ▪InnoDB Refactored: ▪Locking Code ▪Redo Log Code (for performance) ▪Tablespace Class ▪Atomics refactored ▪Optimizer refactoring (multiple improvements) ▪Optimizer cost model ▪mysql_install_db changed to C++ program. ▪Strict and Ignore defined and reimplemented. ▪Remove custom rwlock windows implementation ▪Refactor strings: use of (const char *) in THD ▪Using Boot.Geometry ▪Better ONLY_FULL_GROUP_BY mode ▪Refactor mysql_upgrade ▪Move system tables from MyISAM to transactional storage ▪Make sure that when 32-bit connection-IDs roll over, still in-use IDs are not re-issued ▪Memroot allocator for C++ STL Refactoring
  • 14. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Benchmarks 14 http://dimitrik.free.fr/blog/archives/2014/10/indeed-­‐mysql-­‐57-­‐rocks-­‐oltp_rorw-­‐1table-­‐benchmarks.html
  • 15. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Benchmarks  (cont.) • 645K  Queries/Second  is  the  new  peak. 15 http://dimitrik.free.fr/blog/archives/2014/09/indeed-­‐mysql-­‐57-­‐rocks-­‐oltp_ro-­‐pointselects-­‐8tables-­‐benchmark.html
  • 16. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DMR0 • Error  issued  when  creating  duplicate  index.   • Warning  when  strict  SQL  Mode  removed.   • Ctl-­‐C  fixed  in  MySQL  CLI!   • Non-­‐blocking  SHOW  SLAVE  STATUS   • Idempotent  mysqlbinlog  mode.   • Stacked  Diagnostics  Area 16 Internal  Release  Only
  • 17. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DMR1 • Online  DDL  Now  supports  RENAME  INDEX  and   VARCHAR  extensions.   • InnoDB  support  for  Spatial  Data  Types.   • Rewrite-­‐db  option  for  mysqlbinlog  with  RBR. 17 Released  April  2013
  • 18. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DMR2 • Semi  sync  replication  improvements.   • Multiple  Triggers  per  event  per  table.   • EXPLAIN  FOR  CONNECTION   • EXPLAIN  showing  cost  information. 18 Released  September  2013
  • 19. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Example:  Cost  Information  in  EXPLAIN 19 EXPLAIN  FORMAT=JSON  FOR  CONNECTION  2; *************************** 1. row ***************************
 EXPLAIN: {
 "query_block": {
 "select_id": 1,
 "cost_info": {
 "query_cost": "4786.00"
 },
 "ordering_operation": { "using_temporary_table": true,
 "using_filesort": true,
 "cost_info": {
 "sort_cost": "2151.00"
 },
 "nested_loop": [
 {
 "table": {
 ..
 ],
 "key_length": "3",
 "rows_examined_per_scan": 239,
 "rows_produced_per_join": 239,
 "filtered": 100,
 "using_index": true,
 "cost_info": {
 "read_cost": "6.00",
 "eval_cost": "47.80",
 "prefix_cost": "53.80",
 "data_read_per_join": "61K"
 }, ..
  • 20. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Example:  EXPLAIN  in  MySQL  Workbench 20 Visual  EXPLAIN  Including  Cost  Information!
  • 21. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DMR3 • UNION  ALL  no  longer  requires  temporary  table.   • Filesort  now  packs  VARCHAR  and  CHAR  keys  in   temporary  files.   • Optimizer  Support  for  row  value  constructors.   • i.e.  WHERE  (a,b)  in  ((‘a’,  ‘b’),  (‘c’,  ‘d’)); 21 Released  December  2013
  • 22. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DMR3  (cont.) • InnoDB  Fulltext  now  supports  external  parsers.   • Dynamic  replication  filters.   • Support  ICP  optimization  for  partitioned  tables. 22
  • 23. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | UNION  ALL  Optimization 23 ***************** 1. row ***************** id: 1 select_type: PRIMARY table: table_a type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 3 Extra: NULL ***************** 2. row ***************** id: 2 select_type: UNION table: table_b type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 3 Extra: NULL ***************** 3. row ***************** id: NULL select_type: UNION RESULT table: <union1,2> type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: NULL Extra: Using temporary ***************** 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. row ***************** id: 2 select_type: UNION table: table_b partitions: NULL type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 3 filtered: 100.00 Extra: NULL EXPLAIN SELECT * FROM a UNION ALL SELECT * FROM b MySQL 5.6: MySQL 5.7:
  • 24. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Row-­‐value  Constructors 24 EXPLAIN SELECT * FROM City WHERE (CountryCode,Name) IN (('USA', 'San Francisco'), ('USA', 'Chicago'), ('CAN', ‘Toronto')) **************** 1. row **************** id: 1 select_type: SIMPLE table: City type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 4188 Extra: Using where 1 row in set (0.00 sec) **************** 1. row **************** id: 1 select_type: SIMPLE table: City partitions: NULL type: range possible_keys: CountryCode,CountryCode$Name key: CountryCode$Name key_len: 38 ref: NULL rows: 3 filtered: 100.00 Extra: Using where MySQL 5.6: MySQL 5.7:
  • 25. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DMR4 • Statement  Timeout.   • Change  master  without  stopping  SQL  thread.   • Transportable  tablespaces  for  partitioned  InnoDB   tables. 25 Released  April  2014
  • 26. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Server-­‐Side  Statement  Timeout • SELECT  MAX_STATEMENT_TIME  =  109  *  FROM   my_table;   • SET  SESSION  MAX_STATEMENT_TIME  =  100;   • SET  GLOBAL  MAX_STATEMENT_TIME  =  100; 26 Incorporates  Contributions  from  Davi  Arnaut,  the  MySQL  Community
  • 27. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DMR5 • Online  UNDO  log  truncation   • Online  Buffer  Pool  Resize   • Partitioning  Enhancements   • InnoDB  GIS  support   • Support  InnoDB  as  additional  storage  engine  for  tmp   table     • Method  to  bring  servers  offline 27 Released  September  2014
  • 28. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DMR5  (cont.) • Native  support  for  syslog   • Allow  multiple  locks  in  GET_LOCK()   • Improve  dtrace  support  on  Oracle  Linux  6   • New  Optimizer  Cost  Model 28 Released  September  2014
  • 29. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Offline  Mode 29 mysql> select * from a; +----+ | id | +----+ | 2 | | 2 | | 3 | +----+ 3 rows in set (0.00 sec) mysql> select * from a; No connection. Trying to reconnect... ERROR 1917 (HY000): The server is currently in offline mode ERROR: Can't connect to the server mysql> set global offline_mode = 1; Query OK, 0 rows affected (0.01 sec) Session #1 Session #2
  • 30. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Online  Buffer  Pool  Resize 30 mysql> SET GLOBAL innodb_buffer_pool_size = 256 * 1024 * 1024; Query OK, 0 rows affected (0.00 sec) mysql> SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_resize_status'G *************************** 1. row *************************** Variable_name: Innodb_buffer_pool_resize_status Value: Completed resizing buffer pool at 141107 16:33:12. 1 row in set (0.00 sec) mysql> SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | innodb_buffer_pool_size | 268435456 | +-------------------------+-----------+ 1 row in set (0.00 sec)
  • 31. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DMR6 • Release  notes  starting  to  show  features   • Fulltext  support  for  CJK   • MySQL  Install  DB  folded  into  server   • More  improvements  in  optimizer,  performance  schema,   InnoDB. 31 Not  Yet  Released
  • 32. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | 32 Today’s  Agenda Introduction   New  Features   Changes  to  Prepare  For   1 22 1 2 3
  • 33. Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    | • Change  of  Defaults   • Command  Line  Client   • Replication   • InnoDB   • Optimizer   • Errors,  Warning  and  Logging   • Performance  Schema   • SQL  Modes   • Other   • Deprecation   • ENCODE/DECODE  functions   • SHOW  PROFILES 33 Functionality  Changed • Behaviour  Change   • STRICT   • ONLY_FULL_GROUP_BY   • IGNORE   • DELAYED   • EXPLAIN   • Removal   • SHOW  ENGINE  INNODB  MUTEX   • InnoDB  Monitor  Tables   • ALTER  IGNORE  TABLE   • Unused  CLI  Utilities   • YEAR(2)  support   • Old  Passwords
  • 34. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Behaviour  is  different,  but  previous  behaviour  can  be  restored. Change  of  Defaults 34
  • 35. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Command  Line  Client • Two  small  changes  to  improve  default  experience: 35 [mysql]
 prompt="u@h [d] > “
 show_warnings
  • 36. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Replication • Safer  by  default.   • Reduces  timeouts,  which  are  now  also  used  for  server   heartbeats. 36 [mysqld]
 sync_binlog=1 binlog_format=ROW slave_net_timeout=60 binlog_error_action=ABORT_SERVER binlog_gtid_recovery_simplified=1
  • 37. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | InnoDB 37 [mysqld]
 innodb_autoinc_lock_mode=2 innodb_checksum_algorithm=crc32 innodb_page_cleaners=4 innodb_purge_threads=4 innodb_strict_mode=1 innodb_log_file_size=128M innodb_buffer_pool_dump_at_shutdown=1 innodb_buffer_pool_load_at_startup=1 innodb_buffer_pool_dump_pct=25 innodb_file_format = Barracuda innodb_large_prefix=1
  • 38. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Optimizer • New  Optimizations  Enabled  by  Default   • Setting  for  ranged  queries  to  use  statistics  over   sampling  changed  in  response  to  feedback 38 [mysqld]
 eq_range_index_dive_limit=200
  • 39. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Errors,  Warnings  &  Logging 39 [mysqld]
 log_slow_admin_statements=1 log_slow_slave_statements=1 long-query-time=2 log-queries-not-using-indexes=1 min-examined-row-limit=1000 log_warnings=2
  • 40. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Performance  Schema • performance-­‐schema-­‐consumer-­‐events_statements_history=ON   • performance-­‐schema-­‐consumer-­‐events_transactions_history=ON 40
  • 41. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | SQL  Modes • Fewer  surprises  caused  by  how  edge  cases  are  handled:   • Very  good  for  new  applications   • May  need  to  be  disabled  for  those  upgrading* 41 [mysqld]
 sql-mode=“ONLY_FULL_GROUP_BY,
 STRICT_TRANS_TABLES,
 NO_ENGINE_SUBSTITUTION,
 NO_AUTO_CREATE_USER" * http://www.tocker.ca/2014/09/01/suggestions-­‐for-­‐transitioning-­‐into-­‐strict-­‐sql-­‐mode.html
  • 42. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | SQL  Modes  (cont.) 42 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) ERROR  1055  (42000):  Expression  #3  of  SELECT  list  is  not  in  GROUP  BY  clause  and   contains  nonaggregated  column  ‘invoice_line_items.description’  which  is  not   functionally  dependent  on  columns  in  GROUP  BY  clause;  this  is  incompatible  with   sql_mode=only_full_group_by Only  full  group  by
  • 43. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | SQL  Modes  (cont.) 43 STRICT  for  transactional  tables CREATE TABLE test (a int unsigned); INSERT INTO test VALUES (-1); ERROR 1264 (22003): Out of range value for column 'a' at row 1 insert into test values (0/0); ERROR 1365 (22012): Division by 0 CREATE TABLE test2 (a varchar(10)); INSERT INTO test2 VALUES ('abcdefghijklmnopqrstuvwxyz'); ERROR 1406 (22001): Data too long for column 'a' at row 1 CREATE TABLE test3 (a datetime); INSERT INTO test3 VALUES ('0000-00-00 00:00:00'); ERROR 1292 (22007): Incorrect datetime value: '0000-00-00 00:00:00' for column 'a' at row 1
  • 44. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Other 44 [mysqld]
 # default buffer sizes group_concat_max_len=1M max_allowed_packet=64M # security symbolic-links=0
  • 45. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Still  present,  but  usage  is  now  discouraged. Deprecated 45
  • 46. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | ENCODE/DECODE  Functions 46 mysql> SELECT HEX(ENCODE('MyPassword', 'Super Secret!'));
 +--------------------------------------------+
 | HEX(ENCODE('MyPassword', 'Super Secret!')) |
 +--------------------------------------------+
 | A0E844F97A48FE6E8C1F |
 +--------------------------------------------+
 
 mysql> SELECT DECODE(UNHEX('A0E844F97A48FE6E8C1F'), 'Super Secret!');
 +--------------------------------------------------------+
 | DECODE(UNHEX('A0E844F97A48FE6E8C1F'), 'Super Secret!') |
 +--------------------------------------------------------+
 | MyPassword |
 +--------------------------------------------------------+
 
 mysql> show warningsG *************************** 1. row *************************** Level: Warning Code: 1287 Message: 'ENCODE' is deprecated and will be removed in a future release. 
 Please use AES_ENCRYPT instead 1 row in set (0.01 sec)
  • 47. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | ENCODE/DECODE  Functions  (cont.) • Functions  are  cryptographically  weak.   • For  crypto  to  be  upgraded,  storage  format  would   become  incompatible.   • Overlaps  with  similar  AES  functionality  already  present. 47
  • 48. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | SHOW  PROFILES 48 mysql> set profiling=1;
 Query OK, 0 rows affected, 1 warning (0.00 sec) 
 mysql> show profiles;
 +----------+------------+-------------------------------------------------------+
 | Query_ID | Duration | Query |
 +----------+------------+-------------------------------------------------------+
 | 1 | 0.00039200 | SELECT * FROM table_a UNION ALL SELECT * FROM table_b |
 +----------+------------+-------------------------------------------------------+
 2 rows in set, 1 warning (0.01 sec) Including  Information_schema.profiling  table.
  • 49. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | SHOW  PROFILES  (cont.) 49 mysql> show profile for query 1;
 +----------------------+----------+
 | Status | Duration |
 +----------------------+----------+
 | starting | 0.000059 |
 | checking permissions | 0.000005 |
 | checking permissions | 0.000005 |
 | Opening tables | 0.000091 |
 | System lock | 0.000011 |
 | optimizing | 0.000004 |
 | statistics | 0.000012 |
 | preparing | 0.000009 |
 | optimizing | 0.000002 |
 | statistics | 0.000005 |
 | preparing | 0.000004 |
 | executing | 0.000003 |
 | Sending data | 0.000053 |
 | executing | 0.000002 |
 .. .. | Sending data | 0.000029 |
 | optimizing | 0.000006 |
 | statistics | 0.000006 |
 | preparing | 0.000004 |
 | executing | 0.000002 |
 | Sending data | 0.000019 |
 | removing tmp table | 0.000007 |
 | Sending data | 0.000002 |
 | query end | 0.000007 |
 | closing tables | 0.000010 |
 | freeing items | 0.000019 |
 | cleaning up | 0.000016 |
 +----------------------+----------+
 26 rows in set, 1 warning (0.00 sec)
  • 50. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | SHOW  PROFILES  (cont.) • Overlaps  with  Performance  Schema  interface.   • Performance  Schema  has  more  flexible  configuration   • Instrumentation  level  can  be  increased/lowered  to   reduce  overhead.   • Performance  Schema  has  more  data  available. 50
  • 51. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Existing  syntax  works,  server  may  respond  differently. Change  of  Behaviour 51
  • 52. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | STRICT  SQL_MODE • Some  other  SQL  Modes  have  been  merged  into  the   definition  of  STRICT_TRANS_TABLES  and   STRICT_ALL_TABLES:   • These  options  are  ERROR_FOR_DIVISION_BY_ZERO,   NO_ZERO_DATE  and  NO_ZERO_IN_DATE.   • The  feature  has  also  been  reimplemented  internally.     Previous  behaviour  was  not  always  consistent  with  all   syntax. 52
  • 53. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | SQL  Mode  ONLY_FULL_GROUP_BY • Has  been  reimplemented.   • Now  more  standards  compliant,  and  allows  “functional   dependencies” 53
  • 54. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | IGNORE • Reimplemented,  motivated  by  code  cleanup.   • Similar  to  strict:   • Some  behaviour  changed  to  be  more  consistent   between  statements. 54
  • 55. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DELAYED • Usage  was  deprecated  in  5.6.   • Syntax  has  been  kept  but  functionality  has  now  been   removed.    i.e.  identical  behaviour:   • INSERT  DELAYED  INTO  my_table  (..)  VALUES  (..);   • INSERT  INTO  my_table  (..)  VALUES  (..); 55
  • 56. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | DELAYED  (cont.) • How  do  you  handle  delayed  statements  that  violate   UNIQUE  constraints?   • Offers  little  measurable  benefit  to  a  row-­‐level  locking   store  with  MVCC.   • Act  of  delaying  may  actually  incur  more  overhead. 56
  • 57. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | EXPLAIN • Previously  could  have  optional  modifiers:   • EXPLAIN  EXTENDED   • EXPLAIN  PARTITIONS   • These  modifiers  are  now  always  enabled.   • Motivated  by  simplification  and  code-­‐cleanup  (meta   data  only  adds  value). 57
  • 58. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | EXPLAIN  (cont.) 58 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)
  • 59. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Functionality  that  will  no  longer  be  supported Removed 59
  • 60. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | SHOW  ENGINE  INNODB  MUTEX 60 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=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)
  • 61. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | SHOW  ENGINE  INNODB  MUTEX  (cont.) • Overlaps  with  PS.   • Can  not  be  disabled.   • Code  refactored  so  that  InnoDB  can  use  different  locks   internally. 61
  • 62. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | InnoDB  Monitor  Tables • Existed  in  a  time  when  information_schema  did  not.   • Usage  was: 62 CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
 /* view to the error log */
 DROP TABLE innodb_monitor;
  • 63. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | InnoDB  Monitor  Tables  (cont.) • To  be  removed:   • innodb_tablespace_monitor   • innodb_table_monitor   • innodb_mem_validate   • To  be  replaced  by  config  setting:   • innodb_monitor   • innodb_lock_monitor 63
  • 64. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | ALTER  IGNORE  TABLE 64 mysql> CREATE TABLE a (id INT NOT NULL); Query OK, 0 rows affected (0.02 sec) mysql> INSERT INTO a VALUES (2), (2), (3); Query OK, 3 rows affected (0.01 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> ALTER TABLE a ADD PRIMARY KEY (id); ERROR 1062 (23000): Duplicate entry '2' for key 'PRIMARY'
  • 65. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | ALTER  IGNORE  TABLE  (cont.) 65 mysql> ALTER IGNORE TABLE a ADD PRIMARY KEY (id); Query OK, 3 rows affected (0.01 sec) Records: 3 Duplicates: 1 Warnings: 0 mysql> SELECT * FROM a; +----+ | id | +----+ | 2 | | 3 | +----+ 2 rows in set (0.00 sec)
  • 66. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | ALTER  IGNORE  TABLE  (cont.) • Will  silently  drop  rows  for  you!   • Semantically  may  even  drop  different  rows  on  slaves.   • We  would  prefer  users  to  build  a  query  to  drop  the  rows   themselves  and  not  offer  this  functionality: 66 mysql> SELECT * FROM a GROUP BY id HAVING count(*) > 1; +----+ | id | +----+ | 2 | +----+ 1 row in set (0.01 sec)
  • 67. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Removal  of  CLI  Programs • msql2mysql  [Shell  Script]   • mysqlaccess  [Perl  program]   • mysqlbug  [Shell  script]   • mysql_zap  [Shell  script]   • mysql_waitpid  [C  program]   • mysql_convert_table_format  [Perl  Program]   • mysql_fix_extensions  [Perl  Program]   • mysql_find_rows  [Perl  Program]   • mysql_setpermission  [Perl  Program]   • mysqlhotcopy  [Perl  Program] 67
  • 68. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Removal  Example:  mysqlhotcopy • Only  works  for  MyISAM  and  ARCHIVE  tables.   • Is  not  a  hot  copy.   • Unsafe  with  backing  up  views.   • Removed  to  prevent  users  doing  dangerous  things. 68
  • 69. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Removal  Example:  msql2mysql • Allows  you  to  import  tables  from  the  mysql  database.   • Useful  20  years  ago.   • No  longer  required. 69
  • 70. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | YEAR(2) • Ambiguous! 70 mysql> CREATE TABLE a (a year(2)); mysql> INSERT INTO a VALUES (20), (90); mysql> SELECT * FROM a; +------+ | a | +------+ | 2020 | | 1990 | +------+ 2 rows in set (0.00 sec)
  • 71. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | Removal  of  Old  Password  Support • MySQL  password  hash  prior  to  4.1  uses  weak  crypto.   • 16-­‐byte  hash   • New  format  has  been  available  for  10  years  (2004).   • Will  require  client  libraries  to  be  upgraded  as  well.   • PHP’s  mysql_*  extension 71
  • 72. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | How  to  prepare? • Try  MySQL  5.7  defaults  out  now:   • https://github.com/morgo/mysql-­‐compatibility-­‐config 72
  • 73. Copyright  ©  2015  Oracle  and/or  its  affiliates.  All  rights  reserved.    | We  want  your  feedback! • We  blog  about  our  change  proposals   • Feedback  has  been  great:   • SET  GLOBAL  sql_log_bin  -­‐  32  Comments   • System  tables  in  InnoDB  -­‐  15  comments   • Changes  to  user  management  -­‐  10  comments   • Deprecate  the  old  password  format  -­‐  6  comments   • Still  opportunities  for  more  feedback   • Subscribe  your  RSS  reader  to:
 http://planet.mysql.com/ 73
  • 74. Copyright  ©  2014  Oracle  and/or  its  affiliates.  All  rights  reserved.    | 74