Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

My sql8 innodb_cluster

37 views

Published on

By Abhilash Samal for MYSQL USER CAMP 11th Oct 2018

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

My sql8 innodb_cluster

  1. 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL 8 : InnoDB Cluster Madhusudhan G Joshi Abhilash Samal MySQL Engineering Group, India Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 1
  2. 2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes 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 upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  3. 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 3 Program Agenda What is InnoDB Cluster ?? InnoDB Cluster Overview Components ? Setup and get going QA
  4. 4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 4 MySQL 8.0: InnoDB Cluster Vision: “A single product with high availability and scaling features together ; providing an integrated end- to-end solution that is easy to use.” • Well integrated, native, full stack High Availability (HA) solution for MySQL • Provides the mechanism to replicate data within InnoDB cluster, with built-in failover • Provide AdminAPI’s to configure, deploy, administer InnoDB Cluster • Ability to interact seamlessly using Connectors for many different languages and end user applications
  5. 5. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: InnoDB Cluster Overview • MySQL 8.0.11+ Servers with Group Replication, to provide the data replication mechanism within InnoDB cluster, ensuring fault tolerance, automated failover, and elasticity. • MySQL Shell 8.0.11+, the unified interface for MySQL developers and DBAs to create and manage InnoDB Cluster using the built- in AdminAPI. MySQL Router 8.0.11+, to provide transparent routing between the client (application) requests and the InnoDB cluster server instances. Client Application
  6. 6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. • Provides distributed State Machine Replication – strong coordination between servers • Group can operate in multiple modes – Single-Primary or Multiple-Primary • Powered with Group Communication System (GCS) Protocol – Failure detection mechanism • Built-in group membership service – Servers can leave and join the group and the view is updated automatically 6 MySQL 8.0: Group Replication
  7. 7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. • Lightweight middleware – Provide transparent routing between application and Server • Building block for HA Solutions – Simplifies application development by intelligently routing connections to MySQL servers 7 MySQL 8.0: Router
  8. 8. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. • Provides an interactive code exécution mode – Provide transparent routing between application and Server • Processes code in multiple languages – JavaScript, Python and SQL • APIs in JavaScript and Python to interact with MySQL – XDevAPI supporting relational and document data – AdminAPI to configure,deploy and administer InnoDB Cluster 8 MySQL 8.0: Shell
  9. 9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 9 Get started in minutes Setup and Get going…. • Start Server instance • Add instance to cluster • Create/Initiate Cluster • Bootstrap router • Test Fault Tolerance
  10. 10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Deploy Instances • Start MySQL Shell – binmysqlsh • Deploy Server Instances – dba.deploySandboxInstance(….)
  11. 11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Deploy Instances • Start MySQL Shell – binmysqlsh • Deploy Server Instances – dba.deploySandboxInstance(….) 1310 1311 1312
  12. 12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 12 Create Cluster • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster – dba.createCluster(….)
  13. 13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL8Launch 13 Create Cluster • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster – dba.createCluster(….) 1310 1311 1312
  14. 14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL8Launch 14 Is Cluster setup …??? • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Check Cluster Status – <cluster_object>.status(….) 1310 1311 1312
  15. 15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 15 Add more Instances … • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Add more instances – <cluster_object>.addInstance(….)
  16. 16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL8Launch 16 Add more Instances … • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Add more instances – <cluster_object>.addInstance(….) 1310 1311 1312
  17. 17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL8Launch 17 How’s Cluster now ??? • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Add more Instances • Check Cluster Status – <cluster_object>.status(….) 1310 1311 1312
  18. 18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 18 Help …. • Run help on MySQL Shell
  19. 19. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 19 Help …. • Run help on MySQL Shell • Has more help for shell global objects – dba.help(); – mysqlx.help();
  20. 20. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. * MySQL8Launch 20 MySQL Router • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Add more Instances • Check Cluster Status • BootStrap and start MySQL Router – bin/mysqlrouter --bootstrap …. 1310 InnoDB Cluster * 1311 1312
  21. 21. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. * MySQL8Launch 21 MySQL Router • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Add more Instances • Check Cluster Status • BootStrap and start MySQL Router – bin/mysqlrouter --bootstrap …. 1310 InnoDB Cluster * 1311 1312 MySQL8Router NOTICE the R/W and R/O ports above
  22. 22. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. What’s achieved ?? • Used MySQL Shell • Setup MySQL InnoDB Cluster • Bootstrapped MySQL Router Router is set and HA is in place…. 22
  23. 23. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 23
  24. 24. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 24
  25. 25. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 25
  26. 26. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 26 How’s Cluster now ???
  27. 27. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 27
  28. 28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. What’s achieved ?? • Used MySQL Shell • Setup MySQL InnoDB Cluster • Bootstrapped MySQL Router • Application Fail Over and HA Tested 28
  29. 29. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Another easier way …. 29
  30. 30. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 30 Q & A

×