Planet MySql
18h12 06  août
Finding a Regression in MySQL Source Code: A Case Study
Marcelo Altmann
At the Percona engineering team, we often receive requests to analyze changes in MySQL Percona Server for MySQL behavior from one version to another, either due to regression or a bug fix (when having to point out to a customer that commit X has fixed their issue and upgrading to a version...
16h26 06  août
MySQL Shell Dump & Load part 4: Dump Instance & Schemas
MySQL Server Dev Team
MySQL Shell 8.0.21 comes with two utilities which can be used to perform logical dumps of all the schemas from an instance (util.dumpInstance()) or selected schemas (util.dumpSchemas()). These tools offer major performance improvements over the mysqldump utility, some of our benchmarks show a...
13h02 06  août
How Can ScaleFlux Handle MySQL Workload?
MySQL Performance Blog
Recently I had the opportunity to test a storage device from ScaleFlux called CSD 2000. In this blog post, I will share the results of using it to run MySQL in comparison with an Intel device that had a similar capacity. First of all, why do we need another storage device? Why is ScaleFlux any...
12h56 06  août
New Consistency for Datafile Locations in MySQL 8.0.21
MySQL Server Dev Team
When you create a general tablespace in MySQL 8.0, you can choose the directory where the associated datafile is created. CREATE TABLESPACE tablespace name ADD DATAFILE my table space dir’; However, that directory must be known to InnoDB. Known directories are defined by the following settings...
12h55 06  août
Improvements to Undo Truncation in MySQL 8.0.21
MySQL Server Dev Team
Undo Tablespaces can be truncated either implicitly or explicitly in MySQL 8.0. Both methods use the same mechanism. This mechanism could cause periodic stalls on very busy systems while an undo tablespace truncate completes. This problem has been fixed in MySQL 8.0.21.... Facebook Twitter ...
07h26 06  août
Getting core files and systemd Restart
Paul Moen
So you have waited two weeks (cause the crash isn’t easily repeatable) and finally you get the crash again. You check your non-datadir core file directory with loads of free space and discover nothing was written. When MySQL crashes, you ... Continue reading’
04h05 05  août
Top Blog Posts about MySQL 8.0.21
Oracle MySQL Group
As with any new releases, MySQL 8.0.21 introduces many new improvements and updates, many of which deserve their own blog post for a deep dive into the new features. Among the notable changes are: Account Management Notes, JSON Notes, Authentication Notes and changes related to InnoDB, Optimizer,...
00h16 05  août
MySQL Shell Dump & Load part 3: Load Dump
MySQL Server Dev Team
Introduced in MySQL Shell 8.0.21, the new MySQL Shell Dump and Load utilities has as its main goal to minimize the time needed to create and restore logical dumps of large data sets. Through heavy parallelization and other techniques, we were able to reduce the time needed for these tasks by an...
15h18 04  août
MySQL from a Developers Perspective
Kristian Köhntopp
So this has turned into a small series, explaining how to work with MYSQL from a developers perspective. This post is intended as a directory for the individual articles. It will be amended and re-dated as necessary. The code for the series is also available in isotopp mysql-dev-examples on GitHub...
15h05 04  août
MySQL Foreign Key Constraints and Locking
Kristian Köhntopp
Since we now know how to look at the state of locking in a live database, let’s look at what happens when we run a normal insert or update and an insert or update with foreign key relationships defined, and compare. We will be using the tables and structures from our previous examples, a simple...
14h51 04  août
MySQL Shell Dump & Load part 2: Benchmarks
MySQL Server Dev Team
This second part about the new MySQL Shell Dump & Load utilities aims to demonstrate the performance while also comparing it with various other logical dump and load tools available: mysqldump, mysqlpump & mydumper. To make the numbers more meaningful, I used several real world production...
00h00 04  août
ARM’s LSE (for atomics) and MySQL
Krunal Bauskar
ARM introduced LSE (Large System Extensions) as part of its ARMv8.1 specs. This means if your processor is ARMv8.1 compatible it would support LSE. LSE are meant to optimize atomic instructions by replacing the old styled exclusive load-store using a single CAS (compare-and-swap) or SWP (for...
19h09 03  août
MySQL Shell Dump & Load part 1: Demo
MySQL Server Dev Team
MySQL Shell 8.0.21 includes some exciting new utilities to create a logical dump and do a logical restore, with a focus on ease of use, performance and integration. In MySQL Shell 8.0.17, we already introduced a multi-threaded CSV import utility util.importTable()... Facebook Twitter LinkedIn
15h12 03  août
How To Import Export CSV Data Using MySQLi and PHP 7
parvez alam
This tutorial help to import the csv data into MySQL and export data from MySQL to csv file.The CSV file is used to import and export data for moving exchange data information between web application.You can use rest api or web application to import export CSV data. The web application data is...
13h30 03  août
Using SKIP LOCK For Queue Processing in MySQL
Marco Tusa
A small thing that provides a huge help. The other day I was writing some code to process a very large amount of items coming from a social media API. My items were ending in a queue in MySQL and then needed to be processed and eventually moved. The task was not so strange, but what I have to do...
11h30 03  août
Using SKIP LOCK in MySQL For Queue Processing
Marco Tusa
A small thing that brings huge help. The other day I was writing some code to process a very large amount of items coming from a social media API. My items were ending in a queue in MySQL and then needed to be processed and eventually moved. The task was not so strange, but what I have to do is...
05h29 03  août
MySQL Foreign Keys and Foreign Key Constraints
Kristian Köhntopp
Foreign Keys are what links tables together and turns a set of tables into a model. Foreign Key Constraints are conditions that must be true for the content of the tables to be an internally consistent model. Foreign Key Constraints can be defined and enforced in InnoDB, but this comes at a...
00h25 02  août
MySQL Deadlocks with INSERT
Kristian Köhntopp
Support Channel. Hi, I am getting deadlocks in the database and they occur when I have to rollback the transactions but if we don’t have to roll back all transactions get executed. Wait, what? After some back and forth it becomes clear that the Dev experiences deadlocks and has data: mysql>...
12h11 01  août
MySQL: Locks and Deadlocks
Kristian Köhntopp
In a previous article we wrote data to the database using atomic update statements, and then using transactions with SELECT ... FOR UPDATE. In this article we will look at what happens when we continue doing this, in a more complicated way. Source code for this article is also available on github...
07h05 01  août
MySQL Server-side
Michael McLaughlin
A student question: Does JavaScript make context switching for web-based applications obsolete? Wow I asked what that meant. He said, it means JavaScript replaces all other server-side programming languages, like PHP, C#, or Python. I asked the student why he believed that. His answer was that’s...
09h32 31  juillet
New On-Demand Webinar: Geo-Distributed MySQL Clustering Done Right
Watch this on-demand webinar to learn the right way to deploy geo-distributed databases. We look at the pitfalls of deploying a single site and passive sites, and from there we show how to provide the best user experience by leveraging geo-distributed MySQL. Tags: MySQL Geo-Distributed mysql...
09h37 30  juillet
Upcoming Tungsten MySQL Use Case Webinars: Global Availability, Data Protection & HA
This is the kick-off of our Tungsten MySQL Use Case Webinar Series presented by Continuent CEO Eero Teerikorpi. Our first three webinars offer a choice of topics ranging from Global MySQL Availability, MySQL Data Protection to MySQL High Availability. Tags: Webinar MySQL use case tungsten...
07h18 30  juillet
MySQL from a Developers Perspective
Kristian Köhntopp
So this has turned into a small series, explaining how to work with MYSQL from a developers perspective. This post is intended as a directory for the individual articles. It will be amended and re-dated as necessary. The code for the series is also available in isotopp mysql-dev-examples on GitHub...
06h37 30  juillet
MySQL Transactions - writing data
Kristian Köhntopp
Using the framework for testing we created in earlier articles, let’s try to modify some data. We are writing a small program that increments a counter. Our table looks like this, and contains 10 counters: CREATE TABLE demo ( id bigint unsigned NOT NULL AUTO INCREMENT, counter int NOT...
06h00 30  juillet
More Robust Network Partition Handling in Group Replication
MySQL High Availability
As Group Replication (GR) matures and it is deployed in a myriad of different systems, we begin to witness specific network conditions that we must be able to cope with in order to make Group Replication more tolerant and robust to those failures.... Tweet Share
21h05 29  juillet
From MySQL Group Replication to MySQL InnoDB Cluster
Frederic Descamps
I wanted to be brave and I installed MySQL Group Replication manually.... it was painful Then I realized that managing those servers and especially deal with MySQL Routers was even more painful What are my options now ? Is there a solution or do I need to restart from scratch ? Asking...
18h40 29  juillet
MySQL Transactions - the logical side
Kristian Köhntopp
After having a look how MySQL handles transactions physically, let’s have a look at what is going on from a logical point of view. We are using a test table called demo with an id and a counter field, both integer. In it we have 10 counters, all set to 0. CREATE TABLE demo ( id bigint...
14h21 29  juillet
MySQL audit logging using triggers
Vlad Mihalcea
Introduction In this article, we are going to see how we can implement an audit logging mechanism using MySQL database triggers to store the old and new row states in JSON column types. Database tables Let’s assume we have a library application that has the following two tables: The book table...
19h48 28  juillet
Express.js & MySQL
Michael McLaughlin
Sometimes, you just half to chuckle. A couple folks felt that I didn’t give enough information in my post showing how to configure a small Node.js application that could access a MySQL database. Specifically, they wanted me to explain the following: Configure your Express.js and MySQL development...
18h49 28  juillet
Creating a Simple MySQL Binlog Server
In my previous Blog i have explained how we can integrate MySQL tools ( Percona Tool kit ) with systemd service, At Mydbops works with multiple clients ,we get various requirements from customers a few may be a complex ones ,one of the requirement was to setup a binlog server and copy the...
16h26 28  juillet
Replication Between Two Percona XtraDB Clusters, GTIDs and Schema Changes
Sveta Smirnova
I got this question on the How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster (PXC) webinar and wanted to answer it in a separate post. Will RSU have an effect on GTID consistency if replication PXC cluster to another cluster? Answer for this: yes and no. Galera assigns its own...
13h40 28  juillet
MySQL Connection Scoped State
Kristian Köhntopp
MySQL speaks its own proprietary protocol. It cannot be routed by a HTTP proxy, and a MySQL connection is entire unlike a HTTP connection. Specifically, a lot of state and configuration is tied to a MySQL connection, and it cannot be recovered on disconnect. What state is tied to a connection? ...
20h34 27  juillet
Which Account Belongs to Whom or a GCOS Field Equivalent for MySQL Accounts
Dave Stokes
Last week I received an urgent email asking to move the time of my performance review up a few hours. And the email sender was not in my management structure and was someone unfamiliar to me. Being a former Xerox employee, I checked my others emails for notice of a reorganization. Then I...
19h04 27  juillet
The Transaction Behavior Impact of innodb rollback on timeout in MySQL
MySQL Performance Blog
I would say that innodb rollback on timeout is a very important parameter. In this blog, I am going to explain innodb rollback on timeout and how it affects the transaction behavior at the MySQL level. I describe two scenarios with practical tests, as it would be helpful to understand this...
19h03 27  juillet
MySQL Commit Size and Speed
Kristian Köhntopp
When writing data to disk, for small transactions the cost of writing the commit out do disk dominates the execution time of the script. In order to show that, I wrote a little bit of Python. The script creates a test table in a database and writes 10.000 rows of test data into it, in commit sizes...
16h03 27  juillet
Oracle MySQL Virtual Event: Upgrading to MySQL 8.0
Dave Stokes
Be sure to register for the July 29th Oracle MySQL Virtual Event: Upgrading to MySQL 8.0 Join MySQL’s first virtual conference and discover how upgrading to MySQL 8.0 will improve your application performance. Agenda for the day:8:00 - 9:00am PDT Best Practice Tips Upgrading to 8.0 ...
09h15 27  juillet
MySQL Transactions - the physical side
Kristian Köhntopp
So you talk to a database, doing transactions. What happens actually, behind the scenes? Let’s have a look. There is a test table and we write data into it inside a transaction: CREATE TABLE t ( id serial, data varbinary(255) ) START TRANSACTION READ WRITE INSERT INTO t ( id, data ) VALUES ...
16h12 24  juillet
Changes that I like in the new MySQL 8.0.21
dbi services
A new release of MySQL was out on July 13 (8.0.21). Among all the changes, there are some that I have already tested and that I really appreciate. Who stopped the MySQL server? In previous releases, I can already see in the error log file who stopped the MySQL server if this was done through the...
14h02 24  juillet
START GROUP REPLICATION can now take recovery credentials as parameters
MySQL High Availability
From MySQL 8.0.21 onwards, START GROUP REPLICATION includes new options which allow a user to specify credentials to be used for distributed recovery. You can now pass credentials when invoking START GROUP REPLICATION instead of setting them when configuring the group replication recovery channel. ...
09h17 24  juillet
MySQL: who’s filling my error log?
Frederic Descamps
This morning, a user asked in the MySQL Community Slack if somebody had an idea why the error log was filled up continuously with a warning messages like this one: 2020-07-24T06:54:00.877128Z 46 Warning-MY-013360-Server Plugin sha256 password reported: ’’sha256 password’ is deprecated and...
13h30 22  juillet
Group Replication SYSTEM messages in the error log
Nuno Carvalho
Group Replication enables you to create fault-tolerant systems with redundancy by replicating the system state to a set of servers. Even if some of the servers subsequently fail, as long it is not all or a majority, the system is still available.... Tweet Share
05h51 22  juillet
Node.js & MySQL
Michael McLaughlin
These are my notes for creating a small Node.js application that queries a MySQL database. The post will show you how to: Configure your Node.js development directory. Build a small application to test a MySQL connection. Build a small application that connects to the MySQL database and queries...
17h20 21  juillet
Updates to Percona Kubernetes Operator for Percona XtraDB Cluster
MySQL Performance Blog
On July 21, 2020, Percona delivered an updated version of our Percona Kubernetes Operator for Percona XtraDB Cluster (PXC) focused on easing deployment and operations management of a clustered MySQL environment. Included in the Percona Distribution for MySQL, our Operator is based on the best...
15h55 21  juillet
New Logical Backup and Restore Utilities in the MySQL Shell
Dave Stokes
The MySQL Shell or mysqlsh version 8.0.21 comes with three new utilities to perform logical backups and restore. They were designed to make it easier to move your 5.7 or 8.0 data to the new MySQL Data Service but also work well by themselves. They feature compression, the ability to show the...
13h28 21  juillet
New MySQL 8.0.21 and Percona XtraBackup 8.0.13 Issues
MySQL Performance Blog
On Monday, July 13, 2020, Oracle released MySQL 8.0.21. This release contained a few new changes that cause issues with Percona XtraBackup. First, this release introduced the ability to temporarily disable InnoDB redo logging (see the work log and documentation). If you love your data, this...
19h05 20  juillet
Backing Up Percona Kubernetes Operator for Percona XtraDB Cluster Databases to Google Cloud Storage
MySQL Performance Blog
The Percona Kubernetes Operator for Percona XtraDB Cluster can send backups to Amazon S3 or S3-compatible storage. And every now and then at Support, we are asked how to send backups to Google Cloud Storage. Google Cloud Storage offers an interoperability mode which is S3-compatible. However,...
11h10 20  juillet
Specify Recovery IP Addresses in Group Replication
MySQL High Availability
Group Replication distributed recovery is one of the key features and until now it was restricted to be executed over one mysql connection point automatically defined on mysql system variables port and host. With group replication recovery endpoints we can specify through which interfaces can...
08h14 20  juillet
Security: Use roles to manage user privileges
Paul Moen
MySQL 8.0 finally allows you to use roles to grant privileges. Most companies are now required to fulfill stricter security requirements, one of those requirements is each user must login using their own username. Roles allow you to grant individual ... Continue reading’
00h00 18  juillet
Announcement: Added a separate feed for MySQL topics
Saverio Miroddi
Yesterday (17 Jul 2020) I’ve added a separate feed for MySQL topics. It can be accessed at the address https: feed mysql.xml (also represented by the dolphin icon in the navigation bar of the blog).
22h16 17  juillet
How to Create a Backup of MySQL Databases Using mysqldump on Ubuntu 20.04
In this tutorial, we will show you how to create a backup of MySQL databases on an Ubuntu 20.04 VPS, ... Read moreHow to Create a Backup of MySQL Databases Using mysqldump on Ubuntu 20.04