Showing entries 1 to 10 of 42054
10 Older Entries »
Automatic Memory Management in RonDB

RonDB has now grown up to the same level of memory management as you find in expensive commercial DBMSs like Oracle, IBM DB2 and Microsoft SQL Server.

Today I made the last development steps in this large project. This project started with a prototype effort by Jonas Oreland already in 2013 after being discussed for a long time before that. After he left for Google the project was taken over by Mauritz Sundell that implemented the first steps for operational records in the transaction manager.

Last year I added the rest of the operational records in NDB. Today I completed the programming of the final step in RonDB. This last step meant moving around 30 more internal data structures towards using the global memory manager. These memory structures are used to represent meta data about tables, fragments, fragment replicas, triggers and global replication objects.

One …

[Read more]
MySQL Upgrade Checker, Review the Report, Before you Upgrade.

MySQL introduced the MySQL “Upgrade Checker” initially to support upgrades from MySQL 5.7 to 8.0 series. However, the continuous development initiative in the MySQL 8.0 release series has continued this tools usefulness as it can also report on continuous delivered features throughout the MySQL 8.0 release life. Additionally, “Yes”, bug fixes are always part of that development release… Read More »

Enhanced Password Management Systems in MySQL 8: Part 1

MySQL 8 comes with a lot of good features, and recently I explored its password management systems. I wanted to put together a series of blogs about it, and this is the first part. In this post, I am going to explain the following topics in detail.

  • Password Reuse Policy
  • Random Password Generation

Password Reuse Policy

MySQL has implemented restrictions on reusing passwords. Restriction can be established in two ways:

  • Number of password changes
  • Time elapsed

Number of Password Changes

From the MySQL documents:

If an account is restricted on the basis of number of password changes, a new password cannot be chosen from a specified number of the most recent passwords.

To test this, in my local environment I have created the user with “number of password changes = 2”.

mysql> create user …
[Read more]
Medium Cross-post – CodeIgniter 4 CRUD: Update

In some applications, data may never change. Yet, in others, data changes numerous times in its lifecycle. In SQL the UPDATE command changes existing rows of data. CodeIgniter 4 Models have 2 methods available for update operations: update() and save(). Continue reading and learn more about update()

Self-Promotion:

If you enjoy the content written here, by all means, share this blog and your favorite post(s) with others who may benefit from or like it as well. Since coffee is my favorite drink, you can even buy me one if you would like!

CodeIgniter 4 CRUD Series with MySQL

This post is a re-share of an article I originally published on my Medium account and is part 3 in the CodeIgniter 4 CRUD with MySQL series. Be sure and …

[Read more]
Making Aurora Write Latency 15x Higher (or More!) by Choosing a Bad Primary Key

Primary Key design is an important thing for InnoDB performance, and choosing a poor PK definition will have an impact on performance and also write propagation in databases. When this comes to Aurora, this impact is even worse than you may notice.

In short, we consider a poor definition of a Primary Key in InnoDB as “anything but quasi sequential values”, which may cause very random access to data and thus increase the IO dependency.

In this post, I’ll try to demonstrate the potential impact of the primary key design when running on Aurora, and how a bad design can lead to a 15x write latency penalty (or more).

The Analysis

Recently I worked on a case where a customer was having issues with scaling writes in Aurora MySQL. While this is a known limitation in Aurora considering how the distributed storage layer syncs out data among all nodes of the cluster, we observed additional latency occurring when more …

[Read more]
MyDumper 0.11.1 is Now Available

The new MyDumper 0.11.1 version, which includes many new features and bug fixes, is now available.  You can download the code from here.

For this release, there are three main changes: 1) we added config file functionality which allows users to set session-level variables (one of the most requested features!), 2) we developed a better and robust import mechanism, and 3) we fixed all the filename related issues.  Those changes and mostly the last one forced us to change the version number from 0.10.9 to 0.11.1 as a backup taken in 0.10.x will not work in 0.11.x and vice versa.

New Features:

  • Adding order by part functionality #388
[Read more]
Topping the Charts Again: dbForge Studios Awarded G2 High Performer & Leader Fall 2021

More good news coming our way! It is inspiring to see that all the hard work we put into our products pays off as happy users and good reviews bring us more and more recognition on independent software reviewing platforms and marketplaces. Today, the products in question are dbForge Studios for MySQL and Oracle, which […]

The post Topping the Charts Again: dbForge Studios Awarded G2 High Performer & Leader Fall 2021 appeared first on Devart Blog.

Discovering MySQL Database Service – Episode 8 – Connect to MySQL Database Service Using MySQL Shell

MySQL, the world’s most popular open source database, is available as a managed cloud service in Oracle Cloud Infrastructure (OCI) under the name of MySQL Database Service (MDS). MySQL Database Service is a fully managed cloud service, 100% Developed, Managed and Supported by the MySQL Team. This is the eight episode of “Discovering MySQL Database […]

The post Discovering MySQL Database Service – Episode 8 – Connect to MySQL Database Service Using MySQL Shell first appeared on dasini.net - Diary of a MySQL experts.

Dave's MySQL Quiz Number 2 Answers

    This week's MySQL was a great one for novices looking to level up from beginner level SQL development to a higher level.  

    The problem:  Find the customers with more than one unreturned rented movies that are past their return due date.  You might to look at this for the example of finding an overdue rentals. 

The answer:

First we need to get the customer_id from the customer table.  Then it takes a bit of struggle to get the information on the rental.   It is often easier to write queries by determining the needed output columns, then the 'qualifiers'  or stuff on the right of the WHERE clause before determining what has to be joined to get between the two.

The part of the query to find the overdue entries requires the rental date where it …

[Read more]
Data Types in MySQL: Tutorial and Full List with Examples of Data Formats

In the article, we are going to discuss data types including string, numeric, date and time, spatial, and JSON supported by MySQL. Also, we’ll provide examples of their usage and see how to change a data type for the table column using dbForge Studio for MySQL. Contents What is a Data Type Data Types in […]

The post Data Types in MySQL: Tutorial and Full List with Examples of Data Formats appeared first on Devart Blog.

Showing entries 1 to 10 of 42054
10 Older Entries »