Showing entries 1 to 10 of 43055
10 Older Entries »
Increase the Ability to Securely Replicate Your Data and Restrict Replication To Row-based Events in MySQL

In this blog, I’ll discuss the use case for replication. We want to improve our ability to replicate your data and limit replication to row-based events securely, wherein we do not have control over the source(s).

The replica doesn’t have checking capabilities when processing replicated transactions as of MySQL 8.0.18. It does this to carry out all instructions from its upstream. The replica must impose data access limitations on the replicated stream because changes may get past the security barrier separating the source and replica in some configurations. In that situation, implementing the upstream changes in a more constrained security context is beneficial to organizations needing privilege-controlled aggregate data from multiple separate databases.

In MySQL 8.0.18, a new feature PRIVILEGE_CHECKS_USER is introduced in replication channels. When a PRIVILEGE CHECKS USER account is used, a replication channel is more protected …

[Read more]
MySQL Database Service – find the info: part 2 – disk space utilization

This article is the second of the new series dedicated on how a DBA can find the info he needs with MySQL Database Service in Oracle Cloud Infrastructure.

The first article was dedicated on Backups, this one is about Disk Space Utilization.

This time we have two options to retrieve useful information related to disk space:

  1. Metrics
  2. Performance_Schema

Metrics

In the OCI Web Console, there is a dedicated metric for the disk usage:

As for the backup, we can create Alarms for …

[Read more]
MySQL Database Service - find the info: part 2 - disk space utilization

New series of articles about how to find useful information when using MySQL Database Service

MySQL - determine transaction size

Running MySQL InnoDB Cluster / Group Replication, there is a transaction size limit (https://dev.mysql.com/doc/refman/8.0/en/group-replication-options.html#sysvar_group_replication_transaction_size_limit)


The default value of "group_replication_transaction_size_limit"  is about 143 MB (150000000 bytes)

How can we determine the size of a batch job (single transaction) in MySQL?


Setting a small value with variable group_replication_transaction_size_limit and running the transaction produces the error message in error log. 


For example :

Assuming there is primary node on port 3310

mysql -uroot -p -h127.0.0.1 -P3310  -e "  set global group_replication_transaction_size_limit=1024;" …

[Read more]
Comparisons of Proxies for MySQL

With a special focus on Percona Operator for MySQL

Overview

HAProxy, ProxySQL, MySQL Router (AKA MySQL Proxy); in the last few years, I had to answer multiple times on what proxy to use and in what scenario. When designing an architecture, many components need to be considered before deciding on the best solution.

When deciding what to pick, there are many things to consider, like where the proxy needs to be, if it “just” needs to redirect the connections, or if more features need to be in, like caching and filtering, or if it needs to be integrated with some MySQL embedded automation.

Given that, there never was a single straight answer. Instead, an analysis needs to be done. Only after a better understanding of the environment, the needs, and the evolution that the platform needs to achieve is it possible …

[Read more]
MySQL 8 – timestamp cannot be null and explicit_defaults_for_timestamp

A friend’s application started failing with MySQL causing error about timestamp columns and it needs urgent fixing from the database side. A timestamp column was not accepting the null values and they were sort of down. In this blog we will learn how MySQL is telling you, to follow what you say. When you define […]

The post MySQL 8 – timestamp cannot be null and explicit_defaults_for_timestamp first appeared on Change Is Inevitable.

MySQL Database Service – find the info: part 1 – backups

In this new series of articles we will explore the different sources of information available when using MySQL Database Service on OCI to effectively perform your daily DBA job.

Of course there is way less things to take care of, like backups, upgrades, operating system and hardware maintenance, …

But as a serious DBA, you want to know the status of all this and maintain some control.

Some information is available on OCI’s webconsole and some in Performance_Schema and Sys.

If you use MySQL Shell for Visual Studio Code, you have the possibility to see an overview of your server using the Performance Dashboard:

But today we will take a look at the backup, a very important responsibility of the DBA.

When you use MySQL Database Service on OCI, you can define the backup policy at the DB Instance’s creation. You can always modify it later:

In …

[Read more]
OpenLampTech issue #70 – Substack Repost

I’ve been enjoying OpenLampTech for 70 weeks now. Wow! That’s a lot of publishing. But, more importantly, a lot of learning. And forming relationships with the readers. I am so grateful you are reading OpenLampTech. Thanks!

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 OpenLampTech issue #70, I am sharing some fantastic articles on:

  • ‘Tainted’ PHP code
  • Linux package dependencies
  • 10 useful PHP array functions
  • SQL NULL value
  • And much, much more

Thanks so much for …

[Read more]
MySQL Database Service - find the info: part 1 - backups

New series of articles about how to find useful information when using MySQL Database Service

MySQL Books: SQL Antipatterns, Volume 1

MySQL book review: SQL Antipatterns, volume 1

Showing entries 1 to 10 of 43055
10 Older Entries »