SlideShare a Scribd company logo
1 of 33
Download to read offline
MySQL Workbench
●
David.Stokes@Oracle.com @Stoker
●
Slides for this presentation available at Slideshare.net/davestokes
Copyright © 2015 By David Stokes
2
We start with a QUIZ!!!!
Name the man and the
machines!
Copyright © 2015 By David Stokes
3
We start with a QUIZ!!!!
Answer: Ron Popeil, the Ronco Pocket Fisherman, and the Ronco Vegamatic
Copyright © 2015 By David Stokes
4
We start with a QUIZ!!!!
Answer: Ron Popeil, the Ronco Pocket Fisherman, and the Ronco Vegamatic
"But wait, there's more!"Copyright © 2015 By David Stokes
5
In The Beginning was the
Command Line.
And it was good.
Copyright © 2015 By David Stokes
6
Then there was a cry for GUI
● The old MySQL GUI tools were
'okay' but not really popular
– MySQL Administrator
– Query Browser
– Migration Toolkit
Copyright © 2015 By David Stokes
7
MySQL Workbench
● Multipart Tool
– Queries
– Admin
● Users
● System
– Entity Relationship Mapper
http://dev.mysql.com/doc/workbench/en/
Copyright © 2015 By David Stokes
8
Platforms
● Mac OS X
● Linux
– RHEL/Oracle
– Ubuntu
– Fedora
● Windows
– ZIP Archive
– Installer
● Source Code
● There is an Enterpise
edition to paying
customers with hooks
for various admin
tools like MySQL
Enterprise Backup but
this presentation
covers the FREE
community edition
Copyright © 2015 By David Stokes
9
And MySQL Utilities (Python)
Five Groups:
● Database Operations
● General Operations
● High Availability
Operations
● Server Operations
● Specialized Operations
The Utilites
Work with
Workbench or
can be used
standalone
Copyright © 2015 By David Stokes
10
First Look
Copyright © 2015 By David Stokes
11
Make a Connection
Test your connection to verify settings
Copyright © 2015 By David Stokes
12
Parts of the Query Window
Database Schemas, active schema in bold
Information on
running instance
Server Operations
Administration
Copyright © 2015 By David Stokes
13
Simple Query
Use lightening bolt to execute query
Copyright © 2015 By David Stokes
14
And we get results!
Copyright © 2015 By David Stokes
15
Query Plan (lightening bolt with magnifying glass)
● Tradtional EXPLAIN output
● VISUAL EXPLAIN
Copyright © 2015 By David Stokes
16
But Wait There's More!!!
Copyright © 2015 By David Stokes
17
Entity Relationship Modeling
● http://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model
● In software engineering, an entity–relationship
model (ER model) is a data model for describing the
data or information aspects of a business domain or
its process requirements, in an abstract way that
lends itself to ultimately being implemented in a
database such as a relational database. The main
components of ER models are entities (things) and
the relationships that can exist among them, and
databases.
Copyright © 2015 By David Stokes
18
Create a Model
Create EER from Database or Script
Copyright © 2015 By David Stokes
19
And we have a map
Copyright © 2015 By David Stokes
20
Adding users
● Command line
UPDATE users
set
Select_Priv='Y',
Delete_Priv='Y',...
WHERE
User='Joe';
● Or
Copyright © 2015 By David Stokes
21
But Wait There's More!!!
Copyright © 2015 By David Stokes
22
Server Status
Copyright © 2015 By David Stokes
23
Dashboard
Copyright © 2015 By David Stokes
24
Act now and get MySQL Utilities!!
What are the MySQL Utilities?
● It is a package of utilities that are used for maintenance and
administration of MySQL servers. These utilities encapsulate
a set of primitive commands, and bundles them so they can be
used to perform macro operations with a single command.
● The utilities are written in Python, available under the GPLv2
license, and are extendable using the supplied library. They
are designed to work with Python versions 2.6 or later and
there is no support (yet) for Python v3.1.
Copyright © 2015 By David Stokes
25
Six Categories for MyQL Utilities
● Binary Log Operations
● Database Operations
● General Operations
● High Availability Operations
● Server Operations
● Specialized Operations
Copyright © 2015 By David Stokes
26
●
Binary Log Operations
These utilities are designed to perform operations on binary
log files.
● mysqlbinlogmove
– Rellocate binary log files
– Move files based on their sequence number or modified date
Copyright © 2015 By David Stokes
27
Database Operations
These utilities are those designed to work at the database-level. They include utilities that can used to adminster databases on
one or more servers.
● mysqldbcompare
– Compare databases on two servers or the same server
– Compare definitions and data
– Generate a difference report
– Generate SQL transformation statements
● mysqldbcopy
– Copy databases between servers
– Clone databases on the same server
– Supports rename
● mysqldbexport
– Export metadata and/or data from one or more databases
– Formats: SQL, CSV, TAB, Grid, Vertical
● mysqldbimport
– Import metadata and data from one or more files
– Reads all formats from mysqldbexport
● Mysqldif
– Compare object definitions
– Generate a difference report
Copyright © 2015 By David Stokes
28
General OperationsThese utilities are those designed to perform general operations such as reporting and searching.
● mysqldiskusage
– Show disk usage for databases
– Generate reports in SQL, CSV, TAB, Grid, Vertical
● mysqlfrm
– Reads .frm files, optionally in byte-by-byte diagnostic mode
– Generates CREATE statements from table definition data
● mysqlgrants
– Displays grants per object.
– Produce reports by user, user with grants, and GRANT statements.
● mysqlindexcheck
– Read indexes for one or more tables
– Check for redundant and duplicate indexes
– Generate reports in SQL, CSV, TAB, Grid, Vertical
● mysqlmetagrep
– Search metadata
– Regexp, database search
– Generate SQL statement for search query
● mysqlprocgrep
– Search process information
– Generate SQL statement for search
– Kill processes that match query
● mysqluserclone
– Clone a user account, to the same or different server
– Show user grants
● mysqluc
– Command line client for running MySQL Utilities
– Allows a persistent connection to a MySQL Server
– T ab completion for utility names and options
– Allows calling the commands with shorter names, such as using "serverinfo" instead of mysqlserverinfo
Copyright © 2015 By David Stokes
29
High Availability Operations
These utilities are those designed to support replication and high availability operations for MySQL servers.
● mysqlfailover
– Provides automatic failover on a replication topology
– Uses Global Transaction Identifiers (GTID, MySQL Server 5.6.5+)
● mysqlreplicate
– Setup replication
– Start from beginning, current, specific binlog, pos
● mysqlrplms
– Provides round-robin multi-source replication (a slave server continually cycles through multiple masters in order to store a consolidated data set)
– Uses Global Transaction Identifiers (GTID, MySQL Server 5.6.9+)
● mysqlrpladmin
– Administers the replication topology
– Allows recovery of the master
– Commands include elect, failover, gtid, health, start, stop, and switchover
● mysqlrplcheck
– Check replication configuration
– Tests binary logging on master
● mysqlrplshow
– Show slaves attached to master
– Can search recursively
– Show the replication topology as a graph or list
● mysqlrplsync
– Check data consistency between servers in a replicated setup
– Uses Global Transaction Identifiers (GTID)
– Requires MySQL Server 5.6.14 and higher
● mysqlslavetrx
– Skip multiple transaction on slaves
– Uses Global Transaction Identifiers (GTID)
Copyright © 2015 By David Stokes
30
Server Operations
These utilities are used to perform server-wide operations.
● mysqlserverclone
– Start a new instance of a running server
● mysqlserverinfo
– Show server information
– Can search for running servers on a host
– Access online or offline servers
Copyright © 2015 By David Stokes
31
Specialized Operations
These utilities are designed to be used with a specific commercial
extension. In this case, these utilities require the Audit Log Plugin
(Enterprise Customers).
● mysqlauditadmin
– Monitor the audit log
– Copy, rotate, and configure the audit log
● mysqlauditgrep
– Search the audit log
– Output results to different formats
Copyright © 2015 By David Stokes
32
Visual Explain & Demo
Copyright © 2015 By David Stokes
33
Q/A
● Slides at Slidshare.net/davestokes
● David.Stokes@Oracle.Com
● @StokerCopyright © 2015 By David Stokes

