Showing entries 181 to 190 of 1065
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: Uncategorized (reset)
MySQL Group Replication: Distributed Recovery behind the scenes

The new addition to the MySQL planet, MySQL Group Replication is now on Labs Release for you to try it! It offers you update everywhere capabilities on any group of normal, out of the box, MySQL servers. Concurrent updates on a setup of several MySQL servers is now possible and this with our trademark: the ease of use.

In fact we ship MySQL Group Replication in such a way that for you to form a group and add new nodes, all that is needed is to configure the servers with your unique group id and just press start. In this post we show you the “behind the scenes” of this process, on how the node catches up with the remaining servers through distributed recovery.

The basics about Distributed Recovery

If we were to summarize what distributed recovery is, we could describe it as the process through which a new server gets missing data from a live node, while paying attention to what happens in the group, eventually catching …

[Read more]
Group communication behind the scenes

Introduction

The multi master plugin for MySQL is here. MySQL Group Replication ensures virtually synchronous updates on any node in a group of MySQL servers, with conflict handling and failure detection. Distributed recovery is also in the package to ease the process of adding new nodes.

For a better understanding on how things work, we go under the hood in this post and you will have a better understanding about the communication layer functionality and implementation.

Group Communication concepts Figure 1 – Plugin Architecture

As the architecture shown in Figure 1, Group Replication is a classic modular and layered piece of software and the bottom two layers comprise the communication module. But, it is not a regular …

[Read more]
MySQL Group Replication : Hello World!

The first preview  release of MySQL Group Replication, a MySQL plugin that brings multi-master update everywhere to MySQL, is available on labs. This plugin ties together concepts and technologies from distributed systems, such as group communication, with traditional database replication. The ultimate result is a seamlessly distributed and replicated database over a set of MySQL servers cooperating together to keep the replicated state strongly consistent.

Introduction

Before diving into the details of MySQL Group Replication, lets first introduce some background concepts and an overview of how things work. These will provide some context to help understand what this is all about and what are the differences between traditional MySQL replication and the one implemented in this new plugin.

[Read more]
GROUP BY fixed

Friend and former colleague Roland Bouwman has written an excellent update on the GROUP BY implementation in MySQL.

MySQL’s implementation of GROUP BY has historically been quirky. Sometimes that quirkiness has been useful, but often it causes grief as SQL authors can make mistakes that are executed but don’t produce the results they want (or expect).

Simple example:

SELECT cat, COUNT(val) as cnt, othercol FROM tbl GROUP BY cat

The ‘cat‘ column is in the GROUP BY clause, the COUNT(val) is an aggregate, but the ‘othercol‘ column is … well… neither. What used to effectively happen is that the server would pick one othercol value from within each group. As I noted before, sometimes useful but often a pest as the server wouldn’t know if …

[Read more]
What’s new in MySQL Fabric 1.5.2?

MySQL Fabric 1.5.2 is out. In this release, you will find fixes for some bugs and, specially, new exciting features:

New interface using the MySQL Protocol

Now MySQL Fabric mimics to some extent a MySQL Server. This will foster the MySQL Fabric adoption by other connectors as they will not have to use a XML-RPC protocol.

import mysql.connector

cnx = mysql.connector.connect(host='localhost', port=32275, user='admin', password='adminpasswd')

cur = cnx.cursor()

cur.execute("CALL dump.servers(patterns=%)", multi=True)
print cur.column_names
for row in cur.fetchall():
print "Row", row

Provisioning command group

We have started to make MySQL Fabric Cloud Aware and exploit the easiness to spawn new machines in a cloud environment. There is a long road ahead and this is just the beginning.

$ mysqlfabric provider register my_provider user passwd \ …
[Read more]
New MySQL Utility to Relocate Binary Logs

We are very happy to introduce a new MySQL utility named “mysqlbinlogmove“, which is used to relocate binary log files. This utility is one of two new utilities included in MySQL Utilities release-1.6.0 Alpha. The other utility is “mysqlgrants“, which is used to display the privileges (grants) of database objects.

Note: I use “binary log” to refer to both “kinds” of binary log files (binlog and relay log files) in general, and use “binlog” to refer specifically to those that are not “relay log” files.

The mysqlbinlogmove utility allows you to move binary log files to a new location taking care of correctly updating the respective index file for you. This utility can be very useful if you want to change the location to store the binlog file and you want to move all of the binary log files. It is also handy to archive older binary log files to a new location thereby saving disk …

[Read more]
New MySQL Utility to Display Grants by Object

We are happy to announce mysqlgrants, a new utility that allows users to display the privileges of grantees over database objects. Together with mysqlbinlogmove, these are the new utilities included in MySQL Utilities release-1.6.0 Alpha.

Mysqlgrants allows you to know which users have access to a specific object or list of objects. Furthermore, it can also show the list of privileges that each user has over said object(s). In short, mysqlgrants simplifies the task of monitoring grants in MySQL helping you ensure users do not have more permissions than necessary, thus keeping data more secure.

Main Features

Below is a summary of the main features of the mysqlgrants utility:

  • Helps DBAs to see which users have what level of access for each object listed.
  • Supports several types of reporting: list just the grantees, the grantees and their respective grants or the …
[Read more]
Hard Drive Reliability

Cloud service provider Backblaze has updated its earlier study of hard drive failure rates (Nov 2013) in its own infrastructure – from 27,000 to more than 34,000 drives, and the new report (Sep 2014) is quite informative. Hitachi comes out pretty high, Western Digital has produced some good drives, but Seagate tends to come out worst. Each brand does have good and not-so-good models so there’s no single right answer, and for any new model you’ll always be dealing with an unknown factor.

Backblaze also found that consumer drives actually perform well compared to enterprise grade drives, and once price is taking into account the enterprise drives just …

[Read more]
Multi-source Replication and Multi-threaded Applier Enhancements Preview

There are a lot of nice goodies in MySQL 5.7.5 already, but there are also some additional features that we are working on and would like to share  with you right now as well. For that we have done a couple of labs releases. In this post we will be referring to the labs release that contains enhanced multi-threaded slave applier and a refreshed version of multi-source replication.

We put these previews out there, among other things,  to get early feedback from you. This makes you a very relevant part of MySQL development, since you are in an unique position to influence our work by trying them out and commenting how good or bad was your experience or even just by pointing out things that you would like to improve.

Enhanced Timestamp-based Multi-Threaded Slave Applier.

A lot of time and …

[Read more]
The Latest and Greatest MySQL Replication Features in MySQL 5.7.5

The latest and greatest MySQL 5.7 development milestone release (DMR) is out (changelog). It is great to see such a strong and steady cadence of development releases.  The latest one, 5.7.5, is packed with awesome features. Let me highlight a few ones related to replication.

Storing Global Transaction Identifiers History in a system table.

MySQL 5.7.5 introduces a new replication system table that is used by the server to save global transaction identifiers (GTIDs) execution history. This means that the user can setup slaves without binary logs and still use GTIDs. Such slaves may not be candidates to replace the master in the event a fail-over needs to be done – they do not have the binary log enabled – but since they save GTID history means that they can auto position themselves in the replication …

[Read more]
Showing entries 181 to 190 of 1065
« 10 Newer Entries | 10 Older Entries »