MySQL

  • MariaDB 10.3发布已经有一段时间了,最近刚刚RC。里面提到了SQL_MODE新增了ORACLE选项,可以支持部分的PL/SQL语法,算是一个比较“新鲜”的更新,所以打算安装体验一下。

    体验一下SQL_MODE=”ORACLE”

    简单体验一下,我们在Google上找到Oracle 9i文档中PL/SQL示例Sample 1. FOR Loop

    Oracle中的示例文档中代码:

    -- available online in file 'sample1' DECLARE x NUMBER := 100; BEGIN FOR i IN 1..10 LOOP IF MOD(i,2) = 0 THEN -- i is even INSERT INTO temp VALUES (i, x, 'i is even'); ELSE INSERT INTO temp VALUES (i, x, 'i is odd'); END IF; x := x + 100; END LOOP; COMMIT; END;

    (more…)

  • 上周在纽约MariaDB年度用户大会(MariaDB User Conference,也简称M|18)上,CEO Michael Howard对MariaDB未来的产品策略做一个较为详细的阐述。MariaDB应该是除了官放MySQL之外最重要的MySQL分支。现在MariaDB在做版本10,这次大会上也发布了MariaDB 10.3.5(RC版)。近期官方MySQL也在快速的推进8.0版本(已经发布了RC版)的研发和发布。

    Michael Howard分享的内容可以参考:MariaDB CEO takes aim at Oracle and launches new Labs。下面是我整理的一些关键点,或者说我关注的点吧。 (more…)

  • 关于MaxScale2.1的BSL协议

    ·

    MaxScale是一个非常赞的MySQL Proxy产品,相比MySQL Route或者ProxySQL来看,也是非常有竞争力的。但是MaxScale有些特别,虽然是开放源代码的,但并不是一个“Open Source”的项目,他使用了特有的授权协议:BSL协议(全称:Business Source License)。那什么是BSL协议? 这里做个简单的说明,感兴趣的可以继续阅读文章后面的链接做延伸阅读。

    BSL全称是Business Source License,最新版本是1.1(完整内容)。这里简单概括一下协议的主要内容:

    1. BSL协议不是一个“Open Source”的协议,虽然你可以拿到源代码,使用这个软件,但是会受到限制的。比如MaxScale,在生产环境,如果后端超过3个实例,就必须购买商业授权。

    2. BSL协议虽然不是一个开源协议,但是,使用BSL协议的软件在发布的最多4年后(也可以是更短的时间,可以在协议中定义),必须遵循GPLv2(或之后的GPL版本)协议分发。比如MaxScale2.1版本将在2019-07-01之后遵循GPL协议。

    3. 对于非生产环境,BSL协议的软件可以不受限制的使用。

    4. 所以,BSL协议虽然不是一个开源协议,但是使用BSL协议的软件,最终会变成开源软件。

    5. BSL协议是MariaDB公司新定义的协议。需要注意,MariaDB依旧是GPL的,因为MySQL是GPL的,没人能够改变这个。

    6. MariaDB公司遵循BSL的软件有:MaxScale、MariaDB ColumnStore Backup Restore Tool、MariaDB ColumnStore MaxScale CDC Data Adapter、MariaDB ColumnStore Kafka Data Adapter。

    7. BSL协议应该是Monty等,经历了MySQL的被收购之后,关于开源软件和商业公司对抗的一个新的探索。可以看到BSL是介于开源、闭源之间的。 (more…)

  • Amazon RDS价格一瞥

    ·

    本文尝试通过一些直观的数据和表格,来看看Amazon某个规格的RDS实例到底是什么价格以及如何计费。

    亚马逊RDS计费分为两个主要的部分,一个是“实例费用”(CPU和内存),另一个是“存储费用”(磁盘容量和IOPS)。这两类资源的费用,又细分为单可用区和多可用区,另外,还可以选择“按小时计费”、又或者是“包年计费”的方式购买,这些对价格都有很大影响。本文分多个部分细致介绍了亚马逊如何计算一个RDS实例的价格。

    “实例费用”

    “基本规格”

    基本规格根据CPU和内存使用来划分,Amazon RDS有如下基本规格:

    Snip20150319_9 (more…)

  • MariaDB商标和版权

    ·

    10月20日,Monty专门撰文解释了MariaDB商标相关的协议,也解释了背后这么做的原因和历史。本文也顺便介绍了一下MariaDB的代码分发协议。

    MariaDB商标讨论很早之前邮件组就有,例如:Jeremy Cole的邮件The MariaDB Foundation and MariaDB trademark?,Federico Razzoli的邮件trademarks,Mark Callaghan也关注过这个问题:Google search for “mariadb trademark”。因为一些原因,MariaDB商标归属一直都没有明确对外说明,这次算是敲定了。

    MariaDB Corporation和MariaDB Foundation

    先解释两个组织或公司:MariaDB Corporation和MariaDB Foundation。

    MariaDB Corporation Ab(有时也叫MariaDB Corporation): 是一家商业公司(stock company),前身是SkySQL,是一家支持MariaDB,MySQL培训、咨询的商业公司,提供MariaDB Enterprise和MariaDB Enterprise Cluster等服务。

    MariaDB Foundation: 致力于推广、保护、改进MariaDB的代码、社区、和相关生态系统。是一个非盈利组织,在特拉华州(delaware)注册。

    虽说是两个独立的组织,其核心都是MariaDB。现在MariaDB Foundation临时董事(Directors)是如下四人:Rasmus Johansson (chair),Michael “Monty” Widenius,Jeremy Zawodny,Sergei Golubchik,除了Jeremy Zawodny是就职于Craigslist.com其他人都就职MariaDB Corporation Ab(more…)

  • mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态、进程信息、进程杀死等。本文介绍一下如何使用mysqladmin extended-status(因为没有”歧义”,所以可以使用ext代替)了解MySQL的运行状态。

    1. 使用-r/-i参数

    使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,如果想了解当前的状态,则需要进行一次差值计算,这就是mysqladmin extended-status的一个额外功能,非常实用。默认的,使用extended-status,看到也是累计值,但是,加上参数-r(–relative),就可以看到各个指标的差值,配合参数-i(–sleep)就可以指定刷新的频率,那么就有如下命令:

    (more…)