More Related Content

What's hot

Ramp-Tutorial for MYSQL Cluster - Scaling with Continuous Availability
Ramp-Tutorial for MYSQL Cluster - Scaling with Continuous AvailabilityRamp-Tutorial for MYSQL Cluster - Scaling with Continuous Availability
Ramp-Tutorial for MYSQL Cluster - Scaling with Continuous Availability
Pythian
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera Cluster
Abdul Manaf
 
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
DataStax
 

What's hot (20)

NoSql Databases
NoSql DatabasesNoSql Databases
NoSql Databases
 
ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)
 
Ramp-Tutorial for MYSQL Cluster - Scaling with Continuous Availability
Ramp-Tutorial for MYSQL Cluster - Scaling with Continuous AvailabilityRamp-Tutorial for MYSQL Cluster - Scaling with Continuous Availability
Ramp-Tutorial for MYSQL Cluster - Scaling with Continuous Availability
 
Presto Meetup (2015-03-19)
Presto Meetup (2015-03-19)Presto Meetup (2015-03-19)
Presto Meetup (2015-03-19)
 
PostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQLPostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQL
 
Converting from MySQL to PostgreSQL
Converting from MySQL to PostgreSQLConverting from MySQL to PostgreSQL
Converting from MySQL to PostgreSQL
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera Cluster
 
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
Elassandra: Elasticsearch as a Cassandra Secondary Index (Rémi Trouville, Vin...
 
The Coming Database Revolution
The Coming Database RevolutionThe Coming Database Revolution
The Coming Database Revolution
 
M|18 Scalability via Expendable Resources: Containers at BlaBlaCar
M|18 Scalability via Expendable Resources: Containers at BlaBlaCarM|18 Scalability via Expendable Resources: Containers at BlaBlaCar
M|18 Scalability via Expendable Resources: Containers at BlaBlaCar
 
Group Replication in MySQL 8.0 ( A Walk Through )
Group Replication in MySQL 8.0 ( A Walk Through ) Group Replication in MySQL 8.0 ( A Walk Through )
Group Replication in MySQL 8.0 ( A Walk Through )
 
M|18 How Facebook Migrated to MyRocks
M|18 How Facebook Migrated to MyRocksM|18 How Facebook Migrated to MyRocks
M|18 How Facebook Migrated to MyRocks
 
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityBest practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High Availability
 
NewSQL - Deliverance from BASE and back to SQL and ACID
NewSQL - Deliverance from BASE and back to SQL and ACIDNewSQL - Deliverance from BASE and back to SQL and ACID
NewSQL - Deliverance from BASE and back to SQL and ACID
 
M|18 Running MariaDB TX on Containers
M|18 Running MariaDB TX on ContainersM|18 Running MariaDB TX on Containers
M|18 Running MariaDB TX on Containers
 
Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.Modern MySQL Monitoring and Dashboards.
Modern MySQL Monitoring and Dashboards.
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
Migrating to postgresql
Migrating to postgresqlMigrating to postgresql
Migrating to postgresql
 
11. From Hadoop to Spark 1:2
11. From Hadoop to Spark 1:211. From Hadoop to Spark 1:2
11. From Hadoop to Spark 1:2
 
Automated Database Sanitization with AWS
Automated Database Sanitization with AWSAutomated Database Sanitization with AWS
Automated Database Sanitization with AWS
 

Similar to MySQL Workbench and Visual Explain -- RMUG Feb 19th 2015

Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
Tarique Saleem
 
Java in the database–is it really useful? Solving impossible Big Data challenges
Java in the database–is it really useful? Solving impossible Big Data challengesJava in the database–is it really useful? Solving impossible Big Data challenges
Java in the database–is it really useful? Solving impossible Big Data challenges
Rogue Wave Software
 

Similar to MySQL Workbench and Visual Explain -- RMUG Feb 19th 2015 (20)

MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015MySQL Utilities -- PyTexas 2015
MySQL Utilities -- PyTexas 2015
 
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsOUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
 
BGOUG 2014: Developing Using MySQL
BGOUG 2014: Developing Using MySQLBGOUG 2014: Developing Using MySQL
BGOUG 2014: Developing Using MySQL
 
Delhi_Meetup_flyway_Integration.pptx
Delhi_Meetup_flyway_Integration.pptxDelhi_Meetup_flyway_Integration.pptx
Delhi_Meetup_flyway_Integration.pptx
 
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational Controls
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
 
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015MySQL's NoSQL  -- Texas Linuxfest August 22nd 2015
MySQL's NoSQL -- Texas Linuxfest August 22nd 2015
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
 
Java in the database–is it really useful? Solving impossible Big Data challenges
Java in the database–is it really useful? Solving impossible Big Data challengesJava in the database–is it really useful? Solving impossible Big Data challenges
Java in the database–is it really useful? Solving impossible Big Data challenges
 
FOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worldsFOSDEM 2015 - NoSQL and SQL the best of both worlds
FOSDEM 2015 - NoSQL and SQL the best of both worlds
 
Presto
PrestoPresto
Presto
 
20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing
 
MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!
 
Linux Experience for Herman
Linux Experience for HermanLinux Experience for Herman
Linux Experience for Herman
 

More from Dave Stokes

More from Dave Stokes (20)

Locking Down Your MySQL Database.pptx
Locking Down Your MySQL Database.pptxLocking Down Your MySQL Database.pptx
Locking Down Your MySQL Database.pptx
 
Linuxfest Northwest 2022 - MySQL 8.0 Nre Features
Linuxfest Northwest 2022 - MySQL 8.0 Nre FeaturesLinuxfest Northwest 2022 - MySQL 8.0 Nre Features
Linuxfest Northwest 2022 - MySQL 8.0 Nre Features
 
MySQL Indexes and Histograms - RMOUG Training Days 2022
MySQL Indexes and Histograms - RMOUG Training Days 2022MySQL Indexes and Histograms - RMOUG Training Days 2022
MySQL Indexes and Histograms - RMOUG Training Days 2022
 
MySQL 8.0 Features -- Oracle CodeOne 2019, All Things Open 2019
MySQL 8.0 Features -- Oracle CodeOne 2019, All Things Open 2019MySQL 8.0 Features -- Oracle CodeOne 2019, All Things Open 2019
MySQL 8.0 Features -- Oracle CodeOne 2019, All Things Open 2019
 
Windowing Functions - Little Rock Tech fest 2019
Windowing Functions - Little Rock Tech fest 2019Windowing Functions - Little Rock Tech fest 2019
Windowing Functions - Little Rock Tech fest 2019
 
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
MySQL Baics - Texas Linxufest beginners tutorial May 31st, 2019
 
Develop PHP Applications with MySQL X DevAPI
Develop PHP Applications with MySQL X DevAPIDevelop PHP Applications with MySQL X DevAPI
Develop PHP Applications with MySQL X DevAPI
 
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San FranciscoMySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
MySQL 8 Tips and Tricks from Symfony USA 2018, San Francisco
 
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 without the SQL -- Cascadia PHP
MySQL without the SQL -- Cascadia PHPMySQL without the SQL -- Cascadia PHP
MySQL without the SQL -- Cascadia PHP
 
MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018MySQL 8 Server Optimization Swanseacon 2018
MySQL 8 Server Optimization Swanseacon 2018
 
MySQL Without The SQL -- Oh My! PHP[Tek] June 2018
MySQL Without The SQL -- Oh My! PHP[Tek] June 2018MySQL Without The SQL -- Oh My! PHP[Tek] June 2018
MySQL Without The SQL -- Oh My! PHP[Tek] June 2018
 
Presentation Skills for Open Source Folks
Presentation Skills for Open Source FolksPresentation Skills for Open Source Folks
Presentation Skills for Open Source Folks
 
MySQL Without the SQL -- Oh My! Longhorn PHP Conference
MySQL Without the SQL -- Oh My!  Longhorn PHP ConferenceMySQL Without the SQL -- Oh My!  Longhorn PHP Conference
MySQL Without the SQL -- Oh My! Longhorn PHP Conference
 
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)
 
