Dear MySQL users,
MySQL Shell 8.0.19 is a maintenance release of MySQL Shell 8.0 Series (a
component of the MySQL Server). The MySQL Shell is provided under
Oracle’s dual-license.
MySQL Shell 8.0 is highly recommended for use with MySQL Server 8.0 and
5.7. Please upgrade to MySQL Shell 8.0.19.
MySQL Shell is an interactive JavaScript, Python and SQL console
interface, supporting development and administration for the MySQL
Server. It provides APIs implemented in JavaScript and Python that
…
A few days ago I wrote about how grossly outdated statistics returned through MySQL’s Information_Schema can be. In that post, Øystein Grøvlen suggested taking a look at mysql.innodb_table_stats and mysql.innodb_index_stats as a better source of information. Let’s do just that!
Let’s start with the good news. Unlike MySQL Data Dictionary Tables (mysql.table_stats, etc), mysql.innodb_table_stats and mysql.innodb_index_stats can be queried by the user. They also contain a lot of interesting statistics. Before we get to that though, let’s examine where those tables come from in more detail.
As the manual tells us, these tables are storing …
[Read more]So far, I have written two tutorial blogs about MySQL InnoDB Cluster . Those blogs describe about the InnoDB Cluster configuration and how to integrate InnoDB Cluster with the MySQL router . You can get them through the below links .
- MySQL InnoDB Cluster Tutorial 1 ( Group Replication + MySQL Shell )
- MySQL InnoDB Cluster Tutorial 2 ( Integrating with MySQL router )
In this blog I am going to explain the following two things ,
- How to switch the cluster to ( single | multi ) primary mode without downtime ?
- How to make the specific node as the Primary member without …
I am writing a tutorial on the MySQL Document Store for the sold
out (sorry) pre-FOSDEM MySQL days. For those who do not
write such exercise they are often a difficult task as you have a
limited time to convey information, need to provide vivid
examples, and create exercises that give a good idea of what the
topic is all about. And my personal preference is to write
once and use the tutorial at other events (please let me know
if you have such an event).
Indexing records is a well know performance step when creating
databases, SQL or NoSQL. And back in June of 2017 I wrote a
blog post on using createIndex() to index documents in the
MySQL Document Store. And as part of creating the tutorial I
referred to that blog post as a reference and was quite surprised
that it was not working.
What happened? Well back in 8.0.11 the function was revised and
it is no longer a series of chained calls but …
If you are thinking of using ProxySQL in our Percona XtraDB Cluster environment, I’ll explain how to use ProxySQL 2 for failover tasks.
How to Test
ProxySQL uses the “weight” column to define who is the WRITER node. For this example, I’ll use the following list of hostnames and IPs for references:
+-----------+----------------+ | node_name | ip | +-----------+----------------+ | pxc1 | 192.168.88.134 | | pxc2 | 192.168.88.125 | | pxc3 | 192.168.88.132 | +-----------+----------------+
My current WRITER node is the “pxc1” node, but how can I see who is the current WRITER? It’s easy, just run the following query:
proxysql> select hostgroup_id, comment, hostname, status, weight from runtime_mysql_servers;
This is the output: …
[Read more]Throughout this tutorial for beginners you'll learn to use Laravel 6 - the latest version of one of the most popular PHP frameworks - to create a CRUD web application with a MySQL database and Bootstrap 4 styles from scratch and step by step starting with the installation of Composer (PHP package manager) to implementing and serving your application.
Note: Laravel 6 is recently released and this tutorial is upgraded to the latest version.
What is Bootstrap 4?
Bootstrap 4 is the latest version of Twitter Bootstrap which is a CSS framework that allows web developers to professionally style their web interfaces without being experts in CSS.
Bootstrap 4 is based on Flexbox and allows you to build responsive layouts with easy classes and utilities.
What is CRUD?
CRUD stands for Create, Read, Update and Delete which are operations needed in most data-driven apps that access and work with data from a …
[Read more]Understanding MySQL 8.0 Group Replication Limitations to build an highly reliable MySQL Infrastructure Operations Introduction – Redundant and fault-tolerant database systems
Most of our customers are 24*7 internet properties and their applications ( i.e. entire business operations) rely heavily on availability of respective database systems nodes, These systems going unavailable cause serious impact on reputation, customer experience and revenue. To ensure business continuity under foreseeable and unforeseeable man-made or natural disasters, the database system has to be designed and built with fault tolerance and disaster recovery capabilities, in other words the component can be removed and the system should continue to operate as expected. High availability refers to the characteristics of a system that allow the system to sustain continuous operation in the event of hardware and software failures due to natural or man …
[Read more]Monitoring your MySQL database performance in real-time helps you immediately identify problems and other factors that could be causing issues now or in the future. It’s also a good way to determine which components of the database can be enhanced or optimized to increase your efficiency and performance. This is usually done through monitoring software and tools either built-in to the database management software or installed from third-party providers.
Prometheus is an open-source software application used for event monitoring and alerting. It can be used along with a visualization tool like Grafana to easily create and edit dashboards, query, visualize, alert on, and understand your metrics. ScaleGrid provides full admin access to your MySQL deployments – this makes it …
[Read more]Django 3 is released with full async support!
In this tutorial series, you'll learn about Django 3 by creating a CRUD example application with database, admin access, and REST API views. We'll be using MySQL as the database system.
Throughout this beginner's tutorial for Django 3, we are going to learn to build web applications with Python and Django. This tutorial assumes no prior experience with Django, so we'll be covering the basic concepts and elements of the Django framework by emphasizing essential theory with practice.
Basically, we are going to learn Django fundamental concepts while building a simple CRM web application.
This tutorial doesn't only cover fundamental basics of Django but also advanced concepts such as how to use and integrate Django with modern front end frameworks like Angular 2+, Vue and React.
You'll learn about CRUD, database ORM, how to create API views and URLs.
…
[Read more]ProxySQL and Orchestrator are usually installed to achieve high availability when using MySQL replication. On a failover (or graceful takeover) scenario, Orchestrator will promote a slave, and ProxySQL will redirect the traffic. Depending on how your environment is configured, and how long the promotion takes, you could end up in a scenario where you need manual intervention.
In this post, we are going to talk about some considerations when working with ProxySQL in combination with pt-heartbeat (part of Percona Toolkit), with the goal of making your environment more reliable.
Why Would We Want pt-heartbeat With ProxySQL?
If you have intermediate masters, the seconds_behind_master metric is not good enough. Slave servers that are attached to intermediate masters will report the seconds_behind_master relative to their own …
[Read more]