Showing entries 12201 to 12210 of 44145
« 10 Newer Entries | 10 Older Entries »
Easy HA and automatic failover using MySQL Fabric - Part I






The purpose of this blog-post and next one (Part II) is to see how MySQL Fabric can be used as a HA solution. Reason for this is many users today have the need for HA and automatic failover, but not many users need the sharding functionality, I wanted to focus on creating one HA group and see how failover is handled using MySQL Fabric.

Talking to customers and users of MySQL they all want to have HA, the normal demands are:

  • Do not want to alter application code
  • Easy to install and manage

There are a lot of solutions for achieving HA around MySQL in the MySQL ecosystem but I think one key benefit of MySQL Fabric is that it is …

[Read more]
Difference between strict_all_tables and strict_trans_tables

MySQL has default behavior that’s just plain wrong. I’ve covered some quirks with MySQL not null behavior and offered up using the SQL Mode strict_all_tables as a solution.

As a review, SQL Mode changes the way MySQL executes SQL statements and it’s often used to make MySQL behave. There are several switches that I would turn on by default, like only_full_group_by. You can change settings for yourself (just your connection) or for everybody (change it at the server level).

There’s another SQL Mode option, strict_trans_tables, that’s similar in intent but not in behavior to strict_all_tables. Both strict_all_tables and strict_trans_tables are meant to prevent invalid values from being inserted into your columns (such as preventing null values …

[Read more]
MySQL Server Maintenance Releases

After a version of MySQL Server has been declared GA, Oracle releases regular maintenance updates: the 5.6 GA was 5.6.10 and we are now at 5.6.17.

A lot of work goes into the maintenance releases. The purpose of this blog post is to show you a little bit of what happens on behind the curtains in the Oracle sweatshop that actually produces a maintenance release and to give you an insight into our thinking around testing, quality and bug fixing.

What goes into a maintenance release?
The short answer is “bug fixes”. These fall roughly into two classes,

  • The majority of bugs are chosen by Support for their relevance to customers and community and worked on by the Sustaining Team, which is dedicated to fixing the  bugs on Support’s list. Yes, Support choose the bugs. That may come …
[Read more]
Ghosts of MySQL Past, Part 7: PBXT

Recently, I’ve been writing based on my linux.conf.au 2014 talk, which you can watch the recording of. Also see Part 1, Part 2, Part 3, Part 4, Part 5 and …

[Read more]
Quick review of InfiniDB 4

I’ve mentioned InfiniDB before in a previous post titled, “Star Schema Bechmark: InfoBright, InfiniDB and LucidDB,” but it’s been 4 years since that was published. Recently I evaluated column-storage solutions for Percona Cloud Tools and took another look at InfiniDB 4. There was the release of version 4, which I think is worth attention.

What is interesting in InfiniDB 4:

  • Fully OpenSource, GPLv2. There is no reserved features for Enterprise version
  • Multiple CPUs are used even for single query execution
  • WINDOW functions in SQL queries

What is WINDOW functions? In short, in regular SQL for a given row you can’t access to previous and …

[Read more]
Shard-Query supports background jobs, query parallelism, and all SELECT syntax

SkySQL just blogged about a tool to schedule long running MySQL jobs, prevent too many queries from running simultaneously, and stores the results in tables.  It even uses Gearman.  You will note that the article says that it uses PAQU, which uses Shard-Query.

I think PAQU was created for two reasons.  A) Shard-Query lacked support for fast aggregation of STDDEV and VARIANCE (this has been fixed), and B) their data set requires “cross-shard queries”.  From what I can see though, their type of cross-shard queries can be solved using subqueries in the FROM clause using Shard-Query, instead of using a customized (forked) version of Shard-Query.  It is unfortunate, because my recent improvements to Shard-Query have to be ported into PAQU by the PAQU authors.

I’d like to encourage you to look at Shard-Query if you need to run complex jobs in the background and get the results later.  As a bonus, you …

[Read more]
MaxScale has now its own public irc channel

MaxScale is a Proxy for the MySQL protocol built with a modular architecture. The underlying concept of modules allows to extend the MaxScale proxy services. The current version implements Read Write splitting and Connection Load Balancing. Internally MySQL queries go through a SQL parsing phase. This gives MaxScale great capabilities regarding queries routing.

So if [...]

An update on the MariaDB Audit Plugin and a new version of it

I’m happy to announce that a new version of the MariaDB Audit Plugin is available. Version 1.1.5 can be downloaded here. As you can see the Audit Plugin is available from SkySQL, who has developed the plugin.

However, now with the Audit Plugin being GA for a couple of months since 7th of November last year and customers using it in production, SkySQL has decided to contribute the Audit Plugin to the MariaDB project and I’m happy to tell you that starting from MariaDB versions 5.5.37 and 10.0.9 the Audit Plugin will be included by default. Notice that these versions of MariaDB aren’t yet released.

The MariaDB Audit Plugin introduces the capabilities of tracking user access to data. By having the Audit Plugin available by default in MariaDB, all users can easily set up tracking in their own systems and follow in real time who’s doing what in …

[Read more]
Performance Schema, Slow Query Log, and TCP Decoding

Peter Zaitsev posted Percona's answer to the question, "why use the slow query log instead of the PERFORMANCE_SCHEMA tables to gather information about query execution and timing?" At VividCortex, we don't currently use the PERFORMANCE_SCHEMA for this either. Instead, we capture and time queries by sniffing the TCP traffic to the server, and decoding the MySQL protocol. We extract rich information from the protocol, including the query text, timings, errors, warnings, query flags, and more.

In this post I'll explain why we do this and how it works relative to other options.

Query Capture Methods

What options exist for measuring queries the server executes? Here's a short list.

  • query logs
  • PERFORMANCE_SCHEMA
  • packet inspection
  • proxies
  • tools that …
[Read more]
Intro to MySQL Information Schema

Databases store information, right? Well, what if they could store information about your information so you could query it? Good news! Most database engines such as MySQL implement Information Schema, or a set of views that describe your tables and columns. If you’ve ever used a language like Java or C#, you might be familiar with reflection: the ability to read an object’s metadata. This enables you to do meta-programming, or writing logic about the program itself.

The idea of Information Schema is like reflection: they are views in your database that you can use in your programs or scripts when you need to know what the schema looks like or check the health of the instance. Unlike Show Processlist or Desc Table commands, the results are in tabular format.

I’m going to tour through six important views, and I’ll point you to some others at the end. Let’s get started.

Information_Schema.Tables

Let’s …

[Read more]
Showing entries 12201 to 12210 of 44145
« 10 Newer Entries | 10 Older Entries »