多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
> 本文将和大家一起分享下5.7的新特性,不过我们要先从即将被删除的特性以及建议不再使用的特性说起。根据这些情况,我们在新版本及以后的版本中,应该不再使用,避免未来产生兼容性问题。 本文是基于MySQL-5.7.7-rc版本,未来可能 还会发生更多变化。 ## 1、即将删除的特性 1. InnoDB monitoring features,详见:[WL#7377](http://dev.mysql.com/worklog/task/?id=7377)(访问地址:[http://dev.mysql.com/worklog/task/?id=7377](http://dev.mysql.com/worklog/task/?id=7377),下面的其他WL,可以自行替换) 【建议】可以动态修改 innodb_status_output、innodb_status_output_locks 两个参数的值打印相关信息,或者直接查看INFORMATION_SCHEMA下的相关表。 2. old-password,4.1之前的就密码认证模式已经禁用,old_passwords参数不可用,WL#8006 【建议】尽快升级旧密码串,同时升级MySQL版本,不要告诉我,你还在用4.1甚至更早的版本。 ## 2、部分SQL语法不可用 1. ALTER TABLE … IGNORE。 2. INSERT DELAY特性,但保留这个语法。WL#6073 3. ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES 等几个SQL MODE合并到STRICT中。不过可能会导致replication失败,所以还在考虑中。WL#7467 4. 不再支持YEAR(2),建议尽快升级成YEAR(4)。WL#6263 【建议】尽可能使用标准SQL语法,不再使用MySQL特有的,或者不是那么严格要求的语法,避免以后版本升级遇到更多麻烦。 ## 3、一些参数不可用 1. 不再支持一些指令的简短写法,必须要求写全了,例如mysqldump –compr表示 mysqldump –compress,以后必须将整个参数写完整。WL#6978 2. 删除timed_mutexes。WL#7436 3. 不能再禁用InnoDB引擎,因为系统表也都改成InnoDB了。WL#7976 4. 性能提升有限,删除innodb_use_sys_malloc、innodb_additional_mem_pool_size。WL#7628 5. 意义不大,删除innodb_mirrored_log_groups。WL#6808 6. 已经有新的系统参数代替了,删除innodb_file_io_threads。WL#7149 7. 删除系统参数storage_engine,改用default_storage_engine。WL#7148 8. 删除mysql_upgrade中的–basedir和–datadir系统参数。WL#7010 ## 4、一些客户端工具 mysqlaccess、mysql_convert_table_format、mysql_fix_extensions、mysql_find_rows.sh、mysql_setpermission、msql2mysql、mysqlbug、mysql_zap and mysql_waitpid、mysqlhotcopy将不再使用。 【建议】没什么好说的,顺应潮流跟上新版本吧,该放弃的就放弃,不要抱残守缺了,这些工具也基本上都用不上的。 下一期,我们讲讲5.7中不再建议使用的特性, 也就是未来可能会被删除的特性。