Showing entries 71 to 80 of 43775
« 10 Newer Entries | 10 Older Entries »
MySQL Vector Datatype: create your operations (part 1)

MySQL 9.0.0 has brought the VECTOR datatype to your favorite Open Source Database. There are already some functions available to deal with those vectors: This post will show how to deal with vectors and create our own functions to create operations between vectors. We will use the MLE Component capability to create JavaScript functions. JS […]

MySQL Shell Table Export Utility

MySQL Shell offer many features to make life easier for DBAs and developers. In this post we discuss some of the options available to when exporting table data to different formats.

RegEx Backreferences in MySQL

Regular expressions are a powerful tool for developers. In this post we will demonstrate how to use regular expressions backreferences in MySQL.

MySQL: Upgrading old MySQL instances

Dear Kris,

We have a number of old MySQL instances, version 5.5 and 5.6. We want to upgrade them to a current version of MySQL. The databases are between 0.5 TB to 8 TB in size.

Unfortunately, using rsync on a stopped MySQL instance is not an option because the versions are too different, and the new version seems unable to read the binary data. I could use a dump (multi-threaded), but importing a single file with mysql takes forever (it would need to be single-threaded).

Would you simply create a dump per table and then import them in parallel? Or has MySQL improved, allowing for better import methods now?

That is a lot to unpack.

A consistent backup and a binlog position

First off, a backup needs to be consistent. You cannot make a backup of individual tables, one after the …

[Read more]
The State of Online Schema Migrations in MySQL

Learn about the options for running non-blocking schema changes natively to MySQL, using Vitess, or other tools

Online Schema Changes on Tables with Foreign Keys in MySQL

pt-online-schema-change is an amazing tool for assisting in table modifications in cases where ONLINE ALTER is not an option. But if you have foreign keys, this could be an interesting and important read for you. Tables with foreign keys are always complicated, and they have to be handled with care. The use case I am […]

An Interesting Optimization

Introduction # I recently encountered an intriguing bug. A user reported that their query was causing vtgate to fetch a large amount of data, sometimes resulting in an Out Of Memory (OOM) error. For a deeper understanding of grouping and aggregations on Vitess, I recommend reading this prior blog post. The Query # The problematic query was: selectsum(user.type)fromuserjoinuser_extraonuser.team_id=user_extra.idgroupbyuser_extra.idorderbyuser_extra.id;The planner was unable to delegate aggregation to MySQL, leading to the fetching of a significant amount of data for aggregation.

A Quick Introduction to JavaScript Stored Programs in MySQL

Recently MySQL added the ability to write Stored Programs in JavaScript.  This allows developers to leverage JavaScript capabilities for complex data processing and business logic within the database server. We think this is really cool. Here’s why.

MySQL 9.0 Includes a New Option for Explaining Queries

MySQL 9.0 is an Innovation Release, but as you may have read in my Quick Peek, I found little innovation. However, one new item caught my eye, and it could be a way to track query performance. MySQL 9.0 EXPLAIN enhancement Here is the syntax that will be referenced in the post. {EXPLAIN | DESCRIBE […]

How to Have a Single MySQL User Account From Specific Hosts

In this article, we will demonstrate how to have a single MySQL database user account that can connect from specific hosts. We would usually implement it by creating separate user accounts with the same username but different hosts/IPs like <USER>@<HOST1>, <USER>@<HOST2> …. <USER>@<HOSTn>. Then, give those users the same grants(privileges/roles) and settings(password, SSL, etc). Instead […]

Showing entries 71 to 80 of 43775
« 10 Newer Entries | 10 Older Entries »