Showing entries 10233 to 10242 of 44145
« 10 Newer Entries | 10 Older Entries »
Relay Log Recovery when SQL Thread’s Position is Unavailable

This blog explains how relay log recovery happens in a scenario where an applier thread (SQL_Thread) is starting for the first time and its starting position is not available for relay log recovery operations. If you are using GTIDs with MASTER_AUTO_POSITION then the following is more or less irrelevant since we then employ a more resilient repositioning scheme. The potential issue described here will also not occur if you have employed crash-safe replication settings, including --sync_master_info=1. With those disclaimers out of the way, let’s proceed.

Background

A crash-safe slave in MySQL …

[Read more]
Free eBook: The Ultimate Guide to Building Database Driven Apps with Go

Our latest eBook, the Ultimate Guide to Building Database Driven Apps with Go, consolidates years of expert advice into one, easy-to-read document. It is the fastest way to learn how to connect to a database from Go programs and use database/sql properly while avoiding many mistakes and ensuring high performance and correct code.

The below table of contents shows the scope of the ebook.

Download the full edition here. Ready, set, Go!

Silly pun, we know. We couldn’t help ourselves.

Adding a unique constraint with more than 16 columns in MySQL

A while ago I blogged about a potential workaround for MySQL error 1070 that could be used to add a unique constraint with more than 16 columns.

As a reminder here's the error you get when you try to create a unique constraint with more than 16 columns in MySQL:

ERROR 1070 (42000): Too many key parts specified; max 16 parts allowed

The solution I proposed should work, but when I started to implement it I made a couple of changes that merit this follow-up post. One change is fairly generic, and the other is specific to my use case.

The generic change was to only concatenate some of the columns, rather than all of them. Specifically I only need to concatenate N-15 columns. So if I want to have a unique constraint on 20 columns, I can include 15 of those actual columns and then …

[Read more]
MySQL 5.6.22 Overview and Highlights

MySQL 5.6.22 was recently released (it is the latest MySQL 5.6, is GA), and is available for download here.

For this release, there is 1 “Security Note”, 2 “Functionality Changed”, and 5 “Compilation Notes”, all benign, but let me address them:

  1. Security Note: The linked OpenSSL library for the MySQL Commercial Server has been updated from version 1.0.1h to version 1.0.1j. Issues fixed in the new version are described at http://www.openssl.org/news/vulnerabilities.html.
  2. Functionality Changed: Replication: The variable binlogging_impossible_mode has been renamed binlog_error_action. binlogging_impossible_mode is now deprecated. (Bug #19507567)
  3. Functionality Changed:
[Read more]
MariaDB 5.5.41 Overview and Highlights

MariaDB 5.5.41 was recently released (it is the latest MariaDB 5.5), and is available for download here:

https://downloads.mariadb.org/mariadb/5.5.41/

This is a maintenance release, and so there were not too many changes, *but* please take notice as there are 2 very important bug fixes:

  • Bug Fixed: A fix to a serious bug in InnoDB and XtraDB that sometimes could cause a hard lock up of the server (Bug #MDEV-7026)
  • Bug Fixed: A fix to unnecessary waits in InnoDB and XtraDB (Bug #MDEV-7100)
  • Includes all bugfixes and updates from MySQL 5.5.41 ( …
[Read more]
Foundation report for 2014

2014 was a productive year for the MariaDB Foundation.

Here is a list of some of the things MariaDB Foundation employees have
accomplished during 2014:

The 3 full-time MariaDB Foundation developers have worked hard to make MariaDB better:

  • Some 260 commits
  • Some 25 reviews of code from the MariaDB community.
  • Fixed some 170 bugs and new features. For a full list, please check Jira.
  • Reported some 160 bugs.

Some of the main new features Foundation developers have worked on in 2014 are:

  • Porting and improving MariaDB on IBM Power8.
  • Porting Galera to MariaDB 10.1 as a standard feature.
  • Query timeouts (MDEV-4427)
  • Some coding and reviews of Parallel replication …
[Read more]
How to drop table in a hacky way

I showed in an earlier post how to drop a whole database in a very safe way (no replication lag at all) and that technique is usable to drop a single table too, but cleaning up a table can take hours if not days to finish, so this is not the most comfortable way to do that. We also don’t want to have even a small spike of replication lag, so we need to find an another solution.

How to remove database in a safe way
When you have to drop a large database, you’ll encounter some problems, mainly replication…
Read more
What happens when you issue a DROP TABLE command? The table has to be removed from the table dictionary – which is a fast, atomic operation – and has to be removed from file system too. If you use older version than 5.5.10 you have to calculate with a huge amount of time if your buffer pool is big, because the server will scan through the pages there, checking if anything is in memory from that …

[Read more]
Diving deeper into MongoDB 2.8 collection level locking performance

Last month I wrote a blog about the closing of MongoDB ticket SERVER-1240, which brings Collection Level Locking (CLL) to the MMAPV1 storage engine in MongoDB 2.8. In MongoDB 2.6 there is a writer lock at the database level, so each database only allows one writer at a time. In concurrent write workloads, this means that all writers essentially form a single line and do their writes one at a time. In MongoDB 2.8 this lock has been moved to the collection level. Better yet is document level locking, but even though this feature was shown at MongoDB World 2014 it's not going to ship. But it did make for one amazing demo by …

[Read more]
MySQL 5.5.41 Overview and Highlights

MySQL 5.5.41 was recently released (it is the latest MySQL 5.5, is GA), and is available for download here:

http://dev.mysql.com/downloads/mysql/5.5.html

< Forgive me for the flurry of my latest release "Overview and Highlights" that will follow, as I had a serious-at-the-time health issue that delayed me for about a month. Back on track now though. :) >

This release, similar to the last 5.5 release, is mostly uneventful.

There was only 1 “Functionality Added or Changed” bugs this time, and 14 bugs overall fixed.

Out of the 14 bugs, there were 6 InnoDB bugs, and 2 replication bugs, all of which seemed rather minor or obscure. The one worth noting is the “Functionality Added or Changed” item, which was:

  • yaSSL was upgraded to version 2.3.5. (Bug #19695101)

With the recent yaSSL issues, …

[Read more]
MaxScale and Transparent Session Handling

Tue, 2015-01-13 10:59vilho_raatikka_l

Applications are often built on top of single MySQL-compliant database instance but often there is a need for more performance and/or availability than what one database instance can provide. Adding slaves or replacing standalone database server with full-fledged MySQL-compliant cluster often requires changes to the application.

MaxScale and its Read Write Split router (rwsplit, for short) attempts to hide the complexity brought by multiple backend servers and to minimize the need for application changes by taking care of authentication, managing connections and providing session management on behalf of the client.

Read Write Split router is a plug-in module, which can be used with MaxScale to receive, examine and forward queries sent by clients. Routing decision is based on query type and some other criteria, such as transaction state, and replication lag. For rwsplit, every cluster …

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