MySQL introduces several improvements related to partitioning.
Most importantly, work has been done to move InnoDB towards
native partitioning support, which not only "paves
the way for better overall partitioning" (source) in the future but already comes with
measurable performance benefits.
This article focuses on memory usage in heavily partitioned
InnoDB databases.
Background Over the last few weeks I've been (un)lucky enough to
work with several MySQL databases suffering from stability issues
due to extreme memory pressure. All databases belonged to the
same DBA team, who tend to apply complex partitioning schemes
even to very small tables. Discussion as to whether or not this
approach is correct is beyond the scope of this article but the
situation encouraged …
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
MySQL Server 5.7 was released around a month ago, and download numbers show huge interest in upgrading from older MySQL releases. As with any product that is frequently used as core infrastructure in complex systems with numerous interdependencies, major version upgrades of MySQL should be approached with some care. In this post, I will cover […]
Starting with the new release MySQL 5.7 there is support to store
JSON documents in a column. During our recent Tech Tour events we
got questions about document validation, so ensuring that a JSON
document has a certain structure. (Funny. It all started with the
idea to be schema-free. Now people seem to need schema
enforcement.)
I have two ideas how to implement a schema validation for JSON
columns. The first one is by leveraging generated columns
together with a foreign key. The second idea is by implementing a
trigger. Today I want to focus on the generated columns and
foreign keys.
When defining foreign keys with generated columns there are two
limitations we need to be aware of:
- Foreign keys require indexes. JSON columns cannot be indexed. We need to leverage other types.
- Only STORED generated columns are supported for foreign keys.
So here is an example of an address table that …
[Read more]
So far, I talked of WMI, CIM, WQL,
System.Diagnostics.PerformanceCounterCategory, perf-counter data
organization and flavour. Now it's time to look at some
performance counters I deem important for my use-case more
closely.
Note: List of available Counters for Get-Counter command
Get-Counter -ListSet * | Sort-Object CounterSetName |
Format-Table CounterSetName
Basic concepts:I will introduce basic concepts of Processor, Core
and CPU now to help you follow the text. Let us use this
convention:
- "Processor" is a piece of hardware you connect to a slot on the motherboard.
- "Physical Core" is a physical computing unit built into the "Processor".
- "Virtual Core" is a virtual computing unit built on top of "Physical Core" (i.e. HT is ON).
- "CPU" is a computing unit inside the "Processor", either physical or virtual.
…
Of the different types of clustered MySQL environments, NDB Cluster is among the ones that involves more effort and resource to administer. And unless you are a command line freak, you would want to use a tool that gives you a full view of what is going on in your cluster.
It is possible to install ClusterControl and monitor your existing MySQL Cluster (NDB). In this blog post, we are going to show you on how to add two existing MySQL Clusters (production and staging) into ClusterControl.
- ClusterControl: 192.168.55.170
- Cluster #1:
- Management/API node: mgmd-api1 - 192.168.55.71
- Management/API node: mgmd-api2 - 192.168.55.72
- Data node: data1 …
This is a quick post only indirectly related to the series of articles about Docker that I have written recently.
Yesterday I was giving a presentation about Docker in Buenos Aires, and as usual I included a long live demo. Almost all went as expected. There was one step that I tried some time ago, and had always worked well, but when I tried to repeat it on stage, it failed miserably:
- Step 1: run the container
$ docker run -d --name mybox -e MYSQL_ROOT_PASSWORD=secret mysql/mysql-server …[Read more]
Among the many New features introduced by MySQL 5.7, we can notice a strong trend towards improving the server security by default. Two features stand out in this respect:
- A password-less root is no longer the default for new
installations. Unless you say otherwise, the default installers
mysqld --initializeand the deprecatedmysql_install_dbwill generate a random password which the user needs to change. - The anonymous accounts are no longer created by default. When you start MySQL, you only get the root user (and a new one: read on).
The above features are a great advance not only for security but also for usability. The anonymous users were a continuous source of mismatched connections, …
[Read more]This Log Buffer Editions picks few blog posts from Oracle, SQL Server and MySQL.
Oracle:
- If you grant the DBA role to a user, Oracle also grants it the UNLIMITED TABLESPACE system privilege. If you then revoke the DBA role from this user, Oracle also revokes its UNLIMITED TABLESPACE system privilege.
- Lost SYSMAN password OEM CC 12gR5.
- How Terminal Emulation Assists Easy Data Management.
- Using EMCLI List Verb …
We’ve had a couple of issues with some of our server infrastructure recently, which have affected portions of our customer base. In this blog post I want to explain what has happened, why, and what we’re doing to correct and prevent it.
I am writing a combined report of these issues because the first one wasn’t fully understood when the second one happened, and because the issues largely have the same contributing factors.
I apologize to our customers who have been impacted. Monitoring is supposed to be more highly available than the monitored systems. I know firsthand how damaging it can be when you can’t access your monitoring data. I take this very seriously and the whole team is working hard to prevent it from recurring.
Summary of Incidents
- On November 15, 2015, from 19:15 until 22:30 Eastern time, some customer data ingest was delayed. Up to 25% of customer environments were affected at …
This is part 2 of our blog on how to troubleshoot Galera cluster - SST errors, and problems with network streaming. In part 1 of the blog, we covered issues ranging from node crashes to clusters that won’t restart, network splits and inconsistent data. Note that the issues described are all examples inspired from real life incidents in production environments.
This is the eighteenth installment in the ‘Become a MySQL DBA’ blog series. Our previous posts in the DBA series include:
[Read more]