More Related Content
Similar to MySQL Workbench and Visual Explain -- RMUG Feb 19th 2015 (20)
More from Dave Stokes (20)
MySQL Workbench and Visual Explain -- RMUG Feb 19th 2015
- 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
- 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
- 15. 15
Query Plan (lightening bolt with magnifying glass)
● Tradtional EXPLAIN output
● VISUAL EXPLAIN
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
- 20. 20
Adding users
● Command line
UPDATE users
set
Select_Priv='Y',
Delete_Priv='Y',...
WHERE
User='Joe';
● Or
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
- 33. 33
Q/A
● Slides at Slidshare.net/davestokes
● David.Stokes@Oracle.Com
● @StokerCopyright © 2015 By David Stokes