In this hands-on lab, you will learn to troubleshoot and fix common MySQL errors. You will be given a pre-configured EC2 instance to use, so please have an SSH client installed on your laptop. This tutorial is for beginner MySQL database administrators who are comfortable with the command line.
1. Instance Crashes and Hangs
* Basic troubleshooting methods
* Evaluating MySQL and system error messages
* Determining issue causes (OS, filesystem, MySQL configuration, MySQL crashes)
* Recovery methods
2. MySQL Replication
* High-level overview and diagnosing issues
* IO thread and SQL thread issues, relay log corruption, duplicate key errors and data drift
* Recovery methods including checksum and sync
3. Performance Issues and Bottlenecks
* Diagnosing performance issues via OS tools and MySQL utilities
* Determining problems queries and connections
* Reducing contention with MySQL configuration changes and commands
* Troubleshooting memory and NUMA issues
This tutorial covers all parallel replication implementation in MariaDB 10.0 and 10.1 and MySQL 5.6, 5.7 and 8.0 (including how it works in Group Replication).
MySQL and MariaDB have different types of parallel replication. In this tutorial, we present the different implementations that allow us to understand their limitations and tuning parameters. We cover how to make parallel replication faster and what to avoid for maximizing its benefits. We also present tests from Booking.com workloads.
Some of the subjects that are covered are group commit and optimistic parallel replication in MariaDB, the parallelism interval of MySQL and its Write Set optimization, and the ?slowing down the master to speed up the slave? optimization.
After this tutorial, you will know everything you need to implement and tune parallel replication in your environment. But more importantly, we will show how you can test parallel replication benefit in a non-disruptive way before deployment.
DC/OS (Datacenter Operating System) is a novel solution to simply and efficiently run services and applications across on-premises, cloud or hybrid environments. Even though you can run any type of applications, DC/OS is an excellent fit for container based architectures.
Deploying a MySQL instance on DC/OS requires just a few clicks, but once the service is running, you may have a few questions, such as:
-"What" is actually running?
-How is data persistence is handled?
-How can I enable HA for my databases
The goal of this session is to help answer these questions and share some of the thought processes and lessons learned from a real-world implementation, provide the background of how DC/OS operates, and identify key items that need to be considered when deploying database services.
An increasing number of stateless applications are being deployed in containers and managed by cluster schedulers. Until recently, stateful services like database have been overlooked by many container-based orchestration systems.
In this talk, Bryant and Joshua will discuss the trade-offs of containerizing databases and survey the current support for databases in open source projects like Kubernetes and Apache Mesos. They will also dive into the architecture and operational concerns addressed by the tools they built to deploy and manage MySQL, PostgreSQL, and Redis in Docker containers as part of the Database team at New Relic.
In this session, John Jainschigg, Master of the Universe, and Bill Bauman, Head of Innovation and Strategy at Opsview, will review the steps taken to build a simple Kubernetes infrastructure to support serverless workloads.
The infrastructure includes an installation of Percona Server for MySQL for writing form, structured data.
This is relatively high level, focused on the capabilities and possibilities of what can be accomplished using modern technologies including orchestrated containers and serverless infrastructure in your own datacenter. A key point of interest during the discovery phase was, how do we monitor this thing?
We're eager to discuss your ideas, questions and comments, so join us!
In this session, we will discuss our fully automated failover solution running in containers on Kubernetes. Using Orchestrator for MySQL failovers, ProxySQL to route queries and a Zookeeper-backed application we wrote called Taiji for service discovery, database failures and topology changes are handled without any human intervention. This system is tolerant to network partitions and connectivity issues, node failures, and even full region outages.
After adding additional functionality to Orchestrator, we have it deployed with the raft consensus protocol and automatic failovers enabled. ProxySQL is deployed alongside a Taiji container that watches for changes in Zookeeper. All topology changes are automatically pushed to Zookeeper via Orchestrator callback scripts and a Taiji agent that performs health checks on databases. In less than a second, these changes are pushed to ProxySQL, so our application will seamlessly begin sending read and write queries to the proper database.
This talk is about measuring and reducing noise in benchmark results. Properly tuning the operating system and hardware to achieve stable results in benchmarks becomes an art in itself these days. There may be many reasons for that:
- jitter in CPU and I/O schedulers
- dynamic CPU frequency scaling
- process address space randomization
- kernel configuration
If you are not seeing stable results in your performance comparisons, you are wasting your time. Since I do a lot of MySQL benchmarks as a part of my job, I have collected a number of recipes to measure and reduce system noise and achieve more stable numbers in benchmarks. I'm going to describe those recipes as well as the new sysbench module implemented to automate those tasks and simplify system tuning for other people.
Learn about the benefits of running your database on the Mesosphere cloud container platform, and get a preview of what Percona is working on with Mesosphere.
Apache Mesos and DC/OS are powerful tools to manage, deploy, and maintain services. But, rolling your own stateful application on top of DC/OS requires a deep understanding of Apache Mesos primitives and DC/OS components. Enter the DC/OS SDK.
Planning to run MySQL, but want HA or horizontal scaling? Galera seems like the perfect fit! It can be, so long as your developers are aware of several important hazards. Galera's documentation hints at these, but understanding their implications can be tricky.
I'll show a series of demos which will show you the street signs you'll encounter on the road to Galera. This guide will help you choose the best path for your users. I'll expand on what I've presented before to provide better Galera background and a new demo of how multiple readers can read different data for the same queries over extended periods of time.
Cloud Foundry, an OSS PaaS project, gives developers self-service access to DBs. CF-MySQL provides CF Operators a reliable, automated, Galera cluster. We'll share what we've learned: what worked, and what we'd do differently next time.
Kubernetes is the most popular container orchestrator and is enabling enterprises to rapidly containerize their application stacks. Kubernetes' adoption still faces many challenges, particularly when it comes to stateful applications.
The engineers at Kasten have open sourced Kanister to allow ops teams to incorporate their existing tools into Kubernetes. Kanister is a framework for domain experts to write blueprints specifying how to perform data management in Kubernetes. Each blueprint is specific to a data service, like MySQL and can be modified to integrate with your infrastructure. The talk will conclude with demos of backup and restore of MySQL and MongoDB using example blueprints included with Kanister.
This talk will be targeted towards anyone interesting in running stateful applications in Kubernetes. The audience will learn why the current primitives exposed by Kubernetes aren't sufficient for data operations and how Kanister fills in the gaps.
In current world most of the Database Administration tasks were repeatable. The challenge is to avoid repeated works by automate/script the task for efficient time management. In Groupon we use Opensource databases MySQL and PostgreSQL. We manage operations using Ansible play books.
This presentation covers how Ansible Playbooks are helpful to avoid manual works.
- What is Ansible?
- How Ansibles are used to improve efficiency and reduced most of the manual works.
- Provisioning MySQL & Postgres Databases.
- Cloning Slaves from Master DB
- Destroy databases
- Whitelisting app servers against databases.
- Find config/parameter consistency across the board.
- Backup the database
- Restore validation.
- Failover database.
- Restore DB using ZFS snashots.
- Install & enable monitoring config.
- Bunch of useful Ansible commands.
- Q & A