Showing entries 1351 to 1360 of 44087
« 10 Newer Entries | 10 Older Entries »
Enable innodb_print_all_deadlocks Parameter To Get All Deadlock Information in mysqld Error Log

At Percona Managed Services, sometimes clients’ applications face deadlock situations and need all historic deadlock information for application tuning.

We could get the LATEST DETECTED DEADLOCK from SHOW ENGINE INNODB STATUS\G:

….
------------------------
LATEST DETECTED DEADLOCK
------------------------
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 163 page no 3 n bits 72 index GEN_CLUST_INDEX of table `deadlock_test`.`t` trx id 78507 lock_mode X waiting
*** (2) TRANSACTION:
TRANSACTION 78508, ACTIVE 155 sec starting index read
mysql tables in use 1, locked 1
….

But how could we view all past deadlock information?

We could enable innodb_print_all_deadlocks,  and all deadlocks in InnoDB user transactions will be recorded in the MySQL error log.

Let‘s start the test.

Create the test database …

[Read more]
OpenLampTech issue #52 – Substack Repost

Unbelievably, the OpenLampTech developer newsletter is one year old. Thank you so much for reading and making it possible! I appreciate each and every one of you.

The Newsletter for PHP and MySQL Developers

Receive a copy of my ebook, “10 MySQL Tips For Everyone”, absolutely free when you subscribe to the OpenLampTech newsletter.

In this week’s OpenLampTech issue #52, we have articles covering:

  • MySQL ordering with NULL
  • 7 WordPress tips for professionals
  • MySQL GUI clients for Linux
  • Working with WordPress custom tables
  • And much much more

Want to support the OpenLampTech

[Read more]
FOSDEM 2023 MySQL Devroom – extra info

Hi all,

As you know the CfP for the devroom has been open and you may have noticed that we have only half a day that we also need to share.

Therefore, we will have only 4 sessions and they should look like this:

We didn’t decide yet which of the two colors will be for which project.

Due to the very low number of sessions, we will not attempt to compose a selection committee.

Managing a committee to find the candidates, collect their decisions, communicate and especially ask for votes (and yes often these are very busy people) is a time consuming process.

For the committee, reviewing the proposed sessions is a lengthy procedure and agreeing on 16 sessions is already very complicated so only for 4… …

[Read more]
pre-FOSDEM MySQL Days 2023

pre-FOSDEM MySQL Days are back for a 5th edition !

Intersect and Except in MySQL 8.0

With the latest MySQL release (8.0.31), MySQL adds support for the SQL standard INTERSECT and EXCEPT table operators.

pre-FOSDEM MySQL Days 2023

Hello dear MySQL Community !

As you may already know FOSDEM 2023 is again going to be held in-person. FOSDEM will take place February 4th and 5th 2023.

We have also decided to put our pre-FOSDEM MySQL Day on track for a fifth edition.

As for the last edition, the event will be spread over 2 days.

These 2 extra days related to the world’s most popular open source database will take place just before FOSDEM, the 2nd and 3rd February at the usual location in Brussels.

Please don’t forget to register as soon as possible as you may already know, the seats are limited !

Register on eventbrite: https://mysqldays2023.eventbrite.com

And, please don’t forget, that if you have register for the event and you cannot make it, please free back your ticket …

[Read more]
Upgrading your Galera Cluster from MySQL 5.7 to MySQL 8.0

Recently we had a question on getting your Galera Cluster upgraded from MySQL 5.7 to MySQL 8.0. While we have plenty of extensive documentation on Upgrading Galera Cluster, this blog covers the Linux example for a rolling major upgrade (the procedure is documented, but this is more extensive). So we will describe going from MySQL 5.7.23 to MySQL 8.0.28 on one node. We did this on CentOS 7.

Firstly, let’s start by disabling SELinux by executing setenforce 0.

We need to install the appropriate MySQL 5.7 binaries, so we can grab them from releases.galeracluster.com. Since we have decided on MySQL 5.7.23, we should get the packages from …

[Read more]
ProxySQL Support for MySQL caching_sha2_password

Every day we use dozens if not hundreds of applications connecting to some kind of data repository. This simple step is normally executed over the network and, given so, it is subject to possible sniffing with all the possible related consequences.

Given that, it is normally better to protect your connection using data encryption like SSL, or at the minimum, make the information you pass to connect less easy to be intercepted.

At the same time, it is a best practice to not store connection credentials in clear text, not even inside a table in your database. Doing that is the equivalent of writing your password on a sticky note on your desk. Not a good idea.

Instead, the main options are either transforming the passwords to be less identifiable via hashing or storing the information in an external centralized vault.

In MySQL, the passwords are transformed to not be clear text, and several different plugins …

[Read more]
Journée MySQL Innovation et Cloud

Next week, November 16th, I will participate to the MySQL Innovation and Cloud Virtual Day in French.

My colleagues will present what’s new in MySQL 8.0.31 and also summarize all the big news that was announced at Oracle Cloud World in Las Vegas.

Attendees will learn about the MySQL HeatWave offering in OCI.

I will be presenting something that is only available in MySQL on-prem and in OCI as a managed service: MySQL Document Store.

The event is in French and attendees will have the opportunity to discuss and chat with MySQL experts (included Olivier!!) during the event.

Registration is required to attend this free event: Register Here.

On se voit la semaine prochaine !

MySQL: Using UNION, INTERSECT, & EXCEPT

MySQL 8.0.31 added INTERSECT and EXCEPT to augment the long-lived UNION operator. That is the good news. The bad news is that you have to be careful using the EXCEPT operator as there is a trick.

Let’s start with some simple tables and load some simple data.

SQL > create table a (id int, nbr int);
Query OK, 0 rows affected (0.0180 sec)
SQL > create table b (id int, nbr int);
Query OK, 0 rows affected (0.0199 sec)
SQL > insert into a (id,nbr) values (1,10),(3,30),(5,50),(7,70);
Query OK, 4 rows affected (0.0076 sec)

Records: 4  Duplicates: 0  Warnings: 0
SQL > insert into b (id,nbr) values (1,10),(2,20),(3,30),(4,40);
Query OK, 4 rows affected (0.0159 sec)

Records: 4  Duplicates: 0  Warnings: 0

So each table has four rows of data with two rows – (1,10) and (3,30) – appearing in both.

SQL > select id,nbr from a;
+----+-----+
| id | nbr |
+----+-----+
|  1 |  10 |
|  3 |  30 |
|  5 |  50 |
|  7 |  70 | …
[Read more]
Showing entries 1351 to 1360 of 44087
« 10 Newer Entries | 10 Older Entries »