How to use the new MySQL 8.0 Document Store with Python.
Easy CRUD operations, JSON validations, analytics with SQL only when needed, full ACID and more !
Presentation about how to extend MySQL Shell for DBA daily tasks and Innotop like processlist overview.
This presentation was delivered during the pre-FOSDEM MySQL Day on Feb 1st 2019
How to use the new MySQL 8.0 Document Store with Python.
Easy CRUD operations, JSON validations, analytics with SQL only when needed, full ACID and more !
Presentation about how to extend MySQL Shell for DBA daily tasks and Innotop like processlist overview.
This presentation was delivered during the pre-FOSDEM MySQL Day on Feb 1st 2019
MySQL InnoDB Cluster - Advanced Configuration & OperationsFrederic Descamps
MySQL InnoDB Cluster is a very easy HA solution to deploy. However it's also a very customizable solution able to respond to most needs. During this session I will give an overview of settings that you may tune like those related to quorum lost, level of consistency, but also some you may not know like how to change recovery system, effect of increasing the event horizon. We will also discus about maintenance operations like how to stream large transactions, how to deal with DDL in multi-primary environments...
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...Frederic Descamps
MySQL Document Store enables us to work with SQL relational tables and schema-less JSON collections. So instead of having a mixed bag of databases, you can just rely on MySQL, where the JSON documents can be stored in collections and managed with CRUD operations. All you need to do is install the X plugin. In this session, you will learn what a document store is, how to install and use it, and all the reasons for considering it. We will also see several specific features helping developers and illustrate how the usual MySQL DBA can manage this new world.
State of the Dolphin 2020 - 25th Anniversary of MySQL with 8.0.20Frederic Descamps
This is the online live version of the State of The Dolphin during Percona Live Online in May 2020.Discover what's new in MySQL 8.0, the Document Store, CTEs, Window Functions, Lateral, JSON_TABLE, the new Volcano Iterator, EXPLAIN ANLYZE, HASH JOIN, the new double write buffer, binlog compression, InnoDB Cluster, InnoDB ReplicaSet, DNS-SRV.... and last but not least our Contributors who made MySQL 8.0 so Great !
MySQL 8.0 : High Availability Solution for EverybodyFrederic Descamps
WePay & MySQL Virtual Meetup: check how easy it's do deploy and High Available Solution for your MySQL Database using MySQL Shell.
Abandon complex architectures and opt for turnkey solutions supported by MySQL.
A solution for all your needs and constraints...
UAE MySQL Users Group Meet-up : MySQL Shell Document Store & more...Frederic Descamps
Discover MySQL 8.0 Document Store and how to use CRUD operations from the MySQL Shell. Also discover how to extend the MySQL Shell with User Defined Reports and Plugins
MySQL InnoDB cluster provides a complete high availability solution for MySQL. MySQL Shell includes AdminAPI which enables you to easily configure and administer a group of at least three MySQL server instances to function as an InnoDB cluster. Each MySQL server instance runs MySQL Group Replication, which provides the mechanism to replicate data within InnoDB clusters, with built-in failover. In the presentation, we will learn on how to set up InnoDB cluster using the official MySQL Docker containers and run them with docker-compose. This presentation covers a demo, including how to connect to the cluster through MySQL Router using a simple application.
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMiguel Araújo
MySQL InnoDB Cluster and MySQL Shell session presented at Oracle CodeOne2019.
Abstract:
MySQL InnoDB Cluster provides a built-in high-availability solution for MySQL. Combining MySQL Group Replication with MySQL Router and MySQL Shell into an integrated full-stack solution, InnoDB Cluster provides easy setup and management of MySQL instances into a fault-tolerant database service. MySQL Shell is the “control panel” of InnoDB Cluster, enabling the easy and straightforward configuration and management of InnoDB clusters by providing a scriptable and interactive API: the AdminAPI. Recent enhancements and features added to MySQL Shell make the management of InnoDB clusters even more powerful and smoother. Attend this session to get an overview of the latest developments and improved InnoDB Cluster administration tasks.
Notes:
The slideshow includes a video that cannot be seen in slideshare/PDF. If you're interested in it please check the following blog post: https://mysqlhighavailability.com/mysql-innodb-cluster-automatic-node-provisioning/
MySQL InnoDB Cluster - Advanced Configuration & OperationsFrederic Descamps
MySQL InnoDB Cluster is a very easy HA solution to deploy. However it's also a very customizable solution able to respond to most needs. During this session I will give an overview of settings that you may tune like those related to quorum lost, level of consistency, but also some you may not know like how to change recovery system, effect of increasing the event horizon. We will also discus about maintenance operations like how to stream large transactions, how to deal with DDL in multi-primary environments...
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...Frederic Descamps
MySQL Document Store enables us to work with SQL relational tables and schema-less JSON collections. So instead of having a mixed bag of databases, you can just rely on MySQL, where the JSON documents can be stored in collections and managed with CRUD operations. All you need to do is install the X plugin. In this session, you will learn what a document store is, how to install and use it, and all the reasons for considering it. We will also see several specific features helping developers and illustrate how the usual MySQL DBA can manage this new world.
State of the Dolphin 2020 - 25th Anniversary of MySQL with 8.0.20Frederic Descamps
This is the online live version of the State of The Dolphin during Percona Live Online in May 2020.Discover what's new in MySQL 8.0, the Document Store, CTEs, Window Functions, Lateral, JSON_TABLE, the new Volcano Iterator, EXPLAIN ANLYZE, HASH JOIN, the new double write buffer, binlog compression, InnoDB Cluster, InnoDB ReplicaSet, DNS-SRV.... and last but not least our Contributors who made MySQL 8.0 so Great !
MySQL 8.0 : High Availability Solution for EverybodyFrederic Descamps
WePay & MySQL Virtual Meetup: check how easy it's do deploy and High Available Solution for your MySQL Database using MySQL Shell.
Abandon complex architectures and opt for turnkey solutions supported by MySQL.
A solution for all your needs and constraints...
UAE MySQL Users Group Meet-up : MySQL Shell Document Store & more...Frederic Descamps
Discover MySQL 8.0 Document Store and how to use CRUD operations from the MySQL Shell. Also discover how to extend the MySQL Shell with User Defined Reports and Plugins
MySQL InnoDB cluster provides a complete high availability solution for MySQL. MySQL Shell includes AdminAPI which enables you to easily configure and administer a group of at least three MySQL server instances to function as an InnoDB cluster. Each MySQL server instance runs MySQL Group Replication, which provides the mechanism to replicate data within InnoDB clusters, with built-in failover. In the presentation, we will learn on how to set up InnoDB cluster using the official MySQL Docker containers and run them with docker-compose. This presentation covers a demo, including how to connect to the cluster through MySQL Router using a simple application.
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMiguel Araújo
MySQL InnoDB Cluster and MySQL Shell session presented at Oracle CodeOne2019.
Abstract:
MySQL InnoDB Cluster provides a built-in high-availability solution for MySQL. Combining MySQL Group Replication with MySQL Router and MySQL Shell into an integrated full-stack solution, InnoDB Cluster provides easy setup and management of MySQL instances into a fault-tolerant database service. MySQL Shell is the “control panel” of InnoDB Cluster, enabling the easy and straightforward configuration and management of InnoDB clusters by providing a scriptable and interactive API: the AdminAPI. Recent enhancements and features added to MySQL Shell make the management of InnoDB clusters even more powerful and smoother. Attend this session to get an overview of the latest developments and improved InnoDB Cluster administration tasks.
Notes:
The slideshow includes a video that cannot be seen in slideshare/PDF. If you're interested in it please check the following blog post: https://mysqlhighavailability.com/mysql-innodb-cluster-automatic-node-provisioning/
MySQL InnoDB Cluster and Group Replication in a Nutshell: hands-on tutorialFrederic Descamps
If you are trying to migrate from asynchronous Master-Slave environment to a full HA solution using MySQL InnoDB Cluster 8.0, this tutorial shows you how to proceed and how to manage and monitor your cluster.
Need to dive into #MySQL suddenly and find out, briefly, what can be done with MySQL technology? NoSQL, MySQL 8.0, Highly Available, InnoDB Cluster & MySQL Cluster both Community & Enterprise Edition. It's all here.
MySQL Shell - A DevOps-engineer day with MySQL’s development and administrati...Miguel Araújo
MySQL Shell is an interactive multi-language console interface that supports development and administration for the MySQL Server. It can be used to perform data queries or updates, and administration operations through scriptable DevOps APIs.
It is by nature a unified interface for all DevOps tasks related to MySQL, supporting SQL, JavaScript and Python, with an extensive set of features for both developers and DBAs.
This session demonstrates how can a DevOps-engineer day be better with the MySQL Shell. From the development tasks to the operations, culminating in the management of MySQL InnoDB Cluster (The HA solution for MySQL) with the most recent and advanced features.
Session presented at pre-FOSDEM MySQL Day 2019 (https://lefred.be/content/pre-fosdem-mysql-day-2019/)
The slde contains an introduction to the global transaction identifiers(GTIDs) in MySQL Replication. The new protocol at re-connect, skipping transactions with GTIDS, replication filters, purging logs, backup/restore ets are covered here.
A Step by Step Introduction to the MySQL Document StoreDave Stokes
Looking for a fast, flexible NoSQL document store? And one that runs with the power and reliability of MySQL. This is an intro on how to use the MySQL Document Store
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...Frederic Descamps
Découvrez un nouveau monde où l'on peut gérer ses données sans la moindre ligne de SQL.
MySQL Document Store utilise le nouveau protocol MySQL X, qui est également présent avec MySQL Database Service sur OCI, et permet aux développeurs d'écrire du code simple et efficace.
Mais attention, si nécessaire, MySQL Document Store peut également traiter les document JSON comme s'ils étaient des tables relationnelles et permettre des requêtes très poussées...
Percona Live 2022 - The Evolution of a MySQL Database SystemFrederic Descamps
From a single MySQL instance to multi-site high availability, this is what you will find out in this presentation. You will learn how to make this transition and which solutions best suit changing business requirements (RPO, RTO). Recently, MySQL has extended the possibilities for easy deployment of architecture with integrated tools. Come and discover these open source solutions that are part of MySQL.
In this tutorial, we cover the different deployment possibilities of the MySQL architecture depending on the business requirements for the data. We also deploy some architecture and see how to evolve to the next one.
The tutorial covers the new MySQL Solutions like InnoDB ReplicaSet, InnoDB Cluster, and InnoDB ClusterSet.
LinuxFest Northwest 2022 - The Evolution of a MySQL Database SystemFrederic Descamps
At the beginning of a project, the database is just a single MySQL instance (maybe not even running on its own hardware)... but with the evolution of the business requirements, the database must change to also meet the new targets of data loss and uptime. During this session we will follow the journey of a single MySQL server from the simple instance to a High Available Architecture with multi-site Disaster Recovery. We will discover easy manageable native solutions like MySQL InnoDB ReplicaSet, MySQL InnoDB Cluster and MySQL InnoDB ClusterSet. The session is also illustrated with commands and examples.
Open Source 101 2022 - MySQL Indexes and HistogramsFrederic Descamps
Nobody complains that the database is too fast. But when things slow down, the complaints come quickly. The two most popular approaches to speeding up queries are indexes and histograms. But there are so many options and types on indexes that it can get confusing. Histograms are fairly new to MySQL but they do not work for all types of data. This talk covers how indexes and histograms work and show you how to test just how effective they are so you can measure the performance of your queries.
Pi Day 2022 - from IoT to MySQL HeatWave Database ServiceFrederic Descamps
HeatWave is a massively parallel, high performance, in-memory query accelerator for Oracle MySQL Database Service that accelerates MySQL performance by orders of magnitude for analytics and mixed workloads. But how do you collect data from an Internet of Things Environment so you can use HeatWave to process it? In one hour you will see how data collected by a Raspberry PI or other Internet of Things device can be uploaded to the MySQL Database Service and then processed by HeatWave.
D'une simple instance MysQL à une haute-disponibilité multi-sites, voici ce que vous décrouvrirez dans cette présentation. Comment effectuer cette transition et quelles solutions conviennent les mieux aux évolutions des exigences commerciales (RPO, RTO). Récemment, MySQL a étendu les possibilités de déploiement aisé d'architecture avec des outils intégrés. Venez découvrir ces solution Open Source qui font partie de MySQL.
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...Frederic Descamps
Logical dumps are becoming popular again. MySQL Shell parallel dump & load utility changed to way to deal with logical dumps, certainly when using instances in the cloud. MySQL 8.0 released also an awesome physical snapshot feature with CLONE.
In this session, I will show how to use these two ways of saving your data and how to use the generated backup to perform point-in-time recovery like a rockstar with MySQL 8.0 in 2022 !
Présentation de MySQL 8.0 est des nouveautés récentes dans les toutes dernières versions ainsi que des informations sur la prochaine beta du MySQL Operator for Kubernetes
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
How to write efficient and correct MySQL recipes for you configuration management system in 2019
1. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration manageme… 1/51
1 / 51
2. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration manageme… 2/51
2 / 512 / 51
3. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration manageme… 3/51
Safe Harbor Statement
The following is intended to outline our general product
direction. It is intended for information purpose only, and may
not be incorporated into any contract. It is not a commitment to
deliver any material, code, or functionality, and should not be
relied up in making purchasing decisions. The development,
release and timing of any features or functionality described for
Oracle´s product remains at the sole discretion of Oracle.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
3 / 51
4. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration manageme… 4/51
about me - http://about.me/lefred
Who am I ?
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
4 / 51
5. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration manageme… 5/51
Frédéric
Descamps
@lefred
MySQL Evangelist
Hacking MySQL since 3.23
devops believer
living in Belgium 🇧🇪
http://lefred.be
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
5 / 51
6. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration manageme… 6/51
MySQL 8.0
a major release devops friendly
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
6 / 51
7. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration manageme… 7/51
New Key Features for a devops
World
MySQL 8.0 brought more than 250 features. Some are very
interesting to use with a configuration management system:
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
7 / 51
8. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration manageme… 8/51
New Key Features for a devops
World
MySQL 8.0 brought more than 250 features. Some are very
interesting to use with a configuration management system:
SET PERSISTS
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
8 / 51
9. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration manageme… 9/51
New Key Features for a devops
World
MySQL 8.0 brought more than 250 features. Some are very
interesting to use with a configuration management system:
SET PERSISTS
SQL RESTART statement
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
9 / 51
10. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 10/51
New Key Features for a devops
World
MySQL 8.0 brought more than 250 features. Some are very
interesting to use with a configuration management system:
SET PERSISTS
SQL RESTART statement
integrated upgrade process
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
10 / 51
11. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 11/51
New Key Features for a devops
World
MySQL 8.0 brought more than 250 features. Some are very
interesting to use with a configuration management system:
SET PERSISTS
SQL RESTART statement
integrated upgrade process
dual passwords support
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
11 / 51
12. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 12/51
New Key Features for a devops
World
MySQL 8.0 brought more than 250 features. Some are very
interesting to use with a configuration management system:
SET PERSISTS
SQL RESTART statement
integrated upgrade process
dual passwords support
roles
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
12 / 51
13. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 13/51
New Key Features for a devops
World (2)
Partial Revokes from Database Objects
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
13 / 51
14. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 14/51
New Key Features for a devops
World (2)
Partial Revokes from Database Objects
ALTER INSTANCE for changing:
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
14 / 51
15. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 15/51
New Key Features for a devops
World (2)
Partial Revokes from Database Objects
ALTER INSTANCE for changing:
InnoDB Encryption Key
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
15 / 51
16. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 16/51
New Key Features for a devops
World (2)
Partial Revokes from Database Objects
ALTER INSTANCE for changing:
InnoDB Encryption Key
BINLOG Encryption Key
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
16 / 51
17. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 17/51
New Key Features for a devops
World (2)
Partial Revokes from Database Objects
ALTER INSTANCE for changing:
InnoDB Encryption Key
BINLOG Encryption Key
TLS Context (SSL)
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
17 / 51
18. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 18/51
New Key Features for a devops
World (3)
MySQL Shell
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
18 / 51
19. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 19/51
New Key Features for a devops
World (3)
MySQL Shell
util object (check for upgrade)
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
19 / 51
20. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 20/51
New Key Features for a devops
World (3)
MySQL Shell
util object (check for upgrade)
API
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
20 / 51
21. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 21/51
New Key Features for a devops
World (3)
MySQL Shell
util object (check for upgrade)
API
adminAPI for HA
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
21 / 51
22. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 22/51
SET PERSIST
In MySQL 8.0, it's possible to use the SET statement syntax for
making configuration changes at runtime that also persist across
server restarts. This is a SQL statement.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
22 / 51
23. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 23/51
SET PERSIST
In MySQL 8.0, it's possible to use the SET statement syntax for
making configuration changes at runtime that also persist across
server restarts. This is a SQL statement.
The configuration management recipe should not change any configuration
file. The config file should be the default or the most generic possible
according your systems. Then the recipe should verify and set the variables
defined for your system.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
23 / 51
24. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 24/51
RESTART
Something very interesting, especially for Cloud environments,
is the new possibility to restart the mysqld process directly from
the SQL interface.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
24 / 51
25. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 25/51
RESTART
Something very interesting, especially for Cloud environments,
is the new possibility to restart the mysqld process directly from
the SQL interface.
Of course it's possible to call the wrapper taking care of this operation,
service file or systemd service, but instead of subscribing or notifying the
service, when a variable change requires a restart (those are less and less),
it's possible to immediately restart the process directly from SQL
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
25 / 51
26. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 26/51
var
=
yxz
y n
y n
we
are
good
set
persist
we
are
good
set
persist_only
restart
Workflow Example
mysqlsh root@localhost --sql -e "select variable_value
from performance_schema.global_variables
where variable_name='innodb_ ush_method'" | tail -n1
mysqlsh root@localhost --sql
-e "set persist innodb_ ush_method=O_DIRECT"
ERROR: 1238 at line 1: Variable
'innodb_ ush_method' is a read only variable
if [[ $? ne 0 ]]
then
mysqlsh root@localhost --sql
-e "set persist_only innodb_ ush_method=O_DIRECT"
mysqlsh root@localhost --sql
-e "restart"
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
26 / 51
27. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 27/51
mysql_upgrade is gone
Previously, after installation of a new version of MySQL, the
server automatically upgraded the data dictionary tables at the
next startup, after which the DBA was expected to invoke
mysql_upgrade manually to upgrade the system tables in the
mysql schema, as well as objects in other schemas such as the
sys schema and user schemas (and restart mysqld again).
Since MySQL 8.0.16, the server (mysqld) does itself.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
27 / 51
28. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 28/51
mysql_upgrade is gone
Previously, after installation of a new version of MySQL, the
server automatically upgraded the data dictionary tables at the
next startup, after which the DBA was expected to invoke
mysql_upgrade manually to upgrade the system tables in the
mysql schema, as well as objects in other schemas such as the
sys schema and user schemas (and restart mysqld again).
Since MySQL 8.0.16, the server (mysqld) does itself.
Because this operation was manual most systems are running without
updated system tables that can lead to errors. This is particularly true on
systems where the upgrade process is managed by configuration
management systems
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
28 / 51
29. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 29/51
mysql_upgrade is gone (2)
So, why did we do that?
Faster upgrade
Simpler process
Better security
Significant reduction in upgrade steps and more easily
automated
No restarts
Just plug and play
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
29 / 51
30. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 30/51
dual passwords
Since MySQL 8.0.14 it's possible for an account to have dual
password, designated as primary and secondary passwords.
This capability enables phased password changes to be
performed seamlessly in complex multiple-server systems,
without downtime.
SET PASSWORD [FOR user] = 'auth_string'
[REPLACE 'current_auth_string']
[RETAIN CURRENT PASSWORD]
ALTER ... DISCARD OLD PASSWORD can be used later.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
30 / 51
31. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 31/51
dual passwords
Since MySQL 8.0.14 it's possible for an account to have dual
password, designated as primary and secondary passwords.
This capability enables phased password changes to be
performed seamlessly in complex multiple-server systems,
without downtime.
SET PASSWORD [FOR user] = 'auth_string'
[REPLACE 'current_auth_string']
[RETAIN CURRENT PASSWORD]
ALTER ... DISCARD OLD PASSWORD can be used later.
This will allow to change the MySQL password from your configuration
system management without having to plan a complicated orchestration
between involved services
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
31 / 51
32. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 32/51
roles
MySQL 8.0 supports roles, which are named collections of
privileges. Roles enable assignment of sets of privileges to
accounts and provide a convenient alternative to granting
individual privileges.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
32 / 51
33. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 33/51
Partial Revokes from Database
Objects
Have you ever encountered situations where you want to grant
a user access to all databases except a few databases?
Starting from MySQL 8.0.16, you can partially revoke database
privileges from users, even if they are granted global privileges.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
33 / 51
34. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 34/51
Partial Revokes from Database
Objects
Have you ever encountered situations where you want to grant
a user access to all databases except a few databases?
Starting from MySQL 8.0.16, you can partially revoke database
privileges from users, even if they are granted global privileges.
SQL> CREATE USER foo_admin;
SQL> GRANT SELECT ON *.* TO foo_admin;
SQL> SET GLOBAL partial_revokes=ON;
SQL> REVOKE SELECT ON payroll.* FROM foo_admin;
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
34 / 51
35. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 35/51
ALTER INSTANCE
ALTER INSTANCE defines actions applicable to a MySQL server
instance:
InnoDB Encryption Key
ALTER INSTANCE ROTATE INNODB MASTER KEY
This action rotates the master encryption key used for InnoDB
tablespace encryption.
More info: https://dev.mysql.com/doc/refman/8.0/en/innodb-
tablespace-encryption.html
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
35 / 51
36. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 36/51
ALTER INSTANCE (2)
BINLOG Encryption Key
ALTER INSTANCE ROTATE BINLOG MASTER KEY
This action rotates the binary log master key used for binary log
encryption.
It's also possible to call a RESTART to force the master key
rotation using
binlog_rotate_encryption_master_key_at_startup.
More info:
https://dev.mysql.com/doc/refman/8.0/en/replication-binlog-
encryption.html
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
36 / 51
37. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 37/51
ALTER INSTANCE (3)
TLS Context (SSL)
As of MySQL 8.0.16, the SSL context the server uses for new
connections is reconfigurable at runtime. This capability may be
useful, for example, to avoid restarting a MySQL server that has
been running so long that its SSL certificate has expired.
ALTER INSTANCE RELOAD TLS
This action reconfigures the SSL context from the current values
of the system variables that define the context. It also updates
the status variables that reflect the active context values.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
37 / 51
38. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 38/51
MySQL Shell - util object
MySQL Shell includes utilities for working with MySQL. To access
the utilities from within MySQL Shell, use the util global object.
The util.checkForServerUpgrade() function is an upgrade
checker utility that enables you to verify whether MySQL server
instances are ready for upgrade.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
38 / 51
39. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 39/51
MySQL Shell - util object
MySQL Shell includes utilities for working with MySQL. To access
the utilities from within MySQL Shell, use the util global object.
The util.checkForServerUpgrade() function is an upgrade
checker utility that enables you to verify whether MySQL server
instances are ready for upgrade.
This is very useful as you can check that the dataset and settings are
compatible with the newer version.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
39 / 51
40. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 40/51
MySQL Shell - util object (2)
Let's consider the following
puppet recipe:
package {
'mysql-community-server':
ensure => latest,
}
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
40 / 51
41. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 41/51
MySQL Shell - util object (2)
Let's consider the following
puppet recipe:
package {
'mysql-community-server':
ensure => latest,
}
What if the current MySQL version is 5.7.26 and the latest
available is now 8.0.16 ?
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
41 / 51
42. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 42/51
MySQL Shell - util object (3)
package {
'mysql-community-server':
ensure => latest,
noop => true,
notify => Exec['upgrade_checker'],
}
exec {
'upgrade_checker':
command => "mysqlsh -- util check-for-upgrade
{ --user=root --host=localhost }",
refreshonly => true,
no tfy => Package['mysql-comunity-server-real'],
}
package {
'mysql-community-server-real':
name => 'mysql-community-server',
ensure => latest,
refreshonly => true,
}
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
42 / 51
43. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 43/51
MySQL Shell - adminAPI
The AdminAPI are commands you use to work with a cluster and
it's server instances modify the configuration of the instance.
Configuration changes can be persisted to the instance
automatically. Persisting changes is required after the following
operations:
dba.con gureInstance()
dba.createCluster()
Cluster.addInstance()
Cluster.removeInstance()
Cluster.rejoinInstance()
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
43 / 51
44. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 44/51
MySQL Shell - adminAPI
The AdminAPI are commands you use to work with a cluster and
it's server instances modify the configuration of the instance.
Configuration changes can be persisted to the instance
automatically. Persisting changes is required after the following
operations:
dba.con gureInstance()
dba.createCluster()
Cluster.addInstance()
Cluster.removeInstance()
Cluster.rejoinInstance()
All good commands to use in your recipe as they automate a lot
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
44 / 51
45. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 45/51
MySQL Shell - adminAPI (2)
The AdminAPI provides also functions that can be used for
checking if the configuration is suitable to join an InnoDB Cluster
or if the dataset is compatible with the cluster:
dba.checkInstanceCon guration()
Cluster.checkInstanceState()
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
45 / 51
46. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 46/51
MySQL Shell - API
All the Shell API is available via a Command Line Integration
Syntax.
Like the previous example with the util object, this new syntax
helps invoking built-on shell comamnds:
mysqlsh [OPTIONS] [URI] -- <object_name> <method_name> [ argument_list ]
https://mysqlserverteam.com/mysql-shell-api-command-line-
integration-for-devops/
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
46 / 51
47. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 47/51
MySQL Shell - API
All the Shell API is available via a Command Line Integration
Syntax.
Like the previous example with the util object, this new syntax
helps invoking built-on shell comamnds:
mysqlsh [OPTIONS] [URI] -- <object_name> <method_name> [ argument_list ]
https://mysqlserverteam.com/mysql-shell-api-command-line-
integration-for-devops/
This makes much easier call without single quotes, double quotes and
backslashed quotes in your recipes
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
47 / 51
48. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 48/51
in action
operations to manage MySQL
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
48 / 51
49. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 49/51
Let me show you some of these
improvements in action !
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
49 / 51
50. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 50/51
Conclusion
MySQL is evolving taking in consideration comments of those
who are operating MySQL at scale where not everything can be
done manually. We are working on facilitating more and more
the integration of many operations by writing easy APIs.
Now you know what are the best practices to re-write efficient
recipes for your configuration management system.
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
50 / 51
51. 5/24/2019 How to write efficient and correct MySQL recipes for you configuration management system in 2019
file:///home/fred/ownCloud/Presentations/ORACLE/LOADays 2019/How to write efficient and correct MySQL recipes for you configuration managem… 51/51
Thank you !
Any Questions ?
share your 💕 for MySQL on social media using @mysql
#MySQL8isGreat #MySQL
Copyright @ 2019 Oracle and/or its affiliates. All rights reserved.
51 / 51