A friend of mine asked me how they could automatically follow and unfollow people on Twitter. But they didn’t want to follow just anyone and everyone. He had a Twitter account which they used for recruiting in a very narrow construction industry.…
In the past four posts of the blog series, we covered deployment of clustering/replication (MySQL/Galera, MySQL Replication, MongoDB & PostgreSQL), management & monitoring of your existing databases and clusters, performance monitoring and health and in the last post, how to make your setup highly available through HAProxy and MaxScale.
So now that you have your databases up and running and highly available, how do you ensure that you have backups of …
[Read more]The MariaDB project is pleased to announce the immediate availability of MariaDB 10.1.9 and MariaDB Connector/J 1.3.2. See the release notes and changelogs for details on each release. Download MariaDB 10.1.9 Release Notes Changelog What is MariaDB 10.1? MariaDB APT and YUM Repository Configuration Generator Download MariaDB Connector/J 1.3.2 Release Notes Changelog About MariaDB Connector/J […]
The post MariaDB 10.1.9 and Connector/J 1.3.2 now available appeared first on MariaDB.org.
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 …
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]