ConFoo MySQL Replication Evolution : From Simple to Group Replication
ConFoo  MySQL Replication Evolution : From Simple to Group ReplicationConFoo  MySQL Replication Evolution : From Simple to Group Replication
ConFoo MySQL Replication Evolution : From Simple to Group Replication
 
Advanced MySQL Query Optimizations
Advanced MySQL Query OptimizationsAdvanced MySQL Query Optimizations
Advanced MySQL Query Optimizations
 
Making MySQL Agile-ish
Making MySQL Agile-ishMaking MySQL Agile-ish
Making MySQL Agile-ish
 
PHP Database Programming Basics -- Northeast PHP
PHP Database Programming Basics -- Northeast PHPPHP Database Programming Basics -- Northeast PHP
PHP Database Programming Basics -- Northeast PHP
 
MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

MySQL Workbench and Visual Explain -- RMUG Feb 19th 2015

  • 1. MySQL Workbench ● David.Stokes@Oracle.com @Stoker ● Slides for this presentation available at Slideshare.net/davestokes Copyright © 2015 By David Stokes
  • 2. 2 We start with a QUIZ!!!! Name the man and the machines! Copyright © 2015 By David Stokes
  • 3. 3 We start with a QUIZ!!!! Answer: Ron Popeil, the Ronco Pocket Fisherman, and the Ronco Vegamatic Copyright © 2015 By David Stokes
  • 4. 4 We start with a QUIZ!!!! Answer: Ron Popeil, the Ronco Pocket Fisherman, and the Ronco Vegamatic "But wait, there's more!"Copyright © 2015 By David Stokes
  • 5. 5 In The Beginning was the Command Line. And it was good. Copyright © 2015 By David Stokes
  • 6. 6 Then there was a cry for GUI ● The old MySQL GUI tools were 'okay' but not really popular – MySQL Administrator – Query Browser – Migration Toolkit Copyright © 2015 By David Stokes
  • 7. 7 MySQL Workbench ● Multipart Tool – Queries – Admin ● Users ● System – Entity Relationship Mapper http://dev.mysql.com/doc/workbench/en/ Copyright © 2015 By David Stokes
  • 8. 8 Platforms ● Mac OS X ● Linux – RHEL/Oracle – Ubuntu – Fedora ● Windows – ZIP Archive – Installer ● Source Code ● There is an Enterpise edition to paying customers with hooks for various admin tools like MySQL Enterprise Backup but this presentation covers the FREE community edition Copyright © 2015 By David Stokes
  • 9. 9 And MySQL Utilities (Python) Five Groups: ● Database Operations ● General Operations ● High Availability Operations ● Server Operations ● Specialized Operations The Utilites Work with Workbench or can be used standalone Copyright © 2015 By David Stokes
  • 10. 10 First Look Copyright © 2015 By David Stokes
  • 11. 11 Make a Connection Test your connection to verify settings Copyright © 2015 By David Stokes
  • 12. 12 Parts of the Query Window Database Schemas, active schema in bold Information on running instance Server Operations Administration Copyright © 2015 By David Stokes
  • 13. 13 Simple Query Use lightening bolt to execute query Copyright © 2015 By David Stokes
  • 14. 14 And we get results! Copyright © 2015 By David Stokes
  • 15. 15 Query Plan (lightening bolt with magnifying glass) ● Tradtional EXPLAIN output ● VISUAL EXPLAIN Copyright © 2015 By David Stokes
  • 16. 16 But Wait There's More!!! Copyright © 2015 By David Stokes
  • 17. 17 Entity Relationship Modeling ● http://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model ● In software engineering, an entity–relationship model (ER model) is a data model for describing the data or information aspects of a business domain or its process requirements, in an abstract way that lends itself to ultimately being implemented in a database such as a relational database. The main components of ER models are entities (things) and the relationships that can exist among them, and databases. Copyright © 2015 By David Stokes
  • 18. 18 Create a Model Create EER from Database or Script Copyright © 2015 By David Stokes
  • 19. 19 And we have a map Copyright © 2015 By David Stokes
  • 20. 20 Adding users ● Command line UPDATE users set Select_Priv='Y', Delete_Priv='Y',... WHERE User='Joe'; ● Or Copyright © 2015 By David Stokes
  • 21. 21 But Wait There's More!!! Copyright © 2015 By David Stokes
  • 22. 22 Server Status Copyright © 2015 By David Stokes
  • 24. 24 Act now and get MySQL Utilities!! What are the MySQL Utilities? ● It is a package of utilities that are used for maintenance and administration of MySQL servers. These utilities encapsulate a set of primitive commands, and bundles them so they can be used to perform macro operations with a single command. ● The utilities are written in Python, available under the GPLv2 license, and are extendable using the supplied library. They are designed to work with Python versions 2.6 or later and there is no support (yet) for Python v3.1. Copyright © 2015 By David Stokes
  • 25. 25 Six Categories for MyQL Utilities ● Binary Log Operations ● Database Operations ● General Operations ● High Availability Operations ● Server Operations ● Specialized Operations Copyright © 2015 By David Stokes
  • 26. 26 ● Binary Log Operations These utilities are designed to perform operations on binary log files. ● mysqlbinlogmove – Rellocate binary log files – Move files based on their sequence number or modified date Copyright © 2015 By David Stokes
  • 27. 27 Database Operations These utilities are those designed to work at the database-level. They include utilities that can used to adminster databases on one or more servers. ● mysqldbcompare – Compare databases on two servers or the same server – Compare definitions and data – Generate a difference report – Generate SQL transformation statements ● mysqldbcopy – Copy databases between servers – Clone databases on the same server – Supports rename ● mysqldbexport – Export metadata and/or data from one or more databases – Formats: SQL, CSV, TAB, Grid, Vertical ● mysqldbimport – Import metadata and data from one or more files – Reads all formats from mysqldbexport ● Mysqldif – Compare object definitions – Generate a difference report Copyright © 2015 By David Stokes
  • 28. 28 General OperationsThese utilities are those designed to perform general operations such as reporting and searching. ● mysqldiskusage – Show disk usage for databases – Generate reports in SQL, CSV, TAB, Grid, Vertical ● mysqlfrm – Reads .frm files, optionally in byte-by-byte diagnostic mode – Generates CREATE statements from table definition data ● mysqlgrants – Displays grants per object. – Produce reports by user, user with grants, and GRANT statements. ● mysqlindexcheck – Read indexes for one or more tables – Check for redundant and duplicate indexes – Generate reports in SQL, CSV, TAB, Grid, Vertical ● mysqlmetagrep – Search metadata – Regexp, database search – Generate SQL statement for search query ● mysqlprocgrep – Search process information – Generate SQL statement for search – Kill processes that match query ● mysqluserclone – Clone a user account, to the same or different server – Show user grants ● mysqluc – Command line client for running MySQL Utilities – Allows a persistent connection to a MySQL Server – T ab completion for utility names and options – Allows calling the commands with shorter names, such as using "serverinfo" instead of mysqlserverinfo Copyright © 2015 By David Stokes
  • 29. 29 High Availability Operations These utilities are those designed to support replication and high availability operations for MySQL servers. ● mysqlfailover – Provides automatic failover on a replication topology – Uses Global Transaction Identifiers (GTID, MySQL Server 5.6.5+) ● mysqlreplicate – Setup replication – Start from beginning, current, specific binlog, pos ● mysqlrplms – Provides round-robin multi-source replication (a slave server continually cycles through multiple masters in order to store a consolidated data set) – Uses Global Transaction Identifiers (GTID, MySQL Server 5.6.9+) ● mysqlrpladmin – Administers the replication topology – Allows recovery of the master – Commands include elect, failover, gtid, health, start, stop, and switchover ● mysqlrplcheck – Check replication configuration – Tests binary logging on master ● mysqlrplshow – Show slaves attached to master – Can search recursively – Show the replication topology as a graph or list ● mysqlrplsync – Check data consistency between servers in a replicated setup – Uses Global Transaction Identifiers (GTID) – Requires MySQL Server 5.6.14 and higher ● mysqlslavetrx – Skip multiple transaction on slaves – Uses Global Transaction Identifiers (GTID) Copyright © 2015 By David Stokes
  • 30. 30 Server Operations These utilities are used to perform server-wide operations. ● mysqlserverclone – Start a new instance of a running server ● mysqlserverinfo – Show server information – Can search for running servers on a host – Access online or offline servers Copyright © 2015 By David Stokes
  • 31. 31 Specialized Operations These utilities are designed to be used with a specific commercial extension. In this case, these utilities require the Audit Log Plugin (Enterprise Customers). ● mysqlauditadmin – Monitor the audit log – Copy, rotate, and configure the audit log ● mysqlauditgrep – Search the audit log – Output results to different formats Copyright © 2015 By David Stokes
  • 32. 32 Visual Explain & Demo Copyright © 2015 By David Stokes
  • 33. 33 Q/A ● Slides at Slidshare.net/davestokes ● David.Stokes@Oracle.Com ● @StokerCopyright © 2015 By David Stokes