“The Colonoscopy of Database Software”
- Jim Starkey
If your project does not have something that you can adapt that quote to, odds are your testing is inadequate.
|Showing entries 1 to 30 of 16143||Next 30 Older Entries|
As we know different storage engines in MySQL have different file structures. Every table in MySQL 5.6 must have a .frm file in the database directory matching the table name. But where the rest of the data resides depends on the storage engine.
For MyISAM we have .MYI and .MYD files in the database directory (unless special settings are in place); for InnoDB we might have data stored in the single table space (typically ibdata1 in the database directory) or as file per table (or better said file per partition) producing a single file with .ibd extension for each table/partition. TokuDB as of this version (7.1.7) has its own innovative approach to storing the table contents.
I have created the table in the database test having the following[Read more...]
One of the common causes of downtime with MySQL is running out of connections. Have you ever seen this error? “ERROR 1040 (00000): Too many connections.” If you’re working with MySQL long enough you surely have. This is quite a nasty error as it might cause complete downtime… transient errors with successful transactions mixed with failing ones as well as only some processes stopping to run properly causing various kinds of effects if not monitored properly.
There are number of causes for running out of connections, the most common ones involving when the Web/App server is creating unexpectedly large numbers of connections due to a miss-configuration or some script/application leaking connections or creating too many connections in error.
The solution I see some people employ is just to increase[Read more...]
I recently hosted hosting a webinar which explained what MySQL Clusrter is, what it can deliver and what the latest developments were. The “Discover the latest MySQL Cluster Developments” webinar is now available to view here (http://www.mysql.com/news-and-events/web-seminars/discover-the-latest-mysql-cluster-developments/" target="_blank). At the end of this article you’ll find a full transcript of the Q&A from the live session.
View this webinar to learn how MySQL Cluster 7.3, the latest GA release, enables developer agility by[Read more...]
Using GTID to attach an asynchronous Slave sounds promising. Lets have a look at the two existing GTID implementations and their integration with Galera.GTID@MariaDB
There is one GTID used by the cluster and every node increments the common seqno by itself. This works well as long all transactions are replicated by Galera (simplified InnoDB). Because Galera takes care of the Commit Order of the transactions on all nodes. So having identical GTID/seqno from the start there are no problems.
node1> show global variables like 'gtid_binlog_pos'; +-----------------+---------+ | Variable_name | Value | +-----------------+---------+ | gtid_binlog_pos | 0-1-504 | +-----------------+---------+ node2> show global variables like 'gtid_binlog_pos'; +-----------------+---------+ |
Galera the synchronous Master-Master replication is quite popular.
It is used by Percona XtraDB Cluster, MariaDB Galera Cluster and even patched MySQL binaries exist.
Quite often you want to add a slave to a Galera Cluster. This is going to work quite well.
All you need is at least configure
server_id on the designated Masters
and attach your Slave.
Even you can use traditional (non GTID) replication. Using non GTID replication is a hassle. As you need to search for the right offset on the new Master to attach your Slave on.
Using GTID promises to be easier. As you simply switch to the new Master and the replication framework finds the new position based on the GTiD automatically.
As a fact we have two GTID[Read more...]
Hi, I recently had the experience of assisting with a migration of a customer MySQL installation to Amazon RDS (Relational Database Service). Amazon RDS is a great platform for hosting your MySQL installation and offers the following list of pros and cons:
This is a brief list of security tips for MySQL. It is by no means complete.
This is the story of cold blocks and mismatched instances and how they will cause you pain and cost you money until you understand why.
Most of the clients that we support run on the Amazon cloud using either RDS or running MySQL on plain EC2 instances using (Provisioned IOPS) PIOPS EBS for data storage.
As expected the common architecture is running a master with one or more slaves handling the read traffic.
A common problem is that after the slaves are provisioned (normally created from an EBS snapshot) they lag badly due to slow IO performance.
Unfortunately what tends to be lost in the “speed of provisioning new resources” fetish is some limitations in terms of data persistence layer (EBS).
If you are using EBS and you have created the EBS volume from snapshot or created a new volume you have to pre-warm the EBS volume[Read more...]
A new major version of Connector/Python is available: v2.0.0 alpha has been been released and is available for download! As with any alpha-software, it’s probably not good to throw it in production just yet.
Our manual has the full change log but here’s an overview of most important changes for this relase.
The world evolves, at least the software does, and Python is not different. I’m not as bold as the guys at Django who dropped support of Python v2.6 with the Django v1.7 release. I’m leaving it in because I’m nice.[Read more...]
Monitoring flow control in a Galera cluster is very important. If you do not, you will not understand why writes may sometimes be stalled. Percona XtraDB Cluster 5.6 provides 2 status variables for such monitoring:
wsrep_flow_control_paused_ns. Which one should you use?
Flow control does not exist with regular MySQL replication, but only with Galera replication. It is simply the mechanism nodes are using when they are not able to keep up with the write load: to keep replication synchronous, the node that is starting to lag instructs the other nodes that writes should be paused for some time so it does not get too far behind.
If you are not familiar with this notion, you[Read more...]
Martin and I have recently been blogging together about MySQL Fabric (http://www.mysql.com/products/enterprise/fabric.html) (in case you’ve missed this, you can find the first post of the series here), and on July 30th, we’re going to be presenting a webinar on this topic titled “Putting MySQL Fabric to Use.”
The focus of the webinar is to help you get started quickly on this technology, so[Read more...]
We’ll be publishing a series of posts on OpenStack and Trove over the next few weeks, diving into their usage and purpose. For readers who are already familiar with these technologies, there should be no doubt as to why we are incredibly excited about them, but for those who aren’t, consider this a small introduction to the basics and concepts.
What is Database as a Service (DBaaS)?
In a nutshell, DBaaS – as it is frequently referred to – is a loose moniker to the concept of providing a managed cloud-based database environment accessible by users, applications or developers. Its aim is to provide a full-fledged database environment, while minimizing the administrative turmoil and pains of managing the surrounding infrastructure.
Real life example: Imagine you are working[Read more...]
MySQL Fabric is a tool included on MySQL Utilities that helps you to manage your MySQL instances.
It works by basically adding a new layer between your application and MySQL instances, which can provide an easy way to use sharding and build a high available system.
For More information about what is MySQL Fabric, please follow the documentation.
To install our Fabric environment, we will have to configure 4 servers, I will use the follow names and IP on this tutorial:
fabric1 (192.168.0.200) - fabric mysql1 (192.168.0.201) - mysql master mysql2 (192.168.0.202) - mysql slave mysql3 (192.168.0.203) - mysql slave
Note: I’m running CentOS[Read more...]
In this blog post we are going to talk about one of the features included since MySQL for Excel 1.3.0, a new advanced option was added to the Export Data dialog to show all available MySQL data types on its Data Type combo-box to override its default behavior that shows only the most commonly used data types.
If you try to install the TokuDB storage engine on a modern Linux distribution it might fail with following error message:
2014-07-17 19:02:55 13865 [ERROR] TokuDB will not run with transparent huge pages enabled.
2014-07-17 19:02:55 13865 [ERROR] Please disable them to continue.
2014-07-17 19:02:55 13865 [ERROR] (echo never > /sys/kernel/mm/transparent_hugepage/enabled)
You might be curious why TokuDB refuses to start with Transparent HugePages. Are they not a good thing… allowing smaller kernel page tables and less TLB misses when accessing data in the buffer pool? I was curious, so I asked Tim Callaghan this very question.
This problem originates with TokuDB using jemalloc memory allocator, which uses a particular trick to deal with memory fragmentation. The classical problem with memory[Read more...]
Im giving some talks this year:MySQL Hochverfügbar mit Galera
About: Learn about Galera and deploy it using LXC and AnsibleLBaaS-Loadbalancer as a Service
Place: GUUG Frühjahrsgespräche
Topic: It is a workshop ( together with Jan Walzer and Jörg Jungermann). We are going to show how to use LXC to provide slim loadbalancers.Medley der Containertechniken
Place: GUUG Frühjahrsgespräche
Topic: Learn about all the basic techniques vanilla based Container technology uses/shares (Namespaces, Cgroups und Chroot). Have a look at some of them (LXC, Libvrit, systemd-nspawn and Docker)MySQL Replikation: Von den Anfängen in die Zukunft
Place: DOAG 2014
Topic: Learn about the past and the future of MySQL[Read more...]
We designed Percona Cloud Tools (both hardware and software setup) to handle a very high-intensive MySQL write workload. For example, we already observe inserts of 1bln+ datapoints per day. So I wanted to share what kind of hardware we use to achieve this result.
Let me describe what we use, and later I will explain why.
We just wanted to make it official: Severalnines ClusterControl now supports MariaDB 10!
As most of you know will know by now, MariaDB 10 is the newest and most advanced version of the popular MariaDB relational database system. Whilst remaining application-compatible with the MySQL database, it adds many new capabilities to address the most challenging web and enterprise application use cases. Cluster deployments would be based on MariaDB Galera Cluster 10, which is a complete merge of MariaDB 10.0.12 and Galera Cluster.
Dear MySQL users,
MySQL Connector/Net 6.9.2 a new version of the all-managed .NET driver for MySQL has been released. This is a RC release for 6.9.x and is not recommended for production environments.
It is appropriate for use with MySQL server versions 5.5-5.7.
It is now available in source and binary form fromhttp://dev.mysql.com/downloads/connector/net/#downloadsandmirrorsites
(note that not all mirror sites may be up to date at this point-if you can't find this version on some mirror, please try again later or choose another download site.)
Enjoy and thanks for the support!
On behalf of the MySQL Connector/NET and the MySQL/ORACLE RE Team.
Percona is glad to announce the new release of Percona XtraDB Cluster 5.6 on July 21st 2014. Binaries are available from downloads area or from our software repositories. We’re also happy to announce that Ubuntu 14.04 LTS users can now download, install, and upgrade Percona XtraDB Cluster 5.6 from[Read more...]
How To Install Nginx With PHP And MySQL (LEMP Stack) On CentOS 7
Nginx (pronounced "engine x") is a free, open-source, high-performance HTTP server. Nginx is known for its stability, rich feature set, simple configuration, and low resource consumption. This tutorial shows how you can install Nginx on a CentOS 6.5 server with PHP support (through PHP-FPM) and MySQL (Mariadb) support.
I recently worked on a case where one node of a Galera cluster had its schema desynchronized with the other nodes. And that was although Total Order Isolation method was in effect to perform the schema changes. Let’s see what happened.
For those of you who are not familiar with how Galera can perform schema changes, here is a short recap:
wsrep_OSU_methodsetting. Both have benefits and drawbacks, it is not the main topic of this post.
$ make_sandbox 5.6.19
$ ./mysslgen.py --config=sandboxes/msb_5_6_19/my.sandbox.cnf --ssldir=sandboxes/msb_5_6_19/ssl
MariaDB 10.1.0 was recently released, and is available for download here:
This is the first alpha release of MariaDB 10.1, so there are a lot of new changes and functionalities added, which cover a wide variety of areas such as: Performance, InnoDB/XtraDB, WebScaleSQL, Optimizer, Security, Storage Engine functionality, & Administration Improvements.
These are 9 of the most notable changes in MariaDB 10.1.0 (but do check out the release notes and changelogs below for the full list of changes):
|Showing entries 1 to 30 of 16143||Next 30 Older Entries|