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.
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. Note: in this post we adopt the term “primary” over the term “master” in the context of MySQL replication. However, at this time there is no alternative to using the actual names of some configuration and status variables that use “master” terminology, and some duality is …
[Read more]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.
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 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 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...
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]
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]Today there is NEW ERA for Galera Cluster monitoring and management and as we release Galera Manager 1.0 into the wild for everyone to evaluate, test, and deploy their Galera Clusters within an Amazon Web Services (AWS) Elastic Compute Cloud (EC2) environment to achieve MySQL High Availability, Multi-Master MySQL on the cloud and Disaster Recovery, all from the comfort of a web-based graphical user interface (GUI).
What does Galera Manager do? Galera Manager is a deployment, management and monitoring solution for Galera Clusters. A user can easily create clusters, add and remove nodes, and create geo-distributed clusters across multiple AWS regions, all with the click of a few buttons in one’s web browser. Even more useful is the over 620 monitoring metrics available to monitor the health of your clusters. Being fully web-based, you can say goodbye to …
[Read more]
I’ve been experimenting with the mysqlsh since
installing it last week. It’s been interesting. Overall, I’m
totally impressed but I did find a problem with how it parses
stored procedures.
First thought is always, is it my code? I checked the file by
running it as a script file through MySQL Workbench. It ran
perfectly in MySQL Workbench but failed repeatedly when run from
the mysqlsh utility. Next step, reduce the code to a
small test case, retest it, and log a
bug if it is replicated. My test case in a
test.sql file generates the following errors when
run from the mysqlsh utility:
MySQL localhost:33060+ ssl studentdb SQL > source test.sql Query OK, 0 rows affected (0.0003 sec) ERROR: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the …[Read more]