Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 3976 to 3985 of 45473 « Previous | Next »
Watch The Replay: 'No Data Loss' MySQL Replication Use Case Webinar

Watch the replay of this webinar about geo-distributed active/active MySQL replication for Financial Services SaaS Providers and on how to guarantee credit card transaction availability with geo-distributed Tungsten MySQL clusters.

Tags:  Webinar MySQL use case tungsten clustering mysql cluster bluefin MySQL Replication …

[Read more]
MySQL semi-sync replication: durability, consistency and split brains

We look at some basics and follow up to present scenarios that require higher level intervention to ensure availability and to avoid split brains from taking place.

Read the full story

MySQL semi-sync replication: durability consistency and split brains

MySQL semi-sync is a plugin mechanism on top of asynchronous replication, that can offer better durability and even consistency (term defined later). It helps in high availability solutions, but can in itself reduce availability. We look at some basics and follow up to present scenarios that require higher level intervention to ensure availability and to avoid split brains from taking place.

I recommend reading this semi-sync blog post by Jean-François Gagné (aka JFG), which illustrates the internals of the semi-sync implementation, and debunks some myths about semi-sync. We will overlap a bit with another recommended post by JFG, about high availability and recovery. …

[Read more]
MySQL semi-sync replication: durability consistency and split brains

We look at some basics and follow up to present scenarios that require higher level intervention to ensure availability and to avoid split brains from taking place.

Database Schema Management Via Liquibase

Creating the database for an application is simple and easy. However, database script management gets complicated in a hurry when you need to support multiple versions, work with multiple teams, and apply the same changes to multiple types of databases. 

One open-source tool that helps teams track, version, and deploy database schema changes is Liquibase. It executes database scripts sequentially, allows for the automatic creation and execution of rollback scripts for failed updates, and provides an easy way to use the same scripts and apply them to different types of databases. To illustrate how Liquibase works, here’s an example using PostgreSQL.   

System set up:

[Read more]
MySQL semi-sync replication: durability, consistency and split brains

MySQL semi-sync is a plugin mechanism on top of asynchronous replication, that can offer better durability and even consistency (term defined later).

MySQL Database Service Now Available in Canada and India

MySQL Database Service is now also available in India (Mumbai) and Canada (Toronto) Regions. These are additions to the Regions where the Service is already available: Brazil (Sao Paulo), Germany (Frankfurt), Japan (Tokyo), United Kingdom (London), United States East (Ashburn), and United States West (Phoenix).

If you want to test for free, go to oracle.com/cloud/free and get access to a wide range of Oracle Cloud services for 30 days, including MySQL Database Service in Ashburn, Frankfurt, London, Mumbai, Phoenix, Tokyo, and Toronto. Check the documentation for the quick steps to create your MySQL databases.

More Regions are coming soon. Stay tuned!

You are also welcome to register for the live MySQL Database Service webinar series: …

[Read more]
MySQL Database Service Now Available in Canada and India

MySQL Database Service is now also available in India (Mumbai) and Canada (Toronto) Regions. These are additions to the Regions where the Service is already available: Brazil (Sao Paulo), Germany (Frankfurt), Japan (Tokyo), United Kingdom (London), United States East (Ashburn), and United States Wes...

MySQL 101: Tuning MySQL After Upgrading Memory

In this post, we will discuss what to do when you add more memory to your instance. Adding memory to a server where MySQL is running is common practice when scaling resources.

First, Some Context

Scaling resources is just adding more resources to your environment, and this can be split in two main ways: vertical scaling and horizontal scaling.

Vertical scaling is increasing hardware capacity for a given instance, thus having a more powerful server, while horizontal scaling is adding more servers, a pretty standard approach for load balancing and sharding.

As traffic grows, working datasets are getting bigger, and thus we start to suffer because the data that doesn’t fit into memory has to be retrieved from disk. This is a costly operation, even with modern NVME drives, so at some point, we will need to deal with either of the scaling solutions we mentioned.

In this case, we will discuss adding more …

[Read more]
Use MySQL BLOB column with PHP to store .pdf file

Like always I am sharing new things I learn here on my blog. I was recently working on a requirement for a LAMP stack web application reporting dashboard in which I needed to store – and eventually – retrieve a .pdf file. I have read in several places (this fantastic book is a great resource) that a viable option is storing images or documents (.pdf in this case) in the actual database table as opposed to on the server file system. MySQL has the BLOB datatype that can be used to store files such as .pdf, .jpg, .txt, and the like. In this blog post, I cover how I accomplished uploading and storing the actual .pdf file in a BLOB column in MySQL using PHP. Any corrections, tips, pointers, and recommendations for best practices are always welcome. We all learn as we go!!!

Photo by …

[Read more]