MySQL 8.0版本中移除了哪些功能?
MySQL 8.0作为MySQL版本的最新代表,已经发布了一段时间。与此同时,MySQL 8.0也移除了一些不再使用的功能。本文将总结MySQL 8.0版本中完全移除的功能。
阅读更多:MySQL 教程
移除的功能
1. MyISAM存储引擎
MyISAM存储引擎是MySQL从最初的版本就存在的存储引擎之一,但在MySQL 8.0中它已经被完全移除了。MySQL 8.0中使用InnoDB作为默认存储引擎,MyISAM存储引擎已经不再默认安装,也不再维护和更新。
2. query cache
在MySQL 5.7版本中,query cache在一些场景中能够显著提高性能。但是,在MySQL 8.0中,query cache已被完全移除了。相反,在8.0中,建议使用更多的内存、更好的索引和更快的存储设备来提高查询性能。
3. mysqlshow命令
mysqlshow命令是MySQL客户端命令之一,用于显示给定数据库中的表和列信息。但是,在MySQL 8.0中,mysqlshow已被完全移除,并且官方推荐使用SHOW语句代替。
4. mysqlaccess命令
mysqlaccess命令是MySQL客户端命令之一,用于从授权表中显示用户和它们的权限信息。但是,在MySQL 8.0中,mysqlaccess已被去除。
5. mysql_convert_table_format
mysql_convert_table_format是用于修改表格格式的命令。 在MySQL 8.0 中,它已被移除,因为新的数据格式在内部中有更快的复制和表更改。
6. 过时的系统变量
MySQL 8.0中也删除了一些过时的系统变量,它们被视为不再有用,或者已经被替代了更好的选项。例如:
- div_precision_increment(使用div_precision_increment)
- yassl_cipher (使用tls_version)
- key_buffer_size(使用key_buffer_size)
示例代码
MySQL 8.0不支持的mysqlshow命令
在MySQL 8.0中,mysqlshow命令已被完全删除。我们可以使用SHOW语句查看数据库的表和列。
SHOW DATABASES; -- 查看所有数据库
SHOW TABLES FROM my_db; -- 查看数据库my_db中的表
SHOW COLUMNS FROM my_table; -- 查看表my_table的列
MySQL 8.0不支持的mysqlaccess命令
在MySQL 8.0中,mysqlaccess命令已被完全删除。我们可以通过查询MySQL的授权表来查找用户和它们的权限信息。
SELECT * FROM mysql.user; -- 查看所有用户
SHOW GRANTS FOR my_user@localhost; -- 查看用户my_user的授权信息
结论
MySQL 8.0中移除了MyISAM存储引擎、query cache、mysqlshow/ mysqlaccess命令、mysql_convert_table_format命令和一些过时的系统变量。对于已经升级到MySQL 8.0的用户,如果在升级后遇到与这些移除功能相关的问题,则需要通过其他方式解决。因此,在使用MySQL 8.0之前,需要了解这些移除的功能,以便更好地规划和使用MySQL 8.0。