On behalf of the Vitess maintainers, I am pleased to announce the general availability of Vitess 10. Major Themes # In this release, Vitess Maintainers have continued to focus on compatibility. It is still the most critical component of Vitess being part of the MySQL ecosystem. We have also started working on benchmarking and performance optimizations. These improvements have given us a clear vision of which areas of Vitess can be improved in terms of performance.
Apologies for the silly title, but the issue is a real one, even though it is not a new thing. Schema upgrades are not an ordinary operation in Galera. For the subject at hand, the bottom line is: under the default Total Order Isolation (TOI) method, “the cluster replicates the schema change query as a statement before its execution.” What this means in practice is that a DDL issued in one node is replicated to other nodes in the cluster before it is even executed in the source node, let alone completed successfully.
As a result of this, it may fail in one node and be successful in another, and this without raising loud alerts or stopping nodes to protect against data inconsistency. This is not a bug in itself but rather a compromise of design. With new changes in MySQL and the …
[Read more]Recently I posted an article on how to deal with arrays when trying to use MySQL Shell Dump Utility in command line.
Of course, this proposed solution was a workaround for MySQL Shell <= 8.0.23. The new version of MySQL Shell 8.0.24 supports now arrays \o/ !
So if we take the same example of the previous post, we can now use the following syntax:
$ mysqlsh root@localhost -- util dump-instance /tmp/dump \ --excludeSchemas=["mysql_innodb_cluster_metadata","fred_test"] \ --threads=8 --showProgress
Please mind that lack of <space> between the elements of the array. If you use …
[Read more]
After downloading and installing MySQL 8.0.24 yesterday, I opened
a command shell. In the command shell, I could access the MySQL
Shell (mysqlsh.exe
) but not the MySQL Client
(mysql.exe
). Typing in the following:
C:\WINDOWS\system32>mysql
It returned:
'mysql' is not recognized as an internal or external command, operable program or batch file.
The MySQL Client (mysql.exe
) was installed because
MySQL Workbench relies on it. However, the MySQL Microsoft
Software Installer (MSI) does not put the mysql.exe
file’s directory in the common Windows %PATH%
environment variable. You can find the required
%PATH%
directory variable by opening the File
Manager and searching for the mysql.exe
file.
You should return several directories and programs but the directory you want is:
C:\Program …[Read more]
In this post, we will see how to access database and its objects
in MySQL NDB Cluster from Connector/python program. I assume that
the reader has some basic understanding of python language and
MySQL NDB Cluster.
Let’s create a MySQL NDB Cluster with the following
environment:
- MySQL NDB Cluster version (Latest GA version)
- 1 Management node
- 4 Data nodes
- 1 Mysqld server
- Configuration slots for up to 4 additional API nodes
- Connector/Python version (Latest GA version)
Note: Python software must be installed on the same host
where we are planning to install MySQL Connector/Python.
MySQL NDB Cluster Architecture:
Let’s look at the MySQL NDB Cluster architecture.
…
MySQL databases keep getting larger and larger. And the larger the databases get, the harder it is to backup and restore them. MyDumper has changed the way that we perform logical backups to enable you to restore tables or objects from large databases. Over the years it has evolved into a tool that we use at Percona to back up petabytes of data every day. It has several features, but the most important one, from my point of view, is how it speeds up the entire process of export and import.
Until the beginning of this year, the latest release was from 2018; yes, more than two years without any release. However, we started 2021 with release v0.10.1 in January, with all the merges up to that point and we committed ourselves to release every two months… and we delivered! …
[Read more]
The MySQL team is proud to announce the general availability of
version 8.0.24 of the MySQL Shell.
In addition to a considerable number of bugs fixed, the following
changes were introduced.
Improved Command Line Integration
Integrating the shell functionality in DevOps operations is a key feature and this release has introduced a big improvement on this area being the most remarkable improvements the following:
- No longer need to execute APIs using the –execute (-e) command line argument: all of the data required for any API available in CLI can be defined through command line arguments (including lists).
… Facebook Twitter LinkedIn
Atomics (or GCC intrinsics) were first introduced in InnoDB (5.0) by a patch from Mark Callaghan’s team at Google for mutexes and rw-locks. InnoDB code then was written in C. When the code was ported to C++ , part of the 5.6 release, there was no C++ standard for atomics.…
Facebook Twitter LinkedIn
We are proud to announce the latest release of ProxySQL version 2.1.1 on the 21st of April 2021
ProxySQL is a high performance, high availability, protocol aware proxy for MySQL, with a GPL license! It can be downloaded from the ProxySQL Repository (instructions here) or for a Docker image check out the Official ProxySQL Docker Repository. ProxySQL is freely usable and accessible according to the GNU GPL v3.0 license.
Release Overview Highlights
ProxySQL v2.1.1 is a patch release comprising of minor
backward compatible changes and bug fixes. This release is the
first patch release of the 2.1 branch and inclues many fixes and
features that were introduced in the 2.0.x branches after 2.1 was
released.
Be sure to try out the ProxySQL …
[Read more]
Be it running reports or displaying data in some other
visualization, SQL SELECT
column expressions should
be meaningful and understandable. To provide those valuable query
results, SQL Developers, use a multitude of available functions,
adjacent columns, or other means not readily apparent to
end-users. All that being said, the column names often suffer the
most as far as readability is concerned, taking on long function
call names or other combined expressions. But, as luck would be
on our side, there is an easy fix and that is aliasing columns
using the AS
keyword. Although AS
is
optional – in this particular context – I err on the side of
readability and use it when aliasing SELECT
column
expressions.