Showing entries 21 to 30 of 433
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: MySQL 8.0 (reset)
How to Troubleshoot a MySQL Replica IO Thread that is Stuck in a Connecting State

Discover how to troubleshoot a MySQL replica IO thread stuck in a connecting state. Learn about the replication architecture, security group rules for AWS EC2 instances, and how to address common issues like network restrictions and bind address configuration.

MySQL is a powerful database management and a widely used cloud database service. One of its key features is the ability to create replicas of a master database to improve its availability and scalability. However, at times the IO thread in a MySQL replica may get stuck in a connecting state, which can cause replication issues and affect the overall data consistency …

[Read more]
Query and Transaction size in MySQL

Some times it’s important to know the size of a transaction, especially when you plan to migrate to a HA solution where by default transactions have a limited size to guarantee an optimal behavior of the cluster.

Today we will see the different possibilities to have an idea of the size of transactions.

First we need to split the transaction in two types:

  • those generating data (writes, like insert, delete and update, DML)
  • those only ready data (select, DQL)

To implement High Availability, only the first category is important.

Size of DML

To know the size of a DML transaction, the only possibility we have is to parse the binary log (or query the binlog event).

We need to check the binlog event from the binlog file and then calculate its size. To illustrate this, let’s try to find the transaction identified by a specific GTID: …

[Read more]
How to get client’s IP address when using MySQL Router ?

When you connect to a server (or cluster) using a TCP proxy level 7, also referred to as an application-level or Layer 7 proxy (highest level of the OSI model), the application doesn’t connect directly to the back-end server(s). The proxy usually understands the protocol used and can eventually take some decisions or even change the request.

The problem when using such proxy (like HA Proxy, ProxySQL and MySQL Router) is that the server doesn’t really know from where the client is connecting. The server sees the IP address of the proxy/router as the source IP of the client.

HA Proxy initially designed the Proxy Protocol, a simple protocol that allows a TCP connection to transport proxy-related information between the client, the proxy server and the destination server. The main purpose of the Proxy Protocol is then to preserve the client’s original IP address (with some others metadata). See …

[Read more]
Mastering MySQL Group Replication Primary Promotion Techniques

Table of contents:

  1. Introduction
  2. Common reasons for switching the primary node
  3. Primary Promotion and its importance
  4. Methods for switching the primary node
[Read more]
MySQL 8.0.33: thank you for the contributions

The latest MySQL release has been published on April 18th, 2023 (my eldest daughter’s birthday).This new version of MySQL brings a new service that I’m excited to play with: Performance Schema Server Telemetry Traces Service. MySQL 8.0.33 contains bug fixes and contributions from our great MySQL community.

I would like to thank all contributors on behalf of the entire Oracle MySQL team !

MySQL 8.0.33 contains patches from Mikael Ronström, Evgeniy Patlan, Dmitry Lenev, HC Duan, Marcelo Altmann, Facebook, Nico Pay, Dan McCombs, Yewei Xu, Niklas Keller, Mayank Mohindra and Alex Xing.

Let’s have a look at all these contributions:

MySQL NDB Cluster

  • #103814 – ClusterJ partition key scratch buffer size too small – …
[Read more]
Book Review: MySQL Crash Course

Today, I would like to present this new book from Rick Silva: MySQL Crash Course – A Hands-on Introduction to Database Development, No Starch Press, 2023.

I participated in this project as technical reviewer and I really enjoyed reading the chapters Rick was writing as soon as they were ready… and thank you Rick for the kind words to me in the book 😉

About the book, if you are ready to dive into the world of database management but you don’t know where to start, this book is the perfect guide for beginners eager to learn MySQL quickly and efficiently.

MySQL Crash Course is a concise and practical guide to learn how to use the most popular Open Source Database.

The book is filled with examples, tips, expert advice and exercises.

Reading the book, you will …

[Read more]
MySQL Database Service – find the info: part 5 – HeatWave

In this new article about how to find the info when using MySQL Database Service on Oracle Cloud Infrastructure, we will learn about the query accelerator: HeatWave.

With HeatWave, you can boost the performance of your MySQL queries, providing your applications with faster, more reliable, and cost-effective access to data.

HeatWave is a high-performance in-memory query accelerator for MySQL Database Service on Oracle Cloud Infrastructure. It is designed to accelerate analytics workloads (OLAP) and increase the performance of your MySQL databases by orders of magnitude. This is achieved through the use of in-memory processing, advanced algorithms, and machine learning techniques to optimize query performance. If identified by the optimizer, OLTP requests can also be accelerated using HeatWave.

Today we will try to answer the following questions:

  1. Can I use HeatWave ?
  2. Is HeatWave enabled ?
[Read more]
MySQL Database Service – find the info: part 4 – connections

As a MySQL DBA, you like to know who is connected on the system you manage. You also like to know who is trying to connect.

In this article, we will discover how we can retrieve the information and control who is using the MySQL DB instance we launched in OCI.

Secure Connections

The first thing we can check is that all our clients encrypt their connection to the MySQL server.

We use again Performance_Schema to retrieve the relevant information:

select connection_type, substring_index(substring_index(name,"/",2),"/",-1) name,
       sbt.variable_value AS tls_version, t2.variable_value AS cipher,
       processlist_user AS user, processlist_host AS host
from performance_schema.status_by_thread AS sbt
join performance_schema.threads AS t 
  on t.thread_id = sbt.thread_id
join performance_schema.status_by_thread AS t2 
  on t2.thread_id = t.thread_id
where sbt.variable_name = 'Ssl_version' and …
[Read more]
Upgrade Your MySQL Database: Don’t Get Left Behind

The End-of-Life (EOL) date for MySQL 5.7 is scheduled for October 2023, which means that after that date, MySQL 5.7 will no longer receive updates, bug fixes, or security patches. This does not mean that MySQL 5.7 will stop working after the EOL date, but it does mean that any issues or vulnerabilities discovered after that date will not be addressed, This can leave your database at risk of security breaches or performance issues. AWS RDS support for MySQL will also hold good only till October 2023.

To avoid these potential issues, it is recommended to upgrade to a newer version of MySQL before the EOL date for MySQL 5.7. Upgrading to a newer version such as MySQL 8 …

[Read more]
MySQL Database Service – find the info: part 3 – error log

For this third article of the series dedicated on how a DBA can find the info he needs with MySQL Database Service in Oracle Cloud Infrastructure, we will see how we can find the error log.

When using MySQL DBAAS, the DBA doesn’t have direct access to the files on the filesystem. Hopefully, with MySQL 8.0, the error log is also available in Performance_Schema.

This is exactly where you will find the information present also in the error log file when using MDS in OCI:

select * from (select * from performance_schema.error_log order by logged desc limit 10) a order by logged\G
*************************** 1. row ***************************
    LOGGED: 2023-03-19 08:41:09.950266
 THREAD_ID: 0
      PRIO: System
ERROR_CODE: MY-011323
 SUBSYSTEM: Server
      DATA: X Plugin ready for connections. Bind-address: '10.0.1.33' port: 33060, socket: /var/run/mysqld/mysqlx.sock
*************************** 2. row …
[Read more]
Showing entries 21 to 30 of 433
« 10 Newer Entries | 10 Older Entries »