问的比较笼统吧,装哪个倒不是问题,问题是你数据库有多大,平时跑起来怎么样,如果量比较大,MySQL 5.5也有可能1G内存顶不住。
4G内存跑MySQL 5.7倒是没听说过,官方好象是MySQL 8.0才配合2G内存安装的样子。
至于MariaDB,如果有程序建议用它,而且这程序不是特别小众的,那么我觉得开发者在开发过程中肯定也会想到和MySQL甚至是Percona之类的数据库相兼容的可能,有哪些很特殊的功能是只有MariaDB有,而MySQL对等版本完全没有且处理不了的呢?
一般来说,官网是5.5能够达到完全匹配,再上去,比如MariaDB 10.3,原装进Debian 10和Ubuntu 20的,到MariaDB 10.4基本上就和MySQL 8.0持平,不是说在MariaDB 10.3上的数据拿到MySQL 8.0上就不能跑,而是说这两者是对等的选手的意思。
官网在这里有介绍
https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/
从官网的介绍看,它是用drop-in来指代这种所谓的对等
MariaDB 10.2, MariaDB 10.3, and MariaDB 10.4 function as limited drop-in replacements for MySQL 5.7, as far as InnoDB is concerned. However, the implementation differences continue to grow in each new MariaDB version.
MariaDB 10.0 and MariaDB 10.1 function as limited drop-in replacements for MySQL 5.6, as far as InnoDB is concerned. However, there are some implementation differences in some features.
MariaDB 5.5 functions as a drop-in replacement for MySQL 5.5.
MariaDB 5.1, MariaDB 5.2, and MariaDB 5.3 function as drop-in replacements for MySQL 5.1.
那么,我的认识就是在两边5.5在版本上基本上完全兼容的,5.5以下最后一行就不解释了,5.5以上,10.0到10.1基本上是对应于5.6,里面涉及到InnoDB的功能和应用问题,应当是有些局限,在某些功能的执行层面有区别;10.2到10.4则是对应于5.7,情况和前一版本5.6的时候差不多,可代替使用,但在InnoDB上有兼容局限。
从上述页面右边的内容列表看,基本上从10.4开始一直到10.7就是对应于8.0了,但各版本和8.0之间会有不兼容情况,这个情况应当是比当初两边的5.5明显得多。
我以前有个程序,开始时内存大,装在MySQL 8.0上,后来程序一路升级,但换了机器,内存小了些,就换成了MariaDB 10.3,应当说在数据库上面,程序跑的没什么问题,所以我觉得一般的代码和应用,不太需要专门考虑这个差异不大的版本,除非你是从MariaDB 5.5到MySQL 8.0之间来回折腾,导入又导出再导入这样。想当初,Chevereto免费版,官方也提供的建议数据库版本,但我没看直接就装了,也没事,照样用。 |