MySQL auto-positioning is an integral part of replication with GTID, but it’s neither required nor guaranteed to work. It’s possible to enable GTIDs but disable auto-positioning, and it’s possible that one MySQL instance cannot auto-position on another even when GTIDs are used. The former (GTID on but auto-pos off) is an issue for another time. The latter is the topic of this post: when MySQL GTID auto-positioning fails—and how to fix it.
Database administrators are responsible for maintaining the privacy and integrity of data. When the data contains confidential information, your company has a legal obligation to ensure that privacy is maintained. Even so, being able to access the information contained in that dataset, for example for testing or reporting purposes, has great value so what to do? MySQL Enterprise Edition offers data masking and de-identification, so I decided to contribute similar functionality to Percona Server for MySQL. In this post, I provide some background context and information on how to use these new functions in practice.
Some context
One of the most important assets of any company is data. Having good data allows engineers to build better …
[Read more]See some update at the end: 23 Dec 2019
MySQL and PHP is a love story that started long time ago. However the love story with MySQL 8.0 was a bit slower to start… but don’t worry it rules now !
The support of MySQL 8.0’s new default authentication method in PHP took some time and was added in PHP 7.2.8 but removed in PHP 7.2.11.
Now it’s fully supported in PHP 7.4 !
If you have installed PHP 7.4, you can see that the new plugin
auth_plugin_caching_sha2_password
is now available:
# php -i | grep "Loaded plugins\|PHP Version " | tail -n2 PHP Warning: Module 'mysql_xdevapi' already loaded in Unknown on line 0 PHP Version => 7.4.0 Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password, …[Read more]
Introduction In this article, we are going to see how a CROSS JOIN works, and we will also make use of this SQL join type to build a poker card game. Database table model For our poker card game application, we have created the ranks and suits database tables: The ranks table defines the ranking of cards, as well as the name and symbol used for each card rank: The suits table describes the four possible categories used by the French playing cards: Cartesian product In the set theory, the Cartesian product... Read More
The post A beginner’s guide to SQL CROSS JOIN appeared first on Vlad Mihalcea.
In my road trip of the Open Source projects using MySQL, after having tested WordPress, Drupal and Joomla, let’s try to install Magento using MySQL 8.0 !
In Magento’s manual, we can see that the project requires MySQL 5.6 and supports 5.7.x since versoin 2.1.2.
In my test, I will use Magento 2.3.3, the latest stable when writing this article.
The manual stipulates that we should use ROW based replication
but not GTID because Magento 2 is using CREATE TEMPORARY
TABLE
inside transactions. …
To avoid infinite replication loops MySQL doesn’t allow
you to have log_slave_updates
and replicate-same-server-id
.
When using GTIDs that may lead to something not expected that you may not be aware of.
In this scenario, we have 2 MySQL servers using GTID. The sever
uuid part of the GTID has been modified in the illustration to
make it more clear. Both servers have
log_slave_updates
enabled too:
So far nothing unusual. So let’s write data on the master (MySQL A):
We can see that this first …
[Read more]
In this part we are going to analyze a bit more complex query
than before.
This query is a 6-way join.
The query is:
SELECT
supp_nation,
cust_nation,
l_year,
SUM(volume) AS revenue
FROM
(
SELECT
n1.n_name AS supp_nation,
n2.n_name AS cust_nation,
extract(year FROM l_shipdate) as
l_year,
l_extendedprice * (1 - l_discount) AS …
Author: Robert Agar
The Internet of Things (IoT) has grown from an interesting concept to a paradigm that is changing the way individuals and businesses operate in the 21st Century. It is based on connecting IP-capable devices so they can communicate with each other in a variety of ways. They range from automated industrial assembly lines to smart appliances that promise to make life easier and more convenient for consumers.
A common aspect of all IoT implementations is that they make use of large amounts of data collected from network-connected devices. As with most data-centric applications, IoT systems rely on databases to store and process the accumulated information that drives them. MySQL is a valid choice in database platforms when you are designing a system that interacts with the IoT.
…
[Read more]
If you want to back up your table and views, stored procedures,
or stored function definitions, you can use
mysqldump
or mysqlpump
to export the
schema without the data. However, if you just want the views you
need to look for another option. This blog shows how MySQL Shell
comes to the rescue.
Backup the view definition using MySQL Shell
There are a couple of approaches to get the view definitions. One
option is to consider the information_schema.VIEWS
view which has the following columns:
mysql> SELECT COLUMN_NAME AS Field, COLUMN_TYPE AS Type FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'information_schema' AND TABLE_NAME = 'VIEWS' ORDER BY ORDINAL_POSITION; …[Read more]
In a MySQL 5.7 master-slave setup that uses the default semisynchronous replication setting for rpl_semi_sync_master_wait_point, a crash of the master and failover to the slave is considered to be lossless. However, when the crashed master comes back, you may find that it has transactions that are not present in the current master (which was previously a slave). This behavior may be puzzling, given that semisynchronous replication is supposed to be lossless, but this is actually an expected behavior in MySQL. Why exactly this happens is explained in full detail in the …
[Read more]