标签归档: MariaDB 10.1
有时需要有条件地执行某些 SQL 语句。如果你从你的 PHP(或 Java 或其他)应用程序中执行此操作,这很容易。但如果你只有纯粹的 SQL 呢?MariaDB 和 MySQL 在 mysql_fix_privilege_tables.sql 脚本(由 mysql_upgrade 工具应用)中使用了两种技术。
- 创建一个内部包含 IF 语句的存储过程,调用一次然后删除它。这要求用户拥有 CREATE ROUTINE 权限,并且 mysql.proc 表必须存在且可用(这不一定是真的——我们是从 mysql_upgrade 中执行的,对吧?)。
- 使用动态 SQL,例如
SET @str = IF (@have_csv = ‘YES’,
‘CREATE TABLE IF NOT EXISTS general_log (
event_time TIMESTAMP(6) NOT NULL,
user_host MEDIUMTEXT NOT NULL,
thread_id BIGINT(21) UNSIGNED NOT NULL,
server_id INTEGER UNSIGNED NOT NULL,
command_type VARCHAR(64) NOT NULL,
argument MEDIUMTEXT NOT NULL
) engine=CSV CHARACTER SET utf8 comment=”General log”‘,
‘SET @dummy = 0’);
…
是的!在 MariaDB 10.1.1 中,PERFORMANCE_SCHEMA 中的表不再使用 .frm 文件。这些文件不会被创建,也不会被读取——事实上,PERFORMANCE_SCHEMA 表根本不会接触磁盘。
这得益于 MariaDB 一个鲜为人知的功能——新的 表发现(“旧的表发现”在 2004 年于 MySQL 的 NDB Cluster 中实现),该功能在 MariaDB 10.0.2 中实现。MariaDB 不再读取和解析 .frm 文件,而是直接询问 PERFORMANCE_SCHEMA 表的结构,由于这些表总是具有固定的结构,因此该表直接将结构返回给 MariaDB,而无需任何外部数据字典。…
众所周知,MariaDB 自 10.0.5 版本起就支持角色。它们的实现几乎完全符合 SQL 标准 2003 中的 T331“基本角色”和 T332“扩展角色”特性。
但我们经常听到抱怨,用户对纯粹的标准特性集不满意。特别是,标准规定必须执行
SET ROLE foobar;
才能使用授予角色 foobar 的权限。这并非总是方便,有时甚至不可能(想象一下,您需要将角色权限授予闭源应用程序使用的帐户)。…
MariaDB 项目很高兴地宣布以下版本现已发布
MariaDB 10.1.1 是一个 Alpha 版本。
有关此版本的详细信息,请参阅发行说明和更新日志,以及什么是 MariaDB 10.1? …
今天标志着 MariaDB 项目的一个里程碑——今后,MariaDB 项目计划使用 Github 和 git 进行源代码管理。迁移将从 Launchpad 和 bzr 工具进行。
10.1 服务器的开发(目前正在大力进行中)将在 Github 上进行。您可以在这里查看:https://github.com/MariaDB/server。欢迎观看、加星或甚至 Fork 代码,并向我们提交贡献!
之前的 maria-captains 现在应该提供他们的 Github ID,以便授予他们类似的权限。请将 ID 发送至 maria-developers 邮件列表。…
昨晚,在我发表上一篇博客文章后,参加巴塞罗那 SkySQL 开发者会议的所有人齐聚 El Cangrejo Loco 共进晚餐,如果我的高中西班牙语没记错,这个名字的意思是“疯狂的螃蟹”。享用完美食后,保留了 MySQL/MariaDB 开发者会议上的歌唱传统。
今天,参加巴塞罗那 SkySQL 开发者会议的 MariaDB 开发者们聚集在一起,制定 MariaDB 10.1 的计划。我们还停下来合影留念
已确定了许多任务,可能会包含在 10.1 中。有些已在 JIRA 中标记。
…