In this continuing series of posts of fundamental DBA security tasks, we will look at passwords again, the good, the bad and the outright ugly. This group of tasks will help you find insecure users with poor passwords and provide … Continue reading →
Usually, database people are familiar with table fragmentation with DELETE statements. Whenever doing a huge delete, in most cases, they are always rebuilding the table to reclaim the disk space. But, are you thinking only DELETEs can cause table fragmentation? (Answer: NO).
In this blog post, I am going to explain how table fragmentation is happening with the INSERT statement.
Before going into the topic, we need to know that with MySQL, there are two kinds of fragmentation:
- Fragmentation where some of the InnoDB pages are completely free inside the table.
- Fragmentation where some of the InnoDB pages are not completely filled (the page has some free space).
There are three major cases of table fragmentation with INSERTs :
- INSERT with ROLLBACK
- Failed INSERT statement
- Fragmentation with page-splits
…
[Read more]
In this post, I’ll cover examples of the MySQL
TRIM() function. TRIM() removes
specific characters – or spaces – from a given string, at either:
the beginning, ending, or potentially in both locations depending
on several factors. With an optional keyword argument that
controls which character(s) – if any – are removed,
TRIM() can be tricky so let’s gain
understanding with several easy-to-digest examples…
Photo by Peter Beukema on Unsplash
OS, Software, and DB used:
- OpenSuse Leap 15.1
- MySQL 8.0.20
Self-Promotion:
If you enjoy …
[Read more]A few days ago, a customer got in touch asking how they could use Percona Monitoring and Management (PMM) to monitor the roles played by each node in an InnoDB cluster. More specifically, they wanted to check when one of the nodes changed its role from Primary to Secondary, or vice-versa. PMM allows for a high level of flexibility and customization through its support for custom queries, and we just have to be creative on how we approach the problem. In this post, we present the steps we did to test our solution, including the deployment of a 3-node InnoDB Cluster hosted in the same server (for testing) and a PMM 2 server, and connecting them together. Even though this has already been covered in other blog …
[Read more]Passwords lists abound on the net. They exist to: Get a laugh out of silly passwords… 123456 anyone? Develop a dictionary file to check user passwords either for validation or cracking. From MySQL 5.6 the validate_password plugin has been available. … Continue reading →
In the second part of this series of DBA security tasks, we will continue to look at fixing mysql db users with an insecure setup. These are not tips that you read with your morning coffee and then forget about, … Continue reading →
MinervaDB Webinar – MySQL Backup Strategies and Tools
Most often Database Systems outages happen due to user error and it is also the biggest reason for data loss / damage or corruption. In these type of failures, It is application modifying or destroying the data on its own or through a user choice. Hardware failure also contributes to database infrastructure crashes and corruption. To address these sort of data reliability issues, you must recover and restore to the point in time before the corruption occurred. Disaster Recover tools returns the data to its original state at the cost of any other changes that were being made to the data since the point the corruption took place. MinervaDB founder and Principal, hosted a webinar (Thursday, June 18, 2020 – 06:00 PM to 07:00 PM PDT) on MySQL backup strategies and tools addressing the topics below:
- Proactive MySQL DR – From strategy to execution …
A long long time ago (in a galaxy far away… cue the music!) MySQL added support for an authentication plugin which is now known as mysql_native_password. The mysql_native_password plugin uses SHA1 hash to
- Store the password(SHA1(SHA1(password)) in mysql.user table
- Authenticate user
One of the good traits of this plugin is that it allows authentication using …
[Read more]The RED Method (Rate, Errors, Duration) is one of the more popular performance monitoring approaches. It is often applied to Monitoring Microservices though there is nothing that prevents it from being applied to databases like MySQL.
In Percona Monitoring and Management (PMM) v2 we have all the required information stored in the ClickHouse database, and with the built-in ClickHouse datasource it is a matter of creating a dashboard to visualize the data.
While I was editing the dashboard, I added a few other panels, beyond what RED Method requires, in order to show some of the cool things you can do with Grafana + ClickHouse data source and …
[Read more]
If you write MySQL queries, at some point you are going to have
to provide query results in a specific order. To impose any
ordering in MySQL (this applies to SQL overall
and is not directed only at MySQL), you have to use the
ORDER BY clause. Without it, there is no
guaranteed order. The database is free to send back
query results in any order. As I learn PHP, I make it a point to
explore both the MySQL side, along with the PHP side in
regards to similar type tasks and the efficiency of each. So far
in my PHP journey, I have found that arrays are used
quite extensively. In this post, I’ll cover
array_multisort() – one of many in-built
PHP functions – used for sorting arrays. In the context of the
example data for this post, the arrays are populated by an
unordered MySQL query. Let’s see one example of how you
can establish a sorting order in a PHP …