Tabulated by Artful Software Development
Version-to-version incompatibilities that can break
existing SQL code and replication setups.
Versions | Url | Incompatible changes |
---|---|---|
5.0 | http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html | New reserved words in MySQL 5.0 |
5.0.1 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-1.html | C API change: mysql_shutdown()
now requires a second argument. |
5.0.2 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-2.html | Precedence of NOT
operator, revert to previous behaviour wuth new HIGH_NOT_PRECEDENCE
SQL mode |
SHOW
STATUS now shows Session status variables, SHOW
GLOBAL STATUS shows Global variables |
||
5.0.3 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-3.html | C API ER_WARN_DATA_TRUNCATED
warning symbol renamed to WARN_DATA_TRUNCATED . |
DECIMAL
and NUMERIC
data types handled with fixed-point library (Precision
Math) |
||
5.0.6 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-6.html | LOAD DATA INFILE , SELECT
... INTO OUTFILE : columns are read and written with field width
wide enough to hold all values |
MyISAM & InnoDB Decimal columns incompatible with those created with 5.0.3 or 5.0.5 | ||
5.0.8 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-8.html | Format of result of conversion by DATETIME+0
used to be YYYYMMDDHHMMSS format, now YYYYMMDDHHMMSS.000000 |
5.0.10 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-10.html | Trigger names unique in database namespace rather than table namespace |
5.0.12 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-12.html | Joins upgraded to SQL:2003 standard, breaking some comma-join queries written for previous versions. See "Join Processing Changes in MySQL 5.0.12" in http://dev.mysql.com/doc/refman/5.0/en/join.html |
5.0.13 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-13.html http://dev.mysql.com/doc/refman/5.1/en/news-5-1-15.html |
InnoDB lock wait timeout caused roll back of entire current transaction, now only the most recent SQL statement. |
5.0.14 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-15.html | Pad value for Binary columns changed from space to 0x00 |
5.0.15 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-15.html | Char() now returns a Binary string, accepts a USING charset argument, and breaks arguments > 255 into multiple result bytes, eg Char(65536) means Char(1,0,0) (but the mysql client interprets it incorrectly) |
5.0.19 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-19.html | InnoDB now includes trailing spaces when comparing [Var]Binary column values. |
5.0.19 5.1.7 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-19.html
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-7.html |
New mysql_upgrade progam to check all tables and if necessary update them for backward incompatibility, and new Check Table For Upgrade option |
5.0.23 5.1.12 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-23.html
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-12.html |
Grant | Revoke ... On * requires a default database, throws an error if there is not |
5.0.24a 5.1.12 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-24a.html http://dev.mysql.com/doc/refman/5.1/en/news-5-1-12.html |
5.0.24 introduced an application binary interface incompatibility, which 5.0.24a reverts. |
5.0.27 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-27.html | 5.0.26 introduced an application binary interface incompatibility, which 5.0.27 and Enterprise 5.0.28 revert. |
5.0.30sp1 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-30sp1.html | In 5.0.30sp1 and 5.0.32 Enteprise, --innodb_rollback_on_timeout
emulates pre-5.0.14 behaviour in causing InnoDB to abort and roll back the
entire transaction on a transaction timeout |
5.0.33 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-33.html | System variable prepared_stmt_count
changed to global status variable Prepared_stmt_count
(see SHOW
GLOBAL STATUS ). |
5.0.36 5.1.15 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-36.html http://dev.mysql.com/doc/refman/5.1/en/news-5-1-15.html |
Commas in ENUM
column values are no longer mapped internally to 0xff ,
so tables with true 0xff values must be
dumped with a pre-5.0.36 MySQL version, then reloaded with a 5.0.36 or
later MySQL version. |
5.0.37 5.1.15 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-37.html http://dev.mysql.com/doc/refman/5.1/en/news-5-1-15.html |
Cluster
configuration parameter LockPagesInMainMemory
changes type and possible values. See LockPagesInMainMemory |
DATE_FORMAT()
returns string using character_set_connection
and collation_connection
rather than a binary string to support day and month names with non-ASCII
characters. |
||
5.0.45 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-45.html | INSERT
DELAYED statements not supported for, and no longer corrupts MERGE
tables, |
5.0.45 5.1.18 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-45.html http://dev.mysql.com/doc/refman/5.1/en/news-5-1-18.html |
Date-DateTime comparison now coerces time portion of Date to 00:00:00 rather than ignoring it or treating the values as strings. For backward compatibility use Cast(datetimeval, Date) |
5.0.45 5.1.20 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-45.html http://dev.mysql.com/doc/refman/5.1/en/news-5-1-20.html |
Views invoking stored functions and created by 5.0.40 through 5.0.43 or 5.1.18-5.1.19 must be dropped and recreated |
Mysqldump --delete-master-logs
option deleted log files before success is known. Now flushes logs, does the
dump, then purges the logs, so log numbering differs from pre-5.0.42. |
||
Group_Concat() query with Order By or Distinct clause could redisplay results from previous queries. The fix to this may cause truncation, in which case a warning is issued. | ||
5.0.51 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-51.html | Select statements containing unclosed /*
now elicit syntax errors, may affect query parsing in stored procedures |
5.0.52 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-52.html | In Delete commands, alias declarations may be declared only in table references |
Failing to declare collations may affect indexing | ||
If Sql Mode includes Only Full Group By, reject queries invoking Having without Group By | ||
Ensure that alias names in Views follow column name rules | ||
Coalesce(), If(), Ifnull(), Least(), Greatest(), Case, Str_To_Date() now return correct result types | ||
5.0.67 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-67.html | Changes in handling of incompatible .frm files |
5.0.67 5.1.24 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-67.html http://dev.mysql.com/doc/refman/5.1/en/news-5-1-24.html |
Frac_Second deprecated; with anything other than Timestampadd() or Timestampdiff() produces syntax error. |
5.0.67 5.1.26 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-67.html http://dev.mysql.com/doc/refman/5.1/en/news-5-1-26.html |
Federated engine disabled by default in shipped example .cnf files |
5.0.75 5.1.28 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-75.html http://dev.mysql.com/doc/refman/5.1/en/news-5-1-28.html |
Changes to initialization code in libmysql.dll |
Status variable Innodb_buffer_pool_pages_latched shown only if UNIV_DEBUG is defined at MySQL build time | ||
5.0.77 5.1.29 |
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-77.html http://dev.mysql.com/doc/refman/5.1/en/news-5-1-29.html |
Lose unused database directory arc folders for Views |
5.0.87 | http://dev.mysql.com/doc/refman/5.0/en/news-5-0-87.html
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-40.html http://dev.mysql.com/doc/refman/5.5/en/news-5-5-0.html |
Supplied binary-configure script no longer starts and configures MySQL with --help command-line option. |
5.1 | http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html | New reserved words in MySQL 5.1 |
5.1.3 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-3.html | New plugin system |
Renamed table_cache
system variable to table_open_cache |
||
5.1.7 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-7.html | C API mysql_stmt_attr_get() function now returns boolean rather than unsigned int for STMT_ATTR_UPDATE_MAX_LENGTH. |
Changes in partition naming rules | ||
Type=... no longer accepted as synonym for Engine=... in Create Table | ||
5.1.8 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-8.html | cluster_replication
database renamed to cluster |
Changes in semantics for Alter Table for partitions | ||
5.1.11 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-11.html | Changes in Event scheduler and information_schema.events |
5.1.12 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-12.html | Cluster: allow different fragments to use different LCPs during restarts, allow access to information_schema.files from all engines |
Support for Berkeley DB (BDB) dropped | ||
Changes in partitioning syntax, fulltext parser plugin interface, utf8 fulltext whitespace handling | ||
Events now in database namespaces, not user namespaces | ||
Changes in sql_mode=IGNORE_SPACE | ||
System variable innodb_buffer_pool_awe_mem_mb system removed | ||
5.1.14 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-14.html | Cluster system table changes |
System variable prepared_stmt_count changed to global status variable named Prepared_stmt_count | ||
Creating a UDF named the same as a built-in function generates an error, and creating a stored function with the same name as a built-in function generates a warning. | ||
5.1.15 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-15.html | Changes to effects of enabling read_only
system variable |
Archive torage engine no longer creates .ARM
metadata file for each table. |
||
5.1.16 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-16.html | NDB API: AbortOption now a member of dbOperation class with different values & behaviour, see The NdbOperation::AbortOption Type |
Create | Alter Event now use session time zone | ||
5.1.17 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-17.html | Merge tables now reject Insert Delayed |
5.1.18 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-18.html | Cluster: changed storage specs for column specification |
Event tables changed to facilitate replication. Run mysql_upgrade before working with events. | ||
Cluster: Changed definition of mysql.ndb_apply_status table | ||
Changes in system variables related to plugins | ||
Dump events created pre-5.1.18 and restore only after upgrading to 5.1.18 or later. Problem fixed in 5.1.20. | ||
5.1.19 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-19.html | Insert Delayed is changed to normal Insert if Insert uses functions that access tables or triggers, or is called from a function or trigger. |
5.1.20 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-20.html | Log tables can no longer be partitioned |
mysqld_safe now supports error logging to syslog on systems that support logger command | ||
Error code values adjusted to match 5.0 | ||
5.1.21 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-21.html | Default log destination changed from Table to File. |
System variable innodb_log_arch_dir
removed |
||
Rebuild indexes for columns that use eucjpms, euc_kr, gb2312, latin7, macce or ujis charsets | ||
mysqkd-nt.exe removed from Windows releases. Use mysqld. | ||
New columns in mysql.proc, mysql.events and information_schema.events to manage charsets & collations in stored programs | ||
5.1.24 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-24.html | Reverted a 5.1.23 constant name change in NET structure in mysql_com.h |
Reverted a change in handling of Nulls in
Updates See also http://dev.mysql.com/doc/refman/5.1/en/news-5-1-32.html |
||
Change in plugin location | ||
Rebuild indexes using utf_general_ci or ucs2_general_ci charsets | ||
5.1.25 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-25.html | Detect metadata changes to tables or views referred to by prepared statements and automatically reprepare |
5.1.27 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-27.html | Rename or drop partitioned tables using mixed case names before upgrading to 5.1.27 on Mac OS X |
5.1.29 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-29.html | Changed default binary log mode from Mixed to Statement |
Check Table ... For Upgrade now checks for incorrect collation changes made in 5.1.21 | ||
5.1.36 | http://dev.mysql.com/doc/refman/5.1/en/news-5-1-36.html | Changes in handling of plugins |
5.5 | http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html | New reserved words in MySQL 5.5 |
5.5.0 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-0.html | New plugin interface |
Changes in error message language and charset | ||
Changes in access privileges for several statements | ||
5.5.1 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-1.html | Changes in naming of semisynchronous plugins |
5.5.2 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-2.html | Changes in plugin.h |
5.5.3 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-3.html | log_bin_trust_routine_creators => log_bin_trust_function_creators and several other variable name changes Create Table(...)Type=... => Create Table(...) Engine=... Show Table Types => Show Engines TimeStamp(N) => TimeStamp() TimeStampAdd(...frac_second...) => TimeStampAdd(...microsecond...) Show InnoDB Status, Show Mutex Status => Show Engine InnoDB Status, Show Engine InnoDB Mutex Select wildcard aliases disallowed String conversions respect collation settings New columns in information_schema.routines Reset master | Slave reset Last_IO_Error, Last_IO_Errno, Last_SQL_Error, Last_SQL_Errno in Show Slave Status |
5.5.6 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-6.html | Sha2() & other encryption return values now respect connection character set & collation settings |
5.5.7 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-7.html http://dev.mysql.com/doc/refman/5.6/en/news-5-6-1.html |
Flush Logs no longer renames old logfile InnoDB now truncates using Create & Drop Table In statement-based replication, Insert Delayed now logged as Insert handler...Read disallows calls to stored functions |
5.5.8 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-8.html | performance_schema table names now lower case, some columns renamed Flush Table With Read Lock redesigned |
5.5.9 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-9.html http://dev.mysql.com/doc/refman/5.6/en/news-5-6-2.html |
auto_increment values can no longer reach maximum BigInt Unsigned value |
5.5.10 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-10.html | New C API library version |
5.5.14 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html http://dev.mysql.com/doc/refman/5.6/en/news-5-6-3.html |
Class member change in audit plugin |
5.5.18 | http://dev.mysql.com/doc/refman/5.5/en/news-5-5-18.html | Several statements newly marked unsafe for statement-based replication |
5.6 | http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html | New reserved words in MySQL 5.6 (warning: there are very many!) |
5.6.1 | http://dev.mysql.com/doc/refman/5.6/en/news-5-6-1.html | Several server variables removed Replication: database-level statements take precedence over table wildcards Lock Tables blocks Create Table |
5.6.2 | http://dev.mysql.com/doc/refman/5.6/en/news-5-6-2.html | Flush Master | Slave removed |
5.6.3 | http://dev.mysql.com/doc/refman/5.6/en/news-5-6-3.html | Changes in timeout handling |
5.6.4 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-4.html | Timestamp(n) no longer sets display width, now specifies 0<=n<=6 microsecond digits. InnoDB now supports FullText. |
5.6.5 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-5.html | Any number of Timestamp columns may default to Now() on insert and/or on update. |
5.6.6 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-6.html | innodb_file_per_table enabled (previously disabled), innodb_checksum_algorithm now CRC32 (previously InnoDB) binlog_checksum now CRC32 (previously NONE) |
5.6.7 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-7.html | Alter Table commands that would lose data by changing a Foreign Key are now blocked. Replication: Within a transaction, Change Master To, Start Slave, Stop Slave and Reset Slave induce a Commit. |
5.6.9 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-9.html | Several GTID-related variable name changes. Last_Insert_Id() now returns a Bigint Unsigned value, not a Bigint (signed) value. |
5.6.11 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-11.html | backward-incompatible changes in partiton Key syntax and handling |
5.6.12 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-12.html | Because IDENTIFIED WITH is intended for Grant statements that create a new user are now prohibited if the named account already exists. |
5.6.13 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-13.html | Backward-incompativle performance schema change. |
5.6.14 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-14.html | In 5.6.13 the statement/com/ abstract statement instrument in the Performance Schema setup_instruments table was renamed to statement/com/new_packet. That is reverted in 5.6.14. |
5.6.15 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-15.html http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-3.html |
Several more performance_schema renamings. |
5.6.17 | http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-17.html | AES_DECRYPT() and AES_ENCRYPT() take a vector argument to control block encryption mode. |
5.6.32 | https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-32.html | Load Data... now rejects previously accepted invalid character data. |
5.6.34 | https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-34.html | The variable secure_file_priv can be set to NULL to
disable all import and export operations. |
5.6.39 | https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-39.html | The sha256_password authentication plugin now accepts passwords only up to length 256,
likewise the PASSWORD() function when |
5.7.1 | http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-1.html | Key partitioning hashing function changes in 5.5 make tables using key partitioning created on a 5.5 or later server incompatible with a 5.1 server. |
5.7.2 | http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-2.html | mysql.user.plugin now defined as Not Null, run mysql_upgrade. log_error_verbosity is preferred to log_warnings. |
5.7.4 | http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-4.html | mysql.user table has new columns password_last_changed and password_lifetime, run mysql_upgrade. |
5.7.4 | http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-4.html | Default sync_binlog setting changed from 0 to 1, improving data protection against disk crashes,
but it can seriously worsen write performance. |
5.7.5 | http://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.html | mysql_install_db isnow an executable written in C++ rather than a Perl script. |
5.7.5 | http://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#option_mysqld_innodb | InnoDB engine can no longer be disabled. |
5.7.5 | http://dev.mysql.com/doc/refman/5.7/en/account-upgrades.html | Support for pre-4.1 passwords removed. |
5.7.5 | http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-full | Many sql_mode changes. |
5.7.5 | http://dev.mysql.com/doc/refman/5.7/en/year.html | Year(2) removed, use Year(4). |
5.7.6 | Create User and Alter User commands massively reworked. Grant is also affected, as is mysql.user structureand use, and a semantic incompatibility in Set Password is created. | |
http://dev.mysql.com/doc/refman/5.7/en/mysql-real-escape-string-quote.html | mysql_real_escape_string_quote() replaces mysql_real_escape_string() in C API. | |
http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-6.html | InnoDB Tablespace files created before 5.1 can fail. Look for " tablespace data files" in the linked page. | |
5.7.8 | http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-8.html | Previously created Virtual generated columns must be recreated. |
5.7.9 | http://dev.mysql.com/doc/refman/5.7/en/mysql-options.html | New options in C API function mysql_options(). Usernames increase in length from 16 to 32 chars. Run the mysql_upgrade program. |
http://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html | Inner InnoDB file changes require clean InnoDB shutodwn in upgrade. | |
5.7.10 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-10.html | InnoDB 2-phase XA transactions are now always supported. The innodb_support_xa
variable is deprecated.
|
5.7.12 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-12.html | Use the --early-plugin-load option to load a keyring plugin.
|
5.7.13 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-13.html | The definer and grantor columns in the mysql database increase to 32 chars to match the 5.7.9 change in mysql.user length. Run the mysql_upgrade program.
|
5.7.16 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-16.html | The ignore_db_dirs variable is deprecated, and removed in 8.0.
|
5.7.18 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-18.html#mysqld-5-7-18-compiling | PROCEDURE ANALYSE() , the --temp-pool server option, and support for DTrace are deprecated and removed in 8.0.
|
5.7.19 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-19.html#mysqld-5-7-19-account-managements | The innodb_undo_logs option is deprecated, will be removed; use innodb_rollback_segments .The libmysqld embedded server library is deprecated, will be removed in 8.0. |
5.7.20 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-20.html#mysqld-5-7-20-deprecation-removal | transaction_isolation and transaction_read_only have been
aliases for tx_isolation and tx_read_only ; they're now deprecated, will be removed in 8.0. Use transaction_isolation and transaction_read_only instead.Also deprecated:
|
5.7.21 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-21.html | The innodb_undo_tablespaces option is deprecated
|
5.7.22 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-22.html#mysqld-5-7-22-deprecation-removal | DB2, MAXDB, MSSQL, MYSQL323, MYSQL40, ORACLE, POSTGRESQL, NO_FIELD_OPTIONS,
NO_KEY_OPTIONS, NO_TABLE_OPTIONS sql modes are deprecated, will be removed in 8.0. They will
not replicate to 8.0.
|
5.7.23 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-23.html | Long partition table names required that mysql.innodb_index_stats, mysql.innodb_table columns be lengthened. Run mysql_upgrade.
|
5.7.24 | https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-24.html#mysqld-5-7-24-deprecation-removal | Deprecated: placing table partitions in shared tablespaces, CREATE TEMPORARY ABKE ... TABLESPACE=innodb_file_per_table || TABLESPACE=innodb_temporary . All will be removed.
|
8.0 | https://dev.mysql.com/doc/refman/8.0/en/keywords.html | Reserved words, keywords in 8.0. |
8.0.0 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-0.html#mysqld-8-0-0-account-management | Grant tables (mysql.user, db, tables_priv, columns_priv, procs_priv,
proxies_priv ) no longer use the MyISAM storage engine; they now use the InnoDB
storage engine. Run mysql_upgrade. All commands that change these tables are
transactional; partial completion will not replicate to 8.0.
Create|Drop Function... now causes an implicit commitThe utf8mb4 Unicode character set has a new general collation, utf8mb4_0900_ai_ci.The new data dictionary and the tables in the mysql database now all use InnoDB, so the system variable
innodb_read_only now blocks all database writes.The deprecated mysql_install_db was removed. Foreign key names now have a maximum length of 64 chars. ignore_db_dir was removed.routines, events, parameters tables are no longer in the mysql db; they are in
the sysem data dictionary information_schemma .See here for how to upgrade from 5.7 to 8.0. performance_schema now instruments server errors and warnings.The variable validate_password_check_user_name is now enabled by default, so when
the plugin is enabled, it by default rejects a password matching the current session username.Spatial function names Contains(), Disjoint(), Equals(), Intersects(), Overlaps(), Within()
have been replaced by their MBR_ versions.These spatial function names are replaced by their ST_ versions: Area(), AsBinary(), AsText(),
AsWKB(), AsWKT(), Buffer(), Centroid(), ConvexHull(), Crosses(), Dimension(), Distance(), EndPoint(), Envelope(),
ExteriorRing(), GeomCollFromText(), GeomCollFromWKB(), GeomFromText(), GeomFromWKB(), GeometryCollectionFromText(),
GeometryCollectionFromWKB(), GeometryFromText(), GeometryFromWKB(), GeometryN(), GeometryType(), InteriorRingN(),
IsClosed(), IsEmpty(), IsSimple(), LineFromText(), LineFromWKB(), LineStringFromText(), LineStringFromWKB(),
MLineFromText(), MLineFromWKB(), MPointFromText(), MPointFromWKB(), MPolyFromText(), MPolyFromWKB(),
MultiLineStringFromText(), MultiLineStringFromWKB(), MultiPointFromText(), MultiPointFromWKB(),
MultiPolygonFromText(), MultiPolygonFromWKB(), NumGeometries(), NumInteriorRings(), NumPoints(),
PointFromText(), PointFromWKB(), PointN(), PolyFromText(), PolyFromWKB(), PolygonFromText(), PolygonFromWKB(),
SRID(), StartPoint(), Touches(), X(), Y() .Partitioning is now only don by storage engines, and only InnoDB does it, so the options --partition, --skip-partition are removed.Previously deprecated InnoDB file format variables innodb_file_format, innodb_file_format_check,
innodb_file_format_max, innodb_large_prefix were removed.The mysqlcheck options --fix-db-names, --fix-table-names were removed..Spatial arguments now elicit errors from CONCAT(), CONCAT_WS() .JSON functions such as JSON_EXTRACT() now acceot a quoted empty string
as a key.
|
8.0.1 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-1.html | The default character set has been changed from latin1 to
utf8mb4 .The default collation for utf8mb4 was utf8mb4_general_ci ,
is now utf8mb4_0900_ai_ci . For the many consequent changes, see the link.The c/c++ source no longer has the my_bool type. Use bool ;
deprecated syntax has been removed.The deprecated libmysqld embedded server and PROCEDURE ANALYSE()
have been removed.MySQL 8.0 requires the Microsoft Visual C++ 2015 Redistributable Package. Many performance_schema changes, run mysql_upgrade.global_variables, session_variables, global_status, session_status tables have moved from
information_schema to performance_schema .Instead of the previously deprecated and now removed information_schema tables
innodb_locks, innodb_lock_waits tables , use performance_schema.data_locks,
data_lock_waits , or sys.innodb_lock_waits, x$innodb_lock_waits Views.For security reasons, in standalone and win builds the default secure_file_priv setting
is now NULL rather than ''./bin/bash is required to run mysqld_safe on Solaris. Server components and plugins can now define privileges dynamically at runtime. The spatial function ST_Distance() now detects geometry arguments.These spatial functions now accept just WKB arguments, no longer accept geometry arguments:
ST_GeomCollFromWKB(), ST_GeometryCollectionFromWKB(), ST_GeomFromWKB(), ST_GeometryFromWKB(),
ST_LineFromWKB(), ST_LinestringFromWKB(), ST_MLineFromWKB(), ST_MultiLinestringFromWKB(),
ST_MPointFromWKB(), ST_MultiPointFromWKB(), ST_MPolyFromWKB(), ST_MultiPolygonFromWKB(), ST_PointFromWKB()
.These spatial functions now interpret latitude and longitude in the order specified by the SRS, and accept an optional argument to override the default axis order: ST_GeomCollFromText(),
ST_GeometryCollectionFromText(), ST_GeomCollFromTxt(), ST_GeomFromText(), ST_GeometryFromText(),
ST_LineFromText(), ST_LinestringFromText(), ST_MLineFromText(), ST_MultiLinestringFromText(),
ST_MPointFromText(), ST_MultiPointFromText(), ST_MPolyFromText(), ST_MultiPolygonFromText(),
ST_PointFromText(), ST_PolyFromText(), ST_PolygonFromText(), ST_GeomCollFromWKB(),
ST_GeometryCollectionFromWKB(), ST_GeomFromWKB(), ST_GeometryFromWKB(), ST_LineFromWKB(),
ST_LinestringFromWKB(), ST_MLineFromWKB(), ST_MultiLinestringFromWKB(), ST_MPointFromWKB(),
ST_MultiPointFromWKB(), ST_MPolyFromWKB(), ST_MultiPolygonFromWKB(), ST_PointFromWKB(),
ST_PolyFromWKB(), ST_PolygonFromWKB(), ST_AsBinary(), ST_AsWKB(), ST_AsText(), ST_AsWKT().
.INSERT ... SELECT ... ON DUPLICATE KEY UPDATE where UPDATE refers to SELECT
columns could produce incorrect results if the SELECT was a UNION , so now
they elicit an error. Write the UNION as a derived single table.Because of a bug fix, a View can no longer be replaced just by reference to information_schema.Views . Use Show Create View .
|
8.0.2 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-3.html | To log to the system log, you now need to load the log_sink_syseventlog
log component and list it in log_error_services .partition management is much changed, see the link. Some plugins ,eg Group Replication, X Plugin, now use the mysql.session add d in 8.0, so if
the version being upgraded from did not include mysql.session account, you will need to run
mysql_upgrade.The spatial functions ST_Contains(), ST_Crosses(), ST_Disjoint(), ST_Equals(), ST_Intersects(),
ST_Overlaps(), ST_Touches(), ST_Within(), MBRContains(), MBRCoveredBy(), MBRCovers(), MBRDisjoint(),
MBREquals(), MBRIntersects(), MBROverlaps(), MBRTouches(), MBRWithin() now detect and handle
geometry arguments.MySQL formerly took the first, now takes the last members with the same key name. |
8.0.4 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-4.html | Regex now uses International Components for Unicode, multibyte safe with new
functions. The default authentication plugin is now caching_sha2_password .Some ST_* functions now return errors for out-of-range params.MySWL now uses binlog as a base name for the binary log.
|
8.0.11 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html | DB2, MAXDB, MSSQL, MYSQL323, MYSQL40, ORACLE, POSTGRESQL, NO_FIELD_OPTIONS,
NO_KEY_OPTIONS, NO_TABLE_OPTIONS sql modes are removed.GeomCollection[()] is a synonym for GeometryCollection[()] , and preferred. |
8.0.12 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-12.html | Some changes to ST_* functions, see link. |
8.0.13 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-13.html | Changes to log_syslog* variable names.GROUP BY no longer supports ASC | DESC . |
8.0.14 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-14.html#mysqld-8-0-14-account-management | Support for secondary passwords, upgrading from 8.0.13 requires running mysql_upgrade. |
8.0.16 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-16.html | InnoDB restores automatic generation of foreign key contraint names discontinued in 8.0. |
8.0.20 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-20.html | Fixed ST_Contains(), which had returned nothing without > 0. Recreate spatial indexes. |
8.0.21 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-21.html | Access to INFORMATION_SCHEMA.FILES requires PROCESS privilege. |