Volume Expansion, a feature that became generally available since Kubernetes version 1.24, allows users to increase the capacity of their Persistent Volumes and underlying storage within Kubernetes. There is no need to use clouds’ UI or APIs to do that anymore. In our Operators, we use Stateful Sets – a Kubernetes resource that was designed for […]
What is dual password in MYSQL and how it works was already covered by my colleague Brian Sumpter in Using MySQL 8 Dual Passwords.
However, let me do a brief recap here about it.
Dual password is the MySQL mechanism that allows you to keep two passwords active at the same time. This feature is part of a more extended set of password management features implemented in MySQL 8 to enforce better security and secrets management, like:
- Internal Versus External Credentials Storage
- Password Expiration Policy
- Password Reuse Policy
- Password Verification-Required Policy
- Dual Password Support
- Random Password Generation
- Failed-Login Tracking and Temporary Account Locking
The most important and requested features are the password expiration and …
[Read more]
As a Database Engineer in Mydbops. We tend to solve multiple
complex problems for our esteemed customers. To control the
System resources and scale up /down based on needed we are
evaluating Dockers and Kubernetes.
Docker is a set of platform as a service products that uses OS-level virtualization to deliver software in packages called Containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels.It’s more lightweight than standard Containers and boots up in seconds.
Docker also is easy to use when you need a simple, single instance. What is great about Docker though is that it allows configuring multiple versions of MySQL.
Docker Installation:
Docker can be installed with yum repository or apt-get repository based on your linux …
[Read more]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 Production binlogs instantly .
To satisfy customer request i have made a simple shell script and integrated in systemd service which does a similar job as of Maxscale Binlog Server ( Pervious blog )
In this blog i will explain how to setup a simple binlog server.
Pre-requites for setting up the Binlog server.
- A standalone remote server with required disk.
- The mysqlclient to be …
The purpose of this post if to show how you can automate the
creation and pruning of partitioned tables. If you want to read
about partitioning I recommend reading our manual.
In short partitioning makes it possible to spread
your individual tables across a file system according to the
partition rules you specify.
Reasons for partition your tables might be:
- Insert performance, smaller index trees for stable insert
throughput.
- Select performance, only read data from selected (aka
partitioning pruning) partitions.
- Delete performance, drop partitioning is must quicker than
doing range deletes of old data.
Partitioning definitions is part for the CREATE/ALTER table
statements, in …
In the last few years there have been several examples of major service problems affecting businesses data: outages causing data inconsistencies; unavailability or data loss, and worldwide cyberattacks encrypting your files and asking for a ransom.
Database-related incidents are a very common industry issue- even if the root cause is not the database system itself. No matter if your main relational system is MySQL, MariaDB, PostgresQL or AWS Aurora -there will be a time where you will need to make use of backups to recover to a previous state. And when that happens it will be the worst time to realize that your backup system hadn’t been working for months, or testing for the first time a cluster-wide recovery.
Forget about the backups, it is all about recovery!
Let me be 100% clear: the question is not IF data …
[Read more]
Up to now, the way of updating dbdeployer was the same as
installing it for the first time, i.e. looking
at the releases page, downloading the binaries for your operating
system, unpacking it and finally replacing the existing
binaries.
This is not the procedure I follow, however, as for me
updating means just compile the latest version I have
just finished coding. For this reason, when Simon Mudd
mentioned to me that dbdeployer should update itself over the
Internet, I didn’t immediately grasp the concept. But then …
Jinja2 is a modern and designer-friendly templating language for Python frameworks. It is fast, reliable and widely used for dynamic file generation based on its parameter. In this blog, I like to share how and where jinja2 template language used in Ansible and how we can create better Ansible playbook.
How it works
The Jinja variables and expressions indicated using the default delimiters as follows:
- {% … %} for control statements (conditions)
- {{ … }} for expressions (variables)
- {# … #} for comments (describe the task)
Here’s an example Jinja expressions:
- hosts: 127.0.0.1 vars_files: - vars.yml tasks: - name: Checking the IP address debug: msg: "IP address {{ ip }}" - name: Checking OS name debug: msg: "OS NAME {{ os_name }}"
Variable definitions are needed for Jinja to resolve expressions. In the …
[Read more]Point In Time Recovery - is a nightmare for DBAs if the MySQL clusters are self managed. It was 10PM, after had my dinner I was simply watching some shows in YouTube. And my phone was ringing, the customer on other side. Due to some bad queries, one of the main table get updated without where clause. Then suddenly everyone joined the call and asking me to bring the data back. That day it took 6 to 8 Hours to bring the data. Yes, every DBAs will do one or two biggest mistakes. In my carrier I would say this was that day. So here is my MySQL PITR the fastest way with DevOps.
Where I failed in this DR setup?
- PITR starts with last full backup + binlogs
- I missed in my backup script to add
--master-data
, So I don’t know how to start applying binlogs. - No Delay replica. I got the call within 10mins when the data has been messed up. But all of my replicas are real time sync. Its affected all of …
This is my next blog series. Im going to write about how I automated many complex tasks in MySQL with Rundeck. In my last series, I have explained RunDeck basics. You can find those articles here. In this blog Im writing about how I automated MySQL archive for multiple tables in one Rundeck job. Challeange …
The post MySQL With DevOps 1 – Automate Database Archive appeared first on SQLgossip.