MySQL 5.7将在今年10月结束生命周期。如果您仍然需要开始迁移,那么时间就越来越短了。对许多人来说,第一步是研究MySQL 8.0中新的保留字。随着MySQL获得新功能或项目的成熟,在不能用作列名的保留词列表中添加了新内容。
8.0新增保留字
本文档后面有一个新的保留词列表,您需要查看。
很可能您没有使用名为Master_tls_ciphersuites,但是……排名,系统,跳过,或引领?这些更常见,可能在您的表定义中,因此升级过程将更加困难。建议使用MySQL Shell中的util.checkForServerUpgrade()检查这些保留字。
如果我使用保留词会发生什么呢?
如果您尝试使用保留词,服务器不会显式地警告您正在尝试使用保留词。相反,服务器会通知您有语法错误。
这可能会令人困惑,因为数据描述语言(DDL)看起来是正确的,如果用几乎任何其他单词替换导致问题的单词,它实际上都可以工作。在下面的例子中,关键字“window”导致了这个问题。错误消息中缺乏明确性可能会导致很多混淆,并将您发送到文档中,试图找到一个不明显的错误。
|
1
2
|
SQL
>
创建
表格
reserved_demo
(
窗口
INT
)
;
错误
:
1064
:
你
有
一个
错误
在
你的
SQL
语法
;
检查
的
手册
那
对应
来
你的
MySQL
服务器
版本
为
的
正确的
语法
来
使用
附近
“窗口INT)”
在
行
1
|
有解决办法吗?
是的,有一个变通办法。在下面的例子中,单词“window”被反引号封装起来。“”反勾号很容易与单引号混淆,并且在某些字符集中可能与单引号无法区分。由于这些原因以及忘记添加这些标记的容易性,我不建议您持续使用此解决方案。对于一个快速的“我必须在8.0升级时这样做,稍后我会修改代码”的修复,这就足够了。
|
1
2
|
SQL
>
创建
表格
reserved_demo
(
`
窗口
`
INT
)
;
查询
好吧
,
0
行
影响
(
0.0136
证券交易委员会
)
|
保留的词会变得不保留吗?
在MySQL 8.0中不再保留的单词包括:AnalyZe (AnalyZe仍然保留)、Des_key_file、master_server_id、Redo-file、Remote和Sql_cache。你可以随心所欲地使用它们。
问题吗?
雷竞技下载官网Percona是一家开源数据库软件、支持和服务公司,致力于帮助数据库和应用程序更好地运行。如果你有问题,需要帮助,或者想把你的MySQL 5.7升级到8.0,请lol赔率雷电竞 。
需要额外的时间来升级?虽然我们建议每个人都升级到MySQL 8.0,但我们认识到一些组织可能需要额外的时间。因此,我们在订阅的基础上为MySQL 5.7提供扩展支持。如果这听起来像是您的组织所需要的,更多的细节将在这个博客上发布。
新的8.0保留了单词
Active、Array、Attribute、Authentication、Buckets、Bulk、Challenge_response、Clone、Cume_dist、Definition、Dense_rank、Description、Empty、Enforced、Engine_attribute、Exclude、Factor、Failed_login_attempts、Finish、First_value、Following、Generate、Geomcollection、Get_source_public_key、Grouping、Groups、Gtid_only、History、Histogram、Inactive、Initial、Initiate、Intersect、Json_table、Keyring、Lag、Last_value、Laterl、Lead、Locked、Master_compression_algorhythm、Master_public_key_path、Master_tls_cyphersuites、master_zstd_compression_level、Member、Nested、Nowait、Nth_value、Ntile、Nulls、Of、Off、Oj、Old、Optional、Ordinality、Organization、Others、Over、Password_lock_time、Path、Percent_rank、Persit_only、prior、Privilege_check_user、Process、Random、Rank、Recursive、Reference、Registration、Remote、Replica、Replicas、Require_row_format、Resource、Restart、Respect、Retain、Returning、Reuse、Row_number、Secondary、Secondary_engine、Secondary_engine_attribute、Secondary_load、Secondary_unload、Skip、Source_auto_position、Source_bind、Source_auto_position、Source_compress_algorhythm、Source_connect_retry、Source_delay、Source_heartbeat_period、Source_host、Source_log_file、Source_log_pos、Source_password、Source_port、Source_public_key_path、Source_retry_count、Source_ssl、Source_ssl_ca、Source_ssl_capath、Source_sll_cert、Source_ssl_cypher、Source_ssl_crl、Source_ssl_crlpath、Source_ssl_key、Source_ssl_verify_server_cert、Source_tls_ciphersuites、Source_tls_version, Source_user, Source_zstd_compression_level, Srid, Stream, System, Thread_priority, Ties, Tls, Unbounded, Unregister, Url, Vcpu, Window, Zone。
雷竞技下载官网Percona Distribution for MySQL是最完整、稳定、可扩展和安全的开源MySQL解决方案,为您最关键的业务应用程序提供企业级数据库环境……而且它是免费使用的!






