在之前的版本包括oracle mysql/percona server版本中,所有的动态SQL都需要通过prepare执行,如下: "; execute stmt; deallocate prepare stmt; 现在可以这样执行: EXECUTE IMMEDIATE 'SELECT 1'…
在mysql 5.6开始就支持延时复制,这在一些需要维护大量非标准化系统或者运维技术水平较低的公司和开发人员众多的项目组这是一个非常有价值的特性,可以说误操作的概率跟一个城市车祸概率的水平差不多了,我们现在几乎每个两三天都会发生线上或者线下误操作导致数据需要恢复的情况. 在差不多2014年的时候,我们主要使用mariadb为主,差不多2015年底的时候,我们切换回到了percona server,因为在整体功能差不多或者没有明显的经验证明A方案比B方案更具优势或者虽然有明显优势.但其优势我们没有…
注:本文严禁任何形式的转载,原文使用word编写,为了大家阅读方便,提供pdf版下载. MySQL与MariaDB主要特性比较详细版v1.0(不含HA).pdf 链接:https://pan.baidu.com/s/1qAcrxg8eRumRi3FTJtXZxw 提取码:giei MySQL与MariaDB主要特性核心正式版v1.0.pdf 链接:https://pan.baidu.com/s/1yAKU7GIV4LDQRCvnx7oEnQ 提取码:1d6t 简介 如果你希望编写的SQL是非常通…
在MariaDB .3版本中sequence是特殊的表,和表使用相同的namespace,因此表和序列的名字不能相同. MariaDB [wuhan]> select version(); +--------------------+ | version() | +--------------------+ -MariaDB-log | +--------------------+ row in set (0.000 sec) MariaDB [wuhan]> create sequence…
MariaDB Galera Cluster  (MariaDB 10.1) 当前只支持:LINUX ! 参考: https://mariadb.com/kb/en/mariadb/getting-started-with-mariadb-galera-cluster/ MariaDB Galera Cluster is MariaDB plus the MySQL-wsrep patch from Codership. It is currently available on Linux on…
mariadb 10 多源复制(Multi-source replication) 业务使用场景分析,及使用方法 官方mysql一个slave只能对应一个master,mariadb 10开始支持多源复制,一个slave可以有多个master,分别从各自的master复制不同的DB. 这个特性可以用在OLAP环境中,传统电商DB都是拆了再拆,分库分表,sharding,而OLAP环境或者大数据平台环境,通常需要各种数据的聚合,多个平台多个DB数据的复合查询,而这些数据分散在各个库中,怎么办了,当…
mariadb 现有动态列,支持json格式存储,类似mongodb的bson,但是操作能力较为尴尬,中间件有spider,我非常感兴趣的一个东西 关于spider 这里有一篇很好的博文,有时间一定得尝试 Spider引擎分布式数据库解决方案 mariadb 10.3 自带了 Galera ,但是坑爹的是官方镜像里面完全没有提起.没关系,我们程序员靠猜能完成很多事情. 在docker下部署,wsrep_sst_method=xtrabackup-v2 同步方式有坑,花了些时间,没有解决,目前就用…
除了Oracle Mariadb 也有sequence了,前提是Mariadb 10.3以上版本才支持. 但目前的正式版依然是10.2 启动一个Mariadb 10.3.5 docker pull mariadb: 运行 docker run -p : -e MYSQL_ROOT_PASSWORD=root -d mariadb: 连接上去 INCREMENT ; SELECT NEXTVAL(s) 还支持另一种语法 SET sql_mode = 'oracle'; SELECT seq.nex…
mariadb 在10.2.4引入闪回特性,支持DML(INSERT, DELETE, UPDATE)操作的闪回,不支持DDL语句,使用闪回,必须设置binlog_row_image=FULL. 其原理和oracle有undo不一样,将INSERT重写为DELETE, DELETE重写为INSERT, UPDATE根据前后值进行交换,这也是必须设置binlog_row_image=FULL的原因. mysqlbinlog默认情况下会生成重做SQL,通过使用新增的"--flashback"…
过去两年半一直推荐使用percona server,今天开始,因为一些mysql迟迟不不愿意支持的特性,打算换回mariadb 10.2了,具体哪些不说了,总之非常关键,mariadb都支持一两年了,oracle公司因为oracle的原因,对mysql还是不愿意支持. mariadb 10.1之后的大变化是将xtradb切换为innodb,这会导致部分percona server为xtradb定制的初始化参数失效,需要注意.已知包括: innodb_use_global_flush_log_at…