Writing tests for code that interacts with a database can be daunting. In this post, we discuss how you can easily set up a testing environment using Testcontainers and Node.js and write some tests for code that interacts with a MySQL database.
Testing code that interacts with a database can sometimes be a daunting task. Check out this post about using Testcontainers and Node.js to test code that interacts with a MySQL database.
Every day PlanetScale processes more than 10 billion of our customers’ queries. We need to collect, store, and serve telemetry data generated by these queries to power Insights, our built-in query performance tool. This post describes how we built a scalable telemetry pipeline using Apache Kafka and a sharded PlanetScale database. Insights requirements To show you Insights, we pull from the following datasets: Database-level time series data (e.g., queries per second across the entire database). Query pattern-level time series data (e.g., p95 for a single query pattern like SELECT email FROM users where id = %) Data on specific query executions for slow/expensive queries (the “slow query log”). The database-level data fits well into a time series database like Prometheus, but we run into several issues when trying to store the query-pattern level data in a time series database. On any given day, there are 10s of millions of unique query …
[Read more]After discussing with Simon about some issues when trying to recompile MySQL 8.0.34 on CentOS 9 (see #111159), I also tried it and indeed some dependencies are not listed when compiling via the source RPM.
Let’s see how to recompile the two latest versions of MySQL (8.0.34 and 8.1.0) using the source RPMs.
I use Oracle Linux 9 as build machine.
Getting the source RPM
To get the source RPM, you need first to install the MySQL Community’s repo:
$ sudo dnf install …
[Read more]
MySQL 8.0.34 brings us a new password
validation parameter. Using this, we can control the minimum
number of characters in a password that a user must change before
validate_password accepts a new password for the user’s
account.
In this blog, I offer a few scenarios showing how the parameter
validate_password.changed_characters_percentage
affects user password changes.
Requirement
To make this work, we should enable the “Password Verification-Required Policy” (introduced in MySQL 8.0.13). We can allow it to GLOBALLY by using the parameter “password_require_current” or by specifying “PASSWORD REQUIRE CURRENT” while creating or altering the user. This topic was already explained very well by Brain Sumpter in his post, …
[Read more]Deferred join is powerful. Deferred join is simple. Deferred join is misunderstood.
Deferred join is powerful. Deferred join is simple. Deferred join is misunderstood.
Deferred join is powerful. Deferred join is simple. Deferred join is misunderstood.
In the article, we are going to explore the importance of the database deployment in MySQL and how automation can enhance this process. In addition, we'll examine how to set up schema comparison and synchronization using the command line with the help of dbForge Studio for MySQL.
The post How to Configure MySQL Deployment Automation: A Practical Guide appeared first on Devart Blog.
MySQL 8 brought a significant architectural transformation by replacing the traditional MyISAM-based system tables with the Transaction Data Dictionary (TDD), a more efficient and reliable approach. This upgrade has vastly improved the management and storage of metadata, resulting in better reliability and scalability for various database objects. In this blog post, we will explore the intricacies of MySQL 8’s Transaction Data Dictionary, its advantages, and its real-life application using practical examples.
At the core of MySQL 8’s InnoDB storage engine, the Transaction Data Dictionary (TDD) plays a fundamental role in storing crucial metadata concerning database objects such as tables, indexes, constraints, triggers, and more. This innovative architecture replaces the outdated MyISAM-based system tables, effectively making the handling of data dictionary information transactional and compliant with the ACID principles.
The …
[Read more]