SlideShare a Scribd company logo
1 of 59
Download to read offline
May 2018
Migrating to Galera Cluster for
MySQL and MariaDB
Bart Oleล›, Support Engineer
Presenter
bart@severalnines.com
Copyright 2017 Severalnines AB
I'm Jean-Jรฉrรดme from the Severalnines Team and
I'm your host for today's webinar!
Feel free to ask any questions in the Questions
section of this application or via the Chat box.
You can also contact me directly via the chat box
or via email: info@severalnines.com during or
after the webinar.
Your host & some logistics
Copyright 2017 Severalnines AB
Copyright 2017 Severalnines AB
Automation & Management
Deployment
โ— Deploy a Cluster in Minutes
โ— On-Prem or Cloud (AWS/Azure/Google)
Monitoring
โ— Systems View with 1 sec Resolution
โ— DB / OS stats & Performance Advisors
โ— Configurable Dashboards
โ— Query Analyzer
โ— Real-time / historical
Management
โ— Backup Management
โ— Upgrades & Patching
โ— Security & Compliance
โ— Operational Reports
โ— Automatic Recovery & Repair
โ— Performance Management
โ— Automatic Performance Advisors
Copyright 2017 Severalnines AB
Supported Databases
Copyright 2017 Severalnines AB
Our Customers
May 2018
Migrating to Galera Cluster for
MySQL and MariaDB
Bart Oleล›, Support Engineer
Presenter
bart@severalnines.com
Agenda
Copyright 2018 Severalnines AB
Migrating to Galera Cluster for MySQL and MariaDB
โ— Preparation
โ— Supported engines
โ— Tables with no primary key
โ— Auto Increment Handling DDL processing
โ— Events, triggers...
โ— Huge transactions
โ— LOAD DATA processing
โ— Multi-master conflicts
โ— Locking sessions
โ— Offline/Online Migration
Copyright 2017 Severalnines AB
Copyright 2018 Severalnines AB
Preparation
Standalone MySQL instance
vs Galera Cluster
Copyright 2018 Severalnines AB
Galera Cluster is close to native MySQL/InnoDB
look & feel
However, there are some differences in
behavior & some limitations
First part of the presentation goes through
these limitations, as well as sanity checks and
best practices before migration process.
Storage engine support
Copyright 2018 Severalnines AB
โ— Only InnoDB storage engine replication is fully supported.
โ— However, Galera has also limited MyISAM support:
โ—‹ Through 'wsrep_replicate_myisam' configuration
โ—‹ Low performance
โ—‹ Non deterministic: no timestamps, no rands
โ—‹ Works for simple, low load writes
โ— Transactions on non supported storage engines are not replicated, data
modifications remain node local.
โ— All DDL (alter, create..) is replicated regardless of target engine.
InnoDB tables
Copyright 2018 Severalnines AB
Find out what table types are used, e.g:
If you have non InnoDB tables, figure out if migration to InnoDB is possible If
you must have .e.g. MyISAM table(s), find out if their use case is supported by
Galera Cluster
Note that:
โ€“ even though MyISAM is not replicated by default, still SST will copy all tables
โ€“ all DDLs are replicated regardless of selected table type
select table_schema,table_name,engine
from information_schema.tables
where engine != 'InnoDB' and
table_schema not in ( 'mysql', 'performance_schema', 'information_schema') ;
Finding Tables with no PK
Copyright 2018 Severalnines AB
It makes sense to optimize schema design and assign primary key for every
table:
โ— If there is no PK, InnoDB will create 6 byte primary key for such tables
(with additional cost), you just cannot use that internal column for
anything
https://stackoverflow.com/questions/7233703/how-do-i-find-out-which-tables-have-no-indexes-in-mysql
Select t.table_schema,t.table_name,engine
from information_schema.tables t inner join information_schema .columns c
on t.table_schema=c.table_schema and t.table_name=c.table_name
group by t.table_schema,t.table_name
having sum(if(column_key in ('PRI','UNI'), 1,0)) = 0;
Tables with no Primary Key
Copyright 2018 Severalnines AB
โ— Galera uses ROW based replication
โ— ROW event applying in slave is not optimal, InnoDB may need to fall back to full table scan to
locate target rows
โ— But nevertheless, it is safe to use tables without primary keys, even in multi-master topologies
โ— For certification, Galera generates MD5sum pseudo keys from full row
INSERT INTO t1
(name, city, age)
VALUES
('John', 'London', 29);
Auto Increments
Copyright 2018 Severalnines AB
โ— MySQL has auto increment control for guaranteeing interleaved sequences in every cluster
node:
โ—‹ auto_increment_increment - how long autoinc steps per insert
โ—‹ auto_increment_offset โ€“ where to start auto inc sequence
โ— By default, Galera manages auto increment variables automatically:
โ—‹ wsrep_autoincrement_control=ON
โ— Galera will set increment to the number of nodes in the cluster, and cycle it to values 0..(n-1)
in each node:
โ—‹ Node1: 1, 4, 7, 10 ...
โ—‹ Node2: 2, 5, 8, 11 ...
โ—‹ Node3: 3, 6, 9, 12 ...
โ— Note that autoinc sequence will contain holes when inserts randomly hit different nodes
โ— Only autoinc_lock_mode=2, is supported
DDL โ€“ Schema Changes
Copyright 2018 Severalnines AB
Alternatives are:
โ— DDL can be run in the whole
cluster (TOI method, see #1)
โ— or rolling node by node
(RSU method, see #2)
(1) https://severalnines.com/blog/online-schema-upgrade-mysql-galera-cluster-using-toi-method
(2) https://severalnines.com/blog/online-schema-upgrade-mysql-galera-cluster-using-rsu-method
Events, Triggers, Stored Procedures
Copyright 2018 Severalnines AB
Events, Triggers, Views, Prepared Statements and Stored Procedures are
supported
Triggers are only in the master node, and only possible trigger execution
results will be replicated
Events are fired in every node
โ€“ Make sure the end result is what was planned
Foreign keys (even cascading) are supported
Huge Transactions
Copyright 2018 Severalnines AB
ROW based replication replicates every modified row. If a transaction
modifies a large number of rows, it may result in huge writeset for Galera to
replicate.
Problems with Huge Transactions:
โ€“ Writeset grows big and can cause memory issues
โ€“ Transaction is more vulnerable for multi-master conflicts
โ€“ Slave side applying will take long
Galera has two limits for transaction size
โ€“ wsrep_max_ws_rows - not enforced
โ€“ wsrep_max_ws_size - enforced, max limit 2G
โ€“ Too big transactions rollback in master node
LOAD DATA
Copyright 2018 Severalnines AB
LOAD DATA can cause very big transactions
To support arbitrarily long LOAD DATA sessions, it is possible to split LOAD
DATA sessions into a series of smaller INSERT transactions (e.g. 10k inserts)
Configure with: wsrep_load_data_splitting = ON | OFF
Note, that each batch will commit and replicate independently. If LOAD
DATA is interrupted or rolled back in master node, all earlier committed 10k
insert batches will remain in effect. Clean up with TRUNCATE if needed.
Multi-Master Replication
Copyright 2018 Severalnines AB
M1
master
S1
slave
G1
galera
G2
galera
ProxySQL/MaxScale
Application
Servers
Application
Servers
Application
Servers
Application
Servers
Application
Servers
RW RO
G3
galera
MySQL Replication Galera Cluster
HAProxy/ProxySQL/MaxScale
RW
RW
RW
Application
Servers
Application
Servers
Application
Servers
Application
Servers
Application
Servers
Multi-Master Conflicts
Copyright 2018 Severalnines AB
โ— Galera can be used either in master-slave
or multi-master topology
โ— In multi-master topology, risk for
multi-master conflicts and some transactions
failures with deadlock error code
โ— Even a transaction issuing COMMIT may be
aborted with deadlock error
โ— Make sure your application can deal with
deadlock error, the correct action
is just to retry with better luck
โ— wsrep_retry_autocommit may help to
hide deadlock errors.
code (Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)
Multi-Master Conflicts
Copyright 2018 Severalnines AB
Galera Replication
t1t1
ws
UPDATE t1 where id=1...UPDATE t1 where id=1...
ws wsws
Multi-Master Conflicts
Copyright 2018 Severalnines AB
Galera Replication
t1t1
ws
DEADLOCKOK
ws
wsws
Applying
Rollbacked
(Loser)
Committed
(Winner)
Discarded
Multi-Master Conflicts
Copyright 2018 Severalnines AB
Learn about multi-master conflicts, by enabling logging:
- wsrep_log_conflicts
- wsrep_provider_options = "cert.log_conflicts=1"
wsrep_retry_autocommit may help to hide deadlock errors
Latency Effects
Copyright 2018 Severalnines AB
Galera replicates at commit time, this will add some delay for commit processing:
โ— The delay depends on cluster topology, networking and SQL load profile
โ— Per connection transaction throughput is lower, so you may see performance
degradation if the application uses just a few database connections
โ— But accumulated over all connections, the cluster throughput performance is high
Long Lasting Transactions
Copyright 2018 Severalnines AB
A multi-statement transaction, which takes long to process, even if not
modifying many rows, may be vulnerable for multi-master conflicts, just
due to long life time.
Hybrid Replication
Copyright 2018 Severalnines AB
โ— Galera Cluster is compatible with MySQL
replication:
โ—‹ Galera cluster can operate as MySQL
slave
โ—‹ Galera cluster can operate as master for
MySQL slave
โ— MySQL >5.6 and MariaDB >10 GTID make it
very simple to manage MySQL master failover
in Galera Cluster
โ— MySQL replication yields an effective
migration path from MySQL to Galera Cluster
Miscellaneous
Copyright 2018 Severalnines AB
Query Cache is supported with latest Galera releases
binlog_format must be set to ROW
โ— STATEMENT and MIXED are currently not supported
Locking sessions (LOCK TABLE...UNLOCK TABLES) are not supported
โ— Locking session will work locally, but in multi-master topology,
replication may break locks
Lock functions get_lock(), release_lock() are not supported
Copyright 2017 Severalnines AB
Copyright 2018 Severalnines AB
Offline Migration Scenario
Offline Migration
Copyright 2018 Severalnines AB
1. Stop the load of the master server.
2. Create a full backup:
3. Transfer the backup from the old server to the new server:
4. Restore:
5. Restart the load from the application servers, directing it
towards your cluster nodes instead of the master server.
$ mysqldump -u root -p --skip-create-options --all-databases
> migration.sql
$ scp migration.sql user@galera-node
$ mysql -u root -p < migration.sql
Offline Migration - Stop Application
Copyright 2018 Severalnines AB
M1
master
S1
slave
G1
galera
G2
galera
ProxySQL/MaxScale
Application
Servers
Application
Servers
Application
Servers
Application
Servers
Application
Servers
RW RO
G3
galera
Existing Setup MySQL Replication New Galera Cluster
HAProxy/ProxySQL/MaxScale
RW
RW
RW
Deploy the whole set using
ClusterControl
Transfer backup
to G1 and
restore
Online Migration
Copyright 2018 Severalnines AB
Offline Migration - Start Application
Copyright 2018 Severalnines AB
M1
master
S1
slave
G1
galera
G2
galera
ProxySQL/MaxScale
Application
Servers
Application
Servers
Application
Servers
Application
Servers
Application
Servers
RW RO
G3
galera
Existing Setup MySQL Replication New Galera Cluster
HAProxy/ProxySQL/MaxScale
RW
RW
RW
Online Migration
Copyright 2018 Severalnines AB
Copyright 2017 Severalnines AB
Copyright 2018 Severalnines AB
Online Migration Scenario
Online Migration
Copyright 2018 Severalnines AB
โ— Existing MySQL Server
โ—‹ Master-slave setup
โ—‹ Single server
โ— At least two sets of cluster.
โ— Use MySQL asynchronous replication to
sync both clusters.
โ— Cut-off during lowest-peak hours.
Online Migration - Standalone
Copyright 2018 Severalnines AB
M1
master
G1
galera
G2
galera
Application
Servers
Application
Servers
Application
Servers
Application
Servers
Application
Servers
RW
G3
galera
Existing Setup MySQL Standalone New Galera Cluster
HAProxy/ProxySQL/MaxScale
RW
RW
RW
Deploy the whole set using
ClusterControl
Online Migration - Replication
Copyright 2018 Severalnines AB
M1
master
S1
slave
G1
galera
G2
galera
ProxySQL/MaxScale
Application
Servers
Application
Servers
Application
Servers
Application
Servers
Application
Servers
RW RO
G3
galera
Existing Setup MySQL Replication New Galera Cluster
HAProxy/ProxySQL/MaxScale
RW
RW
RW
Deploy the whole set using
ClusterControl
Online Migration
Copyright 2018 Severalnines AB
Online Migration
Copyright 2018 Severalnines AB
Online Migration - Non-GTID slave
Copyright 2018 Severalnines AB
1. On S1, if MySQL replication without GTID, enable
binary logging:
a. log-bin=binlog
b. log-slave-updates=1
2. Setup replication user for G1 to replicate from S1:
3. Dump all databases with --master-data=1 and
--skip-create-options:
M1
master
S1
slave
ProxySQL/MaxScale
RW RO
> GRANT REPLICATION_SLAVE ON *.* TO 'repl'@'G1'
IDENTIFIED BY 'replpassword';
$ mysqldump --single-transaction --skip-create-options
--master-data=1 --all-databases > dump.sql
Existing Setup MySQL Replication
Online Migration
Copyright 2018 Severalnines AB
Online Migration
Copyright 2018 Severalnines AB
Online Migration - GTID slave
Copyright 2018 Severalnines AB
1. On S1, setup replication user for G1 to replicate from
S1:
2. Dump all databases with --skip-create-options,
--triggers, --routines, --events: M1
master
S1
slave
ProxySQL/MaxScale
RW RO
> GRANT REPLICATION_SLAVE ON *.* TO 'repl'@'G1'
IDENTIFIED BY 'replpassword';
$ mysqldump -uroot -p --all-databases
--single-transaction --skip-create-options
--triggers --routines --events > dump.sql
Existing Setup MySQL Replication
Online Migration
Copyright 2018 Severalnines AB
Online Migration
Copyright 2018 Severalnines AB
Online Migration - Import into Galera
Copyright 2018 Severalnines AB
1. On G1, load in the converted schema:
2. Configure replication master:
3. Start replication slave:
G1
galera
G2
galera
G3
galera
New Galera Cluster
HAProxy/ProxySQL/MaxScale
RW
RW
RW
$ mysql -uroot -p < dump.sql
> CHANGE MASTER TO MASTER_HOST='S1',
MASTER_USER='repl', MASTER_PASSWORD='replpassword';
> START SLAVE;
Online Migration
Copyright 2018 Severalnines AB
Online Migration (Replication)
Copyright 2018 Severalnines AB
M1
master
S1
slave
G1
galera
G2
galera
ProxySQL/MaxScale
Application
Servers
Application
Servers
Application
Servers
Application
Servers
Application
Servers
RW RO
G3
galera
Existing Setup MySQL Replication New Galera Cluster
HAProxy/ProxySQL/MaxScale
RW
RW
RW
Application
Servers
Application
Servers
Application
Servers
Test Suites
A/B Testing (read-only)
Copyright 2018 Severalnines AB
M1
master
S1
slave
G1
galera
G2
galera
ProxySQL/MaxScale
Application
Servers
Application
Servers
Application
Servers
Application
Servers
Application
Servers
RW
G3
galera
Existing Setup MySQL Replication New Galera Cluster
HAProxy/ProxySQL/MaxScale
RW
RW
RW
Application
Servers
Application
Servers
Application
Servers
Test Suites
RORORW
Production
Cut Off
Copyright 2018 Severalnines AB
M1
master
S1
slave
G1
galera
G2
galera
ProxySQL/MaxScale
Application
Servers
Application
Servers
Application
Servers
Application
Servers
Application
Servers
RW
G3
galera
Existing Setup MySQL Replication New Galera Cluster
HAProxy/ProxySQL/MaxScale
RW
RW
RW
Application
Servers
Application
Servers
Application
Servers
Test Suites
RW
Production
Online Migration
Copyright 2018 Severalnines AB
Online Migration
Copyright 2018 Severalnines AB
Copyright 2017 Severalnines AB
Copyright 2018 Severalnines AB
Demo
Operational Checklist
Copyright 2018 Severalnines AB
โ— Are queues building up?
โ— Slow queries?
โ— Tune queries in the Query Monitor.
โ— Are backups working?
โ— Reporting queries?
โ— Latency issues?
โ— Random node restarts and failures?
โ— Upgrade time?
โ— Did you test new code before putting in production?
You worst enemy is the network
Belt and Suspenders
Copyright 2018 Severalnines AB
Apply your backup procedures as normal:
- mysqldump with "--single-transaction"
- volume snapshot
- xtrabackup/mariabackup
You may still want to have an async slave connected to the cluster:
- Reporting
- Disaster Recovery
http://www.severalnines.com/blog/asynchronous-replication-galera-clustermysql-server-gtid
Point in time recovery
http://www.severalnines.com/blog/point-time-recovery-galera-cluster
Webinar Replay - 9 Tips for going in Production with Galera Cluster
https://severalnines.com/webinars/9-devops-tips-going-production-galera-cluster-mysql-mar
iadb
Copyright 2017 Severalnines AB
Copyright 2018 Severalnines AB
Q & A
Additional Resources
Copyright 2018 Severalnines AB

More Related Content

What's hot

What's hot (20)

What is new in MariaDB 10.6?
What is new in MariaDB 10.6?What is new in MariaDB 10.6?
What is new in MariaDB 10.6?
ย 
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...
ย 
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
ย 
The Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication TutorialThe Full MySQL and MariaDB Parallel Replication Tutorial
The Full MySQL and MariaDB Parallel Replication Tutorial
ย 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
ย 
MySQL Parallel Replication by Booking.com
MySQL Parallel Replication by Booking.comMySQL Parallel Replication by Booking.com
MySQL Parallel Replication by Booking.com
ย 
Percona Xtrabackup - Highly Efficient Backups
Percona Xtrabackup - Highly Efficient BackupsPercona Xtrabackup - Highly Efficient Backups
Percona Xtrabackup - Highly Efficient Backups
ย 
MySQL Advanced Administrator 2021 - ๋„ค์˜คํด๋กœ๋ฐ”
MySQL Advanced Administrator 2021 - ๋„ค์˜คํด๋กœ๋ฐ”MySQL Advanced Administrator 2021 - ๋„ค์˜คํด๋กœ๋ฐ”
MySQL Advanced Administrator 2021 - ๋„ค์˜คํด๋กœ๋ฐ”
ย 
An Overview to MySQL SYS Schema
An Overview to MySQL SYS Schema An Overview to MySQL SYS Schema
An Overview to MySQL SYS Schema
ย 
M|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScaleM|18 Architectural Overview: MariaDB MaxScale
M|18 Architectural Overview: MariaDB MaxScale
ย 
Scaling for Performance
Scaling for PerformanceScaling for Performance
Scaling for Performance
ย 
Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication Evolution of MySQL Parallel Replication
Evolution of MySQL Parallel Replication
ย 
Errant GTIDs breaking replication @ Percona Live 2019
Errant GTIDs breaking replication @ Percona Live 2019Errant GTIDs breaking replication @ Percona Live 2019
Errant GTIDs breaking replication @ Percona Live 2019
ย 
MariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly AvailableMariaDB Galera Cluster - Simple, Transparent, Highly Available
MariaDB Galera Cluster - Simple, Transparent, Highly Available
ย 
Keepalived+MaxScale+MariaDB_์šด์˜๋งค๋‰ด์–ผ_1.0.docx
Keepalived+MaxScale+MariaDB_์šด์˜๋งค๋‰ด์–ผ_1.0.docxKeepalived+MaxScale+MariaDB_์šด์˜๋งค๋‰ด์–ผ_1.0.docx
Keepalived+MaxScale+MariaDB_์šด์˜๋งค๋‰ด์–ผ_1.0.docx
ย 
Percona XtraDB Cluster
Percona XtraDB ClusterPercona XtraDB Cluster
Percona XtraDB Cluster
ย 
What Every Developer Should Know About Database Scalability
What Every Developer Should Know About Database ScalabilityWhat Every Developer Should Know About Database Scalability
What Every Developer Should Know About Database Scalability
ย 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & Optimization
ย 
Demystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash SafetyDemystifying MySQL Replication Crash Safety
Demystifying MySQL Replication Crash Safety
ย 
Automated master failover
Automated master failoverAutomated master failover
Automated master failover
ย 

Similar to Webinar slides: Migrating to Galera Cluster for MySQL and MariaDB

Webinar Slides: Migrating to Galera Cluster
Webinar Slides: Migrating to Galera ClusterWebinar Slides: Migrating to Galera Cluster
Webinar Slides: Migrating to Galera Cluster
Severalnines
ย 
Running MySQL in AWS
Running MySQL in AWSRunning MySQL in AWS
Running MySQL in AWS
Laine Campbell
ย 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Continuent
ย 
MySQL Database Replication - A Guide by RapidValue Solutions
MySQL Database Replication - A Guide by RapidValue SolutionsMySQL Database Replication - A Guide by RapidValue Solutions
MySQL Database Replication - A Guide by RapidValue Solutions
RapidValue
ย 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
Lenz Grimmer
ย 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02
Louis liu
ย 

Similar to Webinar slides: Migrating to Galera Cluster for MySQL and MariaDB (20)

Webinar Slides: Migrating to Galera Cluster
Webinar Slides: Migrating to Galera ClusterWebinar Slides: Migrating to Galera Cluster
Webinar Slides: Migrating to Galera Cluster
ย 
MySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentMySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated Environment
ย 
MySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitationsMySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitations
ย 
Webinar slides: Our Guide to MySQL & MariaDB Performance Tuning
Webinar slides: Our Guide to MySQL & MariaDB Performance TuningWebinar slides: Our Guide to MySQL & MariaDB Performance Tuning
Webinar slides: Our Guide to MySQL & MariaDB Performance Tuning
ย 
MySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated EnvironmentMySQL Scalability and Reliability for Replicated Environment
MySQL Scalability and Reliability for Replicated Environment
ย 
Galera Cluster 4 presentation at Percona Live Austin 2019
Galera Cluster 4 presentation at Percona Live Austin 2019 Galera Cluster 4 presentation at Percona Live Austin 2019
Galera Cluster 4 presentation at Percona Live Austin 2019
ย 
Running MySQL in AWS
Running MySQL in AWSRunning MySQL in AWS
Running MySQL in AWS
ย 
Whatโ€™s new in Galera 4
Whatโ€™s new in Galera 4Whatโ€™s new in Galera 4
Whatโ€™s new in Galera 4
ย 
MySQL Cluster (NDB) - Best Practices Percona Live 2017
MySQL Cluster (NDB) - Best Practices Percona Live 2017MySQL Cluster (NDB) - Best Practices Percona Live 2017
MySQL Cluster (NDB) - Best Practices Percona Live 2017
ย 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
ย 
PoC: Using a Group Communication System to improve MySQL Replication HA
PoC: Using a Group Communication System to improve MySQL Replication HAPoC: Using a Group Communication System to improve MySQL Replication HA
PoC: Using a Group Communication System to improve MySQL Replication HA
ย 
Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...
Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...
Migrate your EOL MySQL servers to HA Complaint GR Cluster / InnoDB Cluster Wi...
ย 
Tips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloudTips to drive maria db cluster performance for nextcloud
Tips to drive maria db cluster performance for nextcloud
ย 
MySQL Database Replication - A Guide by RapidValue Solutions
MySQL Database Replication - A Guide by RapidValue SolutionsMySQL Database Replication - A Guide by RapidValue Solutions
MySQL Database Replication - A Guide by RapidValue Solutions
ย 
MySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitationsMySQL Parallel Replication: inventory, use-case and limitations
MySQL Parallel Replication: inventory, use-case and limitations
ย 
MySQL Parallel Replication: inventory, use-cases and limitations
MySQL Parallel Replication: inventory, use-cases and limitationsMySQL Parallel Replication: inventory, use-cases and limitations
MySQL Parallel Replication: inventory, use-cases and limitations
ย 
The Proper Care and Feeding of MySQL Databases
The Proper Care and Feeding of MySQL DatabasesThe Proper Care and Feeding of MySQL Databases
The Proper Care and Feeding of MySQL Databases
ย 
MySQL/MariaDB Parallel Replication: inventory, use-case and limitations
MySQL/MariaDB Parallel Replication: inventory, use-case and limitationsMySQL/MariaDB Parallel Replication: inventory, use-case and limitations
MySQL/MariaDB Parallel Replication: inventory, use-case and limitations
ย 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
ย 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02
ย 

More from Severalnines

Webinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDBWebinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDB
Severalnines
ย 
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControlWebinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Severalnines
ย 
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Severalnines
ย 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Severalnines
ย 
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Severalnines
ย 
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLWebinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Severalnines
ย 
Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?
Severalnines
ย 
Webinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High AvailabilityWebinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High Availability
Severalnines
ย 
Webinar slides: How to Get Started with Open Source Database Management
Webinar slides: How to Get Started with Open Source Database ManagementWebinar slides: How to Get Started with Open Source Database Management
Webinar slides: How to Get Started with Open Source Database Management
Severalnines
ย 
Webinar slides: How to Achieve PCI Compliance for MySQL & MariaDB with Cluste...
Webinar slides: How to Achieve PCI Compliance for MySQL & MariaDB with Cluste...Webinar slides: How to Achieve PCI Compliance for MySQL & MariaDB with Cluste...
Webinar slides: How to Achieve PCI Compliance for MySQL & MariaDB with Cluste...
Severalnines
ย 
Webinar slides: Severalnines & MariaDB present: Automation & Management of Ma...
Webinar slides: Severalnines & MariaDB present: Automation & Management of Ma...Webinar slides: Severalnines & MariaDB present: Automation & Management of Ma...
Webinar slides: Severalnines & MariaDB present: Automation & Management of Ma...
Severalnines
ย 

More from Severalnines (20)

Cloud's future runs through Sovereign DBaaS
Cloud's future runs through Sovereign DBaaSCloud's future runs through Sovereign DBaaS
Cloud's future runs through Sovereign DBaaS
ย 
Working with the Moodle Database: The Basics
Working with the Moodle Database: The BasicsWorking with the Moodle Database: The Basics
Working with the Moodle Database: The Basics
ย 
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDBSysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
ย 
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
(slides) Polyglot persistence: utilizing open source databases as a Swiss poc...
ย 
Webinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDBWebinar slides: How to Migrate from Oracle DB to MariaDB
Webinar slides: How to Migrate from Oracle DB to MariaDB
ย 
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControlWebinar slides: How to Automate & Manage PostgreSQL with ClusterControl
Webinar slides: How to Automate & Manage PostgreSQL with ClusterControl
ย 
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
Webinar slides: How to Manage Replication Failover Processes for MySQL, Maria...
ย 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
ย 
Disaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDBDisaster Recovery Planning for MySQL & MariaDB
Disaster Recovery Planning for MySQL & MariaDB
ย 
MariaDB Performance Tuning Crash Course
MariaDB Performance Tuning Crash CourseMariaDB Performance Tuning Crash Course
MariaDB Performance Tuning Crash Course
ย 
Performance Tuning Cheat Sheet for MongoDB
Performance Tuning Cheat Sheet for MongoDBPerformance Tuning Cheat Sheet for MongoDB
Performance Tuning Cheat Sheet for MongoDB
ย 
Advanced MySql Data-at-Rest Encryption in Percona Server
Advanced MySql Data-at-Rest Encryption in Percona ServerAdvanced MySql Data-at-Rest Encryption in Percona Server
Advanced MySql Data-at-Rest Encryption in Percona Server
ย 
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket KnifePolyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
Polyglot Persistence Utilizing Open Source Databases as a Swiss Pocket Knife
ย 
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
Webinar slides: Free Monitoring (on Steroids) for MySQL, MariaDB, PostgreSQL ...
ย 
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQLWebinar slides: An Introduction to Performance Monitoring for PostgreSQL
Webinar slides: An Introduction to Performance Monitoring for PostgreSQL
ย 
Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?Webinar slides: How to Measure Database Availability?
Webinar slides: How to Measure Database Availability?
ย 
Webinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High AvailabilityWebinar slides: Designing Open Source Databases for High Availability
Webinar slides: Designing Open Source Databases for High Availability
ย 
Webinar slides: How to Get Started with Open Source Database Management
Webinar slides: How to Get Started with Open Source Database ManagementWebinar slides: How to Get Started with Open Source Database Management
Webinar slides: How to Get Started with Open Source Database Management
ย 
Webinar slides: How to Achieve PCI Compliance for MySQL & MariaDB with Cluste...
Webinar slides: How to Achieve PCI Compliance for MySQL & MariaDB with Cluste...Webinar slides: How to Achieve PCI Compliance for MySQL & MariaDB with Cluste...
Webinar slides: How to Achieve PCI Compliance for MySQL & MariaDB with Cluste...
ย 
Webinar slides: Severalnines & MariaDB present: Automation & Management of Ma...
Webinar slides: Severalnines & MariaDB present: Automation & Management of Ma...Webinar slides: Severalnines & MariaDB present: Automation & Management of Ma...
Webinar slides: Severalnines & MariaDB present: Automation & Management of Ma...
ย 

Recently uploaded

Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
SUHANI PANDEY
ย 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
SUHANI PANDEY
ย 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
SUHANI PANDEY
ย 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
SUHANI PANDEY
ย 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
ย 
Low Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐Ÿฅต
Low Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐ŸฅตLow Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐Ÿฅต
Low Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐Ÿฅต
Chandigarh Call girls 9053900678 Call girls in Chandigarh
ย 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
SUHANI PANDEY
ย 
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRLLucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
imonikaupta
ย 

Recently uploaded (20)

Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
ย 
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
All Time Service Available Call Girls Mg Road ๐Ÿ‘Œ โญ๏ธ 6378878445
ย 
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceReal Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
ย 
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft DatingDubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
ย 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
ย 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
ย 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
ย 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
ย 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
ย 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
ย 
Low Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐Ÿฅต
Low Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐ŸฅตLow Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐Ÿฅต
Low Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐Ÿฅต
ย 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
ย 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
ย 
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort ServiceEnjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
Enjoy NightโšกCall Girls Dlf City Phase 3 Gurgaon >เผ’8448380779 Escort Service
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
ย 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
ย 
WhatsApp ๐Ÿ“ž 8448380779 โœ…Call Girls In Mamura Sector 66 ( Noida)
WhatsApp ๐Ÿ“ž 8448380779 โœ…Call Girls In Mamura Sector 66 ( Noida)WhatsApp ๐Ÿ“ž 8448380779 โœ…Call Girls In Mamura Sector 66 ( Noida)
WhatsApp ๐Ÿ“ž 8448380779 โœ…Call Girls In Mamura Sector 66 ( Noida)
ย 
Top Rated Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...
ย 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
ย 
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRLLucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
ย 

Webinar slides: Migrating to Galera Cluster for MySQL and MariaDB

  • 1. May 2018 Migrating to Galera Cluster for MySQL and MariaDB Bart Oleล›, Support Engineer Presenter bart@severalnines.com
  • 2. Copyright 2017 Severalnines AB I'm Jean-Jรฉrรดme from the Severalnines Team and I'm your host for today's webinar! Feel free to ask any questions in the Questions section of this application or via the Chat box. You can also contact me directly via the chat box or via email: info@severalnines.com during or after the webinar. Your host & some logistics
  • 3.
  • 5. Copyright 2017 Severalnines AB Automation & Management Deployment โ— Deploy a Cluster in Minutes โ— On-Prem or Cloud (AWS/Azure/Google) Monitoring โ— Systems View with 1 sec Resolution โ— DB / OS stats & Performance Advisors โ— Configurable Dashboards โ— Query Analyzer โ— Real-time / historical Management โ— Backup Management โ— Upgrades & Patching โ— Security & Compliance โ— Operational Reports โ— Automatic Recovery & Repair โ— Performance Management โ— Automatic Performance Advisors
  • 6. Copyright 2017 Severalnines AB Supported Databases
  • 7. Copyright 2017 Severalnines AB Our Customers
  • 8. May 2018 Migrating to Galera Cluster for MySQL and MariaDB Bart Oleล›, Support Engineer Presenter bart@severalnines.com
  • 9. Agenda Copyright 2018 Severalnines AB Migrating to Galera Cluster for MySQL and MariaDB โ— Preparation โ— Supported engines โ— Tables with no primary key โ— Auto Increment Handling DDL processing โ— Events, triggers... โ— Huge transactions โ— LOAD DATA processing โ— Multi-master conflicts โ— Locking sessions โ— Offline/Online Migration
  • 10. Copyright 2017 Severalnines AB Copyright 2018 Severalnines AB Preparation
  • 11. Standalone MySQL instance vs Galera Cluster Copyright 2018 Severalnines AB Galera Cluster is close to native MySQL/InnoDB look & feel However, there are some differences in behavior & some limitations First part of the presentation goes through these limitations, as well as sanity checks and best practices before migration process.
  • 12. Storage engine support Copyright 2018 Severalnines AB โ— Only InnoDB storage engine replication is fully supported. โ— However, Galera has also limited MyISAM support: โ—‹ Through 'wsrep_replicate_myisam' configuration โ—‹ Low performance โ—‹ Non deterministic: no timestamps, no rands โ—‹ Works for simple, low load writes โ— Transactions on non supported storage engines are not replicated, data modifications remain node local. โ— All DDL (alter, create..) is replicated regardless of target engine.
  • 13. InnoDB tables Copyright 2018 Severalnines AB Find out what table types are used, e.g: If you have non InnoDB tables, figure out if migration to InnoDB is possible If you must have .e.g. MyISAM table(s), find out if their use case is supported by Galera Cluster Note that: โ€“ even though MyISAM is not replicated by default, still SST will copy all tables โ€“ all DDLs are replicated regardless of selected table type select table_schema,table_name,engine from information_schema.tables where engine != 'InnoDB' and table_schema not in ( 'mysql', 'performance_schema', 'information_schema') ;
  • 14. Finding Tables with no PK Copyright 2018 Severalnines AB It makes sense to optimize schema design and assign primary key for every table: โ— If there is no PK, InnoDB will create 6 byte primary key for such tables (with additional cost), you just cannot use that internal column for anything https://stackoverflow.com/questions/7233703/how-do-i-find-out-which-tables-have-no-indexes-in-mysql Select t.table_schema,t.table_name,engine from information_schema.tables t inner join information_schema .columns c on t.table_schema=c.table_schema and t.table_name=c.table_name group by t.table_schema,t.table_name having sum(if(column_key in ('PRI','UNI'), 1,0)) = 0;
  • 15. Tables with no Primary Key Copyright 2018 Severalnines AB โ— Galera uses ROW based replication โ— ROW event applying in slave is not optimal, InnoDB may need to fall back to full table scan to locate target rows โ— But nevertheless, it is safe to use tables without primary keys, even in multi-master topologies โ— For certification, Galera generates MD5sum pseudo keys from full row INSERT INTO t1 (name, city, age) VALUES ('John', 'London', 29);
  • 16. Auto Increments Copyright 2018 Severalnines AB โ— MySQL has auto increment control for guaranteeing interleaved sequences in every cluster node: โ—‹ auto_increment_increment - how long autoinc steps per insert โ—‹ auto_increment_offset โ€“ where to start auto inc sequence โ— By default, Galera manages auto increment variables automatically: โ—‹ wsrep_autoincrement_control=ON โ— Galera will set increment to the number of nodes in the cluster, and cycle it to values 0..(n-1) in each node: โ—‹ Node1: 1, 4, 7, 10 ... โ—‹ Node2: 2, 5, 8, 11 ... โ—‹ Node3: 3, 6, 9, 12 ... โ— Note that autoinc sequence will contain holes when inserts randomly hit different nodes โ— Only autoinc_lock_mode=2, is supported
  • 17. DDL โ€“ Schema Changes Copyright 2018 Severalnines AB Alternatives are: โ— DDL can be run in the whole cluster (TOI method, see #1) โ— or rolling node by node (RSU method, see #2) (1) https://severalnines.com/blog/online-schema-upgrade-mysql-galera-cluster-using-toi-method (2) https://severalnines.com/blog/online-schema-upgrade-mysql-galera-cluster-using-rsu-method
  • 18. Events, Triggers, Stored Procedures Copyright 2018 Severalnines AB Events, Triggers, Views, Prepared Statements and Stored Procedures are supported Triggers are only in the master node, and only possible trigger execution results will be replicated Events are fired in every node โ€“ Make sure the end result is what was planned Foreign keys (even cascading) are supported
  • 19. Huge Transactions Copyright 2018 Severalnines AB ROW based replication replicates every modified row. If a transaction modifies a large number of rows, it may result in huge writeset for Galera to replicate. Problems with Huge Transactions: โ€“ Writeset grows big and can cause memory issues โ€“ Transaction is more vulnerable for multi-master conflicts โ€“ Slave side applying will take long Galera has two limits for transaction size โ€“ wsrep_max_ws_rows - not enforced โ€“ wsrep_max_ws_size - enforced, max limit 2G โ€“ Too big transactions rollback in master node
  • 20. LOAD DATA Copyright 2018 Severalnines AB LOAD DATA can cause very big transactions To support arbitrarily long LOAD DATA sessions, it is possible to split LOAD DATA sessions into a series of smaller INSERT transactions (e.g. 10k inserts) Configure with: wsrep_load_data_splitting = ON | OFF Note, that each batch will commit and replicate independently. If LOAD DATA is interrupted or rolled back in master node, all earlier committed 10k insert batches will remain in effect. Clean up with TRUNCATE if needed.
  • 21. Multi-Master Replication Copyright 2018 Severalnines AB M1 master S1 slave G1 galera G2 galera ProxySQL/MaxScale Application Servers Application Servers Application Servers Application Servers Application Servers RW RO G3 galera MySQL Replication Galera Cluster HAProxy/ProxySQL/MaxScale RW RW RW Application Servers Application Servers Application Servers Application Servers Application Servers
  • 22. Multi-Master Conflicts Copyright 2018 Severalnines AB โ— Galera can be used either in master-slave or multi-master topology โ— In multi-master topology, risk for multi-master conflicts and some transactions failures with deadlock error code โ— Even a transaction issuing COMMIT may be aborted with deadlock error โ— Make sure your application can deal with deadlock error, the correct action is just to retry with better luck โ— wsrep_retry_autocommit may help to hide deadlock errors. code (Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)
  • 23. Multi-Master Conflicts Copyright 2018 Severalnines AB Galera Replication t1t1 ws UPDATE t1 where id=1...UPDATE t1 where id=1... ws wsws
  • 24. Multi-Master Conflicts Copyright 2018 Severalnines AB Galera Replication t1t1 ws DEADLOCKOK ws wsws Applying Rollbacked (Loser) Committed (Winner) Discarded
  • 25. Multi-Master Conflicts Copyright 2018 Severalnines AB Learn about multi-master conflicts, by enabling logging: - wsrep_log_conflicts - wsrep_provider_options = "cert.log_conflicts=1" wsrep_retry_autocommit may help to hide deadlock errors
  • 26. Latency Effects Copyright 2018 Severalnines AB Galera replicates at commit time, this will add some delay for commit processing: โ— The delay depends on cluster topology, networking and SQL load profile โ— Per connection transaction throughput is lower, so you may see performance degradation if the application uses just a few database connections โ— But accumulated over all connections, the cluster throughput performance is high
  • 27. Long Lasting Transactions Copyright 2018 Severalnines AB A multi-statement transaction, which takes long to process, even if not modifying many rows, may be vulnerable for multi-master conflicts, just due to long life time.
  • 28. Hybrid Replication Copyright 2018 Severalnines AB โ— Galera Cluster is compatible with MySQL replication: โ—‹ Galera cluster can operate as MySQL slave โ—‹ Galera cluster can operate as master for MySQL slave โ— MySQL >5.6 and MariaDB >10 GTID make it very simple to manage MySQL master failover in Galera Cluster โ— MySQL replication yields an effective migration path from MySQL to Galera Cluster
  • 29. Miscellaneous Copyright 2018 Severalnines AB Query Cache is supported with latest Galera releases binlog_format must be set to ROW โ— STATEMENT and MIXED are currently not supported Locking sessions (LOCK TABLE...UNLOCK TABLES) are not supported โ— Locking session will work locally, but in multi-master topology, replication may break locks Lock functions get_lock(), release_lock() are not supported
  • 30. Copyright 2017 Severalnines AB Copyright 2018 Severalnines AB Offline Migration Scenario
  • 31. Offline Migration Copyright 2018 Severalnines AB 1. Stop the load of the master server. 2. Create a full backup: 3. Transfer the backup from the old server to the new server: 4. Restore: 5. Restart the load from the application servers, directing it towards your cluster nodes instead of the master server. $ mysqldump -u root -p --skip-create-options --all-databases > migration.sql $ scp migration.sql user@galera-node $ mysql -u root -p < migration.sql
  • 32. Offline Migration - Stop Application Copyright 2018 Severalnines AB M1 master S1 slave G1 galera G2 galera ProxySQL/MaxScale Application Servers Application Servers Application Servers Application Servers Application Servers RW RO G3 galera Existing Setup MySQL Replication New Galera Cluster HAProxy/ProxySQL/MaxScale RW RW RW Deploy the whole set using ClusterControl Transfer backup to G1 and restore
  • 34. Offline Migration - Start Application Copyright 2018 Severalnines AB M1 master S1 slave G1 galera G2 galera ProxySQL/MaxScale Application Servers Application Servers Application Servers Application Servers Application Servers RW RO G3 galera Existing Setup MySQL Replication New Galera Cluster HAProxy/ProxySQL/MaxScale RW RW RW
  • 36. Copyright 2017 Severalnines AB Copyright 2018 Severalnines AB Online Migration Scenario
  • 37. Online Migration Copyright 2018 Severalnines AB โ— Existing MySQL Server โ—‹ Master-slave setup โ—‹ Single server โ— At least two sets of cluster. โ— Use MySQL asynchronous replication to sync both clusters. โ— Cut-off during lowest-peak hours.
  • 38. Online Migration - Standalone Copyright 2018 Severalnines AB M1 master G1 galera G2 galera Application Servers Application Servers Application Servers Application Servers Application Servers RW G3 galera Existing Setup MySQL Standalone New Galera Cluster HAProxy/ProxySQL/MaxScale RW RW RW Deploy the whole set using ClusterControl
  • 39. Online Migration - Replication Copyright 2018 Severalnines AB M1 master S1 slave G1 galera G2 galera ProxySQL/MaxScale Application Servers Application Servers Application Servers Application Servers Application Servers RW RO G3 galera Existing Setup MySQL Replication New Galera Cluster HAProxy/ProxySQL/MaxScale RW RW RW Deploy the whole set using ClusterControl
  • 42. Online Migration - Non-GTID slave Copyright 2018 Severalnines AB 1. On S1, if MySQL replication without GTID, enable binary logging: a. log-bin=binlog b. log-slave-updates=1 2. Setup replication user for G1 to replicate from S1: 3. Dump all databases with --master-data=1 and --skip-create-options: M1 master S1 slave ProxySQL/MaxScale RW RO > GRANT REPLICATION_SLAVE ON *.* TO 'repl'@'G1' IDENTIFIED BY 'replpassword'; $ mysqldump --single-transaction --skip-create-options --master-data=1 --all-databases > dump.sql Existing Setup MySQL Replication
  • 45. Online Migration - GTID slave Copyright 2018 Severalnines AB 1. On S1, setup replication user for G1 to replicate from S1: 2. Dump all databases with --skip-create-options, --triggers, --routines, --events: M1 master S1 slave ProxySQL/MaxScale RW RO > GRANT REPLICATION_SLAVE ON *.* TO 'repl'@'G1' IDENTIFIED BY 'replpassword'; $ mysqldump -uroot -p --all-databases --single-transaction --skip-create-options --triggers --routines --events > dump.sql Existing Setup MySQL Replication
  • 48. Online Migration - Import into Galera Copyright 2018 Severalnines AB 1. On G1, load in the converted schema: 2. Configure replication master: 3. Start replication slave: G1 galera G2 galera G3 galera New Galera Cluster HAProxy/ProxySQL/MaxScale RW RW RW $ mysql -uroot -p < dump.sql > CHANGE MASTER TO MASTER_HOST='S1', MASTER_USER='repl', MASTER_PASSWORD='replpassword'; > START SLAVE;
  • 50. Online Migration (Replication) Copyright 2018 Severalnines AB M1 master S1 slave G1 galera G2 galera ProxySQL/MaxScale Application Servers Application Servers Application Servers Application Servers Application Servers RW RO G3 galera Existing Setup MySQL Replication New Galera Cluster HAProxy/ProxySQL/MaxScale RW RW RW Application Servers Application Servers Application Servers Test Suites
  • 51. A/B Testing (read-only) Copyright 2018 Severalnines AB M1 master S1 slave G1 galera G2 galera ProxySQL/MaxScale Application Servers Application Servers Application Servers Application Servers Application Servers RW G3 galera Existing Setup MySQL Replication New Galera Cluster HAProxy/ProxySQL/MaxScale RW RW RW Application Servers Application Servers Application Servers Test Suites RORORW Production
  • 52. Cut Off Copyright 2018 Severalnines AB M1 master S1 slave G1 galera G2 galera ProxySQL/MaxScale Application Servers Application Servers Application Servers Application Servers Application Servers RW G3 galera Existing Setup MySQL Replication New Galera Cluster HAProxy/ProxySQL/MaxScale RW RW RW Application Servers Application Servers Application Servers Test Suites RW Production
  • 55. Copyright 2017 Severalnines AB Copyright 2018 Severalnines AB Demo
  • 56. Operational Checklist Copyright 2018 Severalnines AB โ— Are queues building up? โ— Slow queries? โ— Tune queries in the Query Monitor. โ— Are backups working? โ— Reporting queries? โ— Latency issues? โ— Random node restarts and failures? โ— Upgrade time? โ— Did you test new code before putting in production? You worst enemy is the network
  • 57. Belt and Suspenders Copyright 2018 Severalnines AB Apply your backup procedures as normal: - mysqldump with "--single-transaction" - volume snapshot - xtrabackup/mariabackup You may still want to have an async slave connected to the cluster: - Reporting - Disaster Recovery http://www.severalnines.com/blog/asynchronous-replication-galera-clustermysql-server-gtid Point in time recovery http://www.severalnines.com/blog/point-time-recovery-galera-cluster Webinar Replay - 9 Tips for going in Production with Galera Cluster https://severalnines.com/webinars/9-devops-tips-going-production-galera-cluster-mysql-mar iadb
  • 58. Copyright 2017 Severalnines AB Copyright 2018 Severalnines AB Q & A