SlideShare a Scribd company logo
1 of 82
Download to read offline
The Proper Care and Feeding of a
MySQL Database for Linux
Administrators
Dave Stokes
MySQL Community Manager
David.Stokes@Oracle.Com
Congratulations! You're the new Linux
Admin AND the MySQL DBA too!
Dave Stokes
MySQL Community Manager
David.Stokes@Oracle.Com   @stoker
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.
Simple Introduction
This is a general introduction to running a
MySQL database server(s) for Linux
Administrator
Simple Introduction
This is a general introduction to running a
MySQL database server(s) for Linux
Administrator
Database servers have needs different than
SMTP, HTTP, or other servers
Simple Introduction
This is a general introduction to running a
MySQL database server(s) for Linux
Administrator
Database servers have needs different than
SMTP, HTTP, or other servers
Hardware choices are critical! (do not go cheap)
Simple Introduction
This is a general introduction to running a
MySQL database server(s) for Linux
Administrator
Database servers have needs different than
SMTP, HTTP, or other servers
Hardware choices are critical! (do not go cheap)
Tuning to 80% efficiency is relatively easy
Simple Introduction
This is a general introduction to running a
MySQL database server(s) for Linux
Administrator
Database servers have needs different than
SMTP, HTTP, or other servers
Hardware choices are critical! (do not go cheap)
Tuning to 80% efficiency is relatively easy (last
20% is tricky)
Session Overview
1.   Basics of a database server
2.   Hardware
3.   MySQL Configuration
4.   Monitoring Operations
5.   Backups
6.   Replication
7.   Indexes
8.   Tuning
9.   Q/A
How does a Database server work

Client                Server
SELECT phone
FROM friends
WHERE name = ‘Joe’;
How does a Database server work

Client                Server
SELECT phone
FROM friends          PARSE
WHERE name = ‘Joe’;     find Joe in friends
                      table in memory
                          return phone
How does a Database server work

Client                Server
SELECT phone
FROM friends          PARSE
WHERE name = ‘Joe’;     find Joe in friends
...                   table in memory

Process phone data        return phone
How does a Database server work

Client                   Server
SELECT phone
FROM friends             PARSE
WHERE name = ‘Joe’;        find Joe in friends
...                      table in memory

Process phone data            return phone
                What was that about
                   memory???
Rule #1
•
    Databases love data in memory
Rule #1
•
    Databases love data in memory



Corollary #1 – getting data in/out of memory will
cause you nightmares!
What if it is not in memory?

MySQL                OS
Please give me the
data from the city
table
What if it is not in memory?

MySQL                OS
Please give me the   Get inode
data from the city
table
What if it is not in memory?

MySQL                OS
Please give me the   Get inode
data from the city   Ask disk for data
table
What if it is not in memory?

MySQL                OS
Please give me the   Get inode
data from the city   Ask disk for data
table
                     Get data into buffer
What if it is not in memory?

MySQL                   OS
Please give me the      Get inode
data from the city      Ask disk for data
table
                        Get data into buffer
                        Hand buffer off

Load data into memory
What if it is not in memory?

MySQL                          OS
Please give me the             Get inode
data from the city             Ask disk for data
table
                               Get data into buffer
                               Hand buffer off
                Much longer than
Load   data into just reading from
                  memory
                      memory
Rule #2

Databases have to do unpredictable queries,
random I/O, and sequential scans so slow I/O
kills performance
Buffers


What happens when you read a file into memory




               Disk         Page         User
    DISK       Controller   Cache        Buffer
Buffers


Memory Lookup – 100 nanoseconds, 12GB/sec




              Disk         Page      User
    DISK      Controller   Cache     Buffer
Buffers


Memory Lookup – 100 nanoseconds, 12GB/sec
DISK seek – 10 milliseconds, 760MB/sec




              Disk         Page      User
    DISK      Controller   Cache     Buffer
Disk Reads

A disk read is 100,000 slower than reading memory
      ●
          For comparison
               – 100,000 minutes is about 69.5 days
               – 100,000 feet is about 19 miles
               – 100,000 kilometers is 15.7 times around
                 Earth's equator
Cache

Writeback and writethrough caches




                                          Disk
          DISK
                                        Controller




                 Writethrough on disk                Writethrough on
                                                     controller
Cache

Recommended setup




                                        Disk
        DISK
                                      Controller




               Writethrough on disk                Writeback on
                                                   controller
SSD

Use standard RAID controller
      ●
          SSD as writeback cache
      ●
          Battery backed
      ●
          $2.5/GB verses .075/GB
      ●
          Very fast seek time
      ●
          Density
Hardware recommendations
1.   Memory – lots of it, ecc
Hardware recommendations
1.   Memory – lots of it, ecc
2.   DISKs – more spindles, high speed, fast controllers,
     RAID 10, write back cache, and XFS/ZFS/ext4 not
     ext2/3
Hardware recommendations
1.   Memory – lots of it, ecc
2.   DISKs – more spindles, high speed, fast controllers,
     RAID 10, write back cache, and XFS/ZFS/ext4 not
     ext2/3
3.   Write-through caches with battery backup units for
     disks must be monitored, and have life span much
     longer than planned outages
Hardware recommendations
1.   Memory – lots of it, ecc
2.   DISKs – more spindles, high speed, fast controllers,
     RAID 10, write back cache, and XFS/ZFS/ext4 not
     ext2/3
3.   Write-through caches with battery backup units for
     disks must be monitored, and have life span much
     longer than planned outages
4.   CPUs, Core less important (spend money on
     Memory and IO)
Quick Security Warning!

MySQL login security is primitive.
       ●
           Database mysql has users table
       ●
           'jsmith'@'co.com' or 'fred'@'10.10.%'
                 – Matches host, then user, then password
                   fields
                          ●
                            Be explicit
       ●
           Proxy and Pluggable logins on the way
MySQL privilege security
       ●
           GRANT functions or access
       ●
           Can get Byzantine quickly
       ●
           Use a GUI
When root is the root of your root
problem OR stingy is your best friend
Linux server has root            MySQL daemon has
      ●
          Highly privileged      root
      ●
          Dangerous                      ●
                                              Highly privileged
                                           ●
                                              Dangerous
                                           ●
                                              Understand
                                              MySQL priv
                                              system and be
                                              stingy
                                           ●
                                              Proxy and plug-in
                                              adapters soon
                                           ●
                                              Really limit
          Linux root is not the same as MySQL access, not just
                                              root
          but both can be dangerous to you!!! play at it
Installation

1.   Use pre built MySQL packages
Installation

1.   Use pre built MySQL packages
2.   Don’t double up with other services
Installation

1.   Use prebuilt MySQL packages
2.   Don’t double up with other services
3.   Supplied configuration files are OLD!
Installation

1.   Use prebuilt MySQL packages
2.   Don’t double up with other services
3.   Supplied configuration files are OLD!
4.   Move logs to different disk than data
Installation

1.   Use prebuilt packages
2.   Don’t double up with other services
3.   Supplied configuration files are OLD!
4.   Move logs to different disk than data
5.   Spread data over different drives
Installation

1.   Use prebuilt packages
2.   Don’t double up with other services
3.   Supplied configuration files are OLD!
4.   Move logs to different disk than data
5.   Spread data over different drives
6.   Backups are necessary – and practice
     recovery!
Monitoring Operations

1.   Slow query log -- not all long running queries
     are bad
Monitoring Operations

1.   Slow query log -- not all long running queries
     are bad
2.   Log queries not using indexes
Monitoring Operations

1.   Slow query log -- not all long running queries
     are bad
2.   Log queries not using indexes
3.   Use monitoring software – MEM, Innotop,
     Cacti, Munin, Nagios, etc – and pay attention
     to it
Monitor!!!
Monitoring Operations

1.   Slow query log -- not all long running queries
     are bad
2.   Log queries not using indexes
3.   Use monitoring software – MEM, Innotop,
     Cacti, Munin, Nagios, etc – and pay attention
     to it
4.   More in tuning ….
Backups

Backups are usually some sort of disk snap shot
   or serializing data to a file
Backups

Backups are usually some sort of disk snap shot
   or serializing data to a file
The more the better but you need to know steps
   to recover dropped table, lost databases, or
   mangled data
Backups

Backups are usually some sort of disk snap shot
   or serializing data to a file
The more the better but you need to know steps
   to recover dropped table, lost databases, or
   mangled data.
Use data replication to a slave and then backup
  slave
Backups

Backups are usually some sort of disk snap shot
   or serializing data to a file
The more the better but you need to know steps
   to recover dropped table, lost databases, or
   mangled data.
Use data replication to a slave and then backup
  slave
Be paranoid!!!!!
Replication
Replication for MySQL is the binary log for the
  master being copied to a slave. The slave
  then updates its copy of the data
Replication
Replication for MySQL is the binary log for the
  master being copied to a slave. The slave
  then updates its copy of the data
Two types:
1.   Asynchronous – server does not check changes sent to
     slave before proceeding
Replication
Replication for MySQL is the binary log for the
  master being copied to a slave. The slave
  then updates its copy of the data
Two types:
1.   Asynchronous – server does not check changes sent to
     slave before proceeding
2.   Semi Synchronous – server checks that slave received
     changes before proceeding
Replication -- threads

Currently single threaded – 5.6 will fix that
Replication -- network
Network latency will affect MySQL replication. So plan
network topology to minimize bandwidth competition with
other systems/services.
Replication -- network
Network latency will affect MySQL replication. So plan
network topology to minimize bandwidth competition with
other systems/services.
Slaves do not need to be as fast as the master but try to
keep things reasonably close
Replication -- network
Network latency will affect MySQL replication. So plan
network topology to minimize bandwidth competition with
other systems/services.
Slaves do not need to be as fast as the master but try to
keep things reasonably close
Do not have to replicate all tables/databases to all slaves.
Cut down on traffic by replicating what is needed!
MySQL Database
Replication Enables Scalability
                       Application   Load Balancer




      Writes & Reads                 Reads           Reads




                         MySQL Replication

      • Write to one master
      • Read from many slaves, easily add more as needed
      • Perfect for read/write intensive apps
Indexes are good

Without Index           With Index
  DB needs to scan       DB can go right to
entire table or table   record
scan
Indexes, the bad
•
    Overhead -- space, speed, maintenance
Indexes, the bad
•
    Overhead -- space, speed, maintenance
•
    Not a panacea – does not cure all problems
Indexes, the bad
•
    Overhead -- space, speed, maintenance
•
    Not a panacea – does not cure all problems
•
    Will not help if you need to perform a table
    scan
Indexes, the bad
•
    Overhead -- space, speed, maintenance
•
    Not a panacea – does not cure all problems
•
    Will not help if you need to perform a table
    scan
•
    Composite indexes can be tricky – YearMonthDay
    usually better than DayMonthYear
Tuning to 80%
•
    Use InnoDB
Tuning to 80%
•
    Use InnoDB
•
    Set innodb_buffer_pool_size to 70-
    80% of memory
Tuning to 80%
•
    Use InnoDB
•
    Set innodb_buffer_pool_size to 70-
    80% of memory
•
    Use XFS/ZFS/ext4
Tuning to 80%
•
    Use InnoDB
•
    Set innodb_buffer_pool_size to 70-
    80% of memory
•
    Use XFS/ZFS/ext4
•
    Partition data -- divide and conquer
Tuning to 80%
•
    Use InnoDB
•
    Set innodb_buffer_pool_size to 70-
    80% of memory
•
    Use XFS/ZFS/ext4
•
    Partition data -- divide and conquer
•
    Architect your data
Tuning to 80%
•
    Use InnoDB
•
    Set innodb_buffer_pool_size to 70-
    80% of memory
•
    Use XFS/ZFS/ext4
•
    Partition data -- divide and conquer
•
    Architect your data
•
    Review your SQL statements
Don't hurt yourself
          Some RAID controllers
          have a battery learning
          cycle when BBU goes
          write-back. Schedule
          during off-time!

          Minimize time for most
          frequent queries

          Keep on top of
          upgrades
            - 5.5 20% faster than
          5.1
Tuning Past 80%

Will depend on your data
Tuning Past 80%

Will depend on your data
Lots of Tuning Help Available
Tuning Past 80%

Will depend on your data
Lots of Tuning Help Available
      ●
          High Performance MySQL – Schwartz et al
      ●
          MySQL Administrator's Bible – Cabral
Tuning Past 80%

Will depend on your data
Lots of Tuning Help Available
      ●
          High Performance MySQL – Schwartz et al
      ●
          MySQL Administrator's Bible – Cabral
      ●
          Effective MySQL series – Bradford
      ●
          OurSQL podcast
Tuning Past 80%

Will depend on your data
Lots of Tuning Help Available
      ●
          High Performance MySQL – Schwartz et al
      ●
          MySQL Administrator's Bible – Cabral
      ●
          Effective MySQL series – Bradford
      ●
          OurSQL podcast
      ●
          Performance forum on Forums.MySQL.Com
      ●
          Planet.MySQL.com & MySQL.Com
Tuning Past 80%

Will depend on your data
Lots of Tuning Help Available
      ●
         High Performance MySQL – Schwartz et al
       ●
         MySQL Administrator's Bible – Cabral
      – Effective MySQL series – Bradford
       ●
         OurSQL podcast
       ●
         Performance forum on Forums.MySQL.Org
       ●
         Planet.MySQL.com & MySQL.com
Skilled DBA
Tuning Past 80%

Will depend on your data
Lots of Tuning Help Available
      ●
          High Performance MySQL – Schwartz et al
      ●
          MySQL Administrator's Bible – Cabral
      ●
          OurSQL podcast
      ●
          Performance forum on Forums.MySQL.Org
      ●
          Planet.MySQL.COM & MySQL.Com
Skilled DBA
      ●
          Defined as obsessive professional looking to save
          nanoseconds off queries, possess current backups,
          helps developers rewrite queries, plans for future,
          and watches buffer hits rates compulsively.
Big hint

Seek to optimize the system as a whole. Often the
database is blamed for systemic slowness when
other components are at fault.
General Last hints

SQL                                 Mysqld
      ●
          Fetch needed data              ●
                                             Pay attention to
          only, no SELECT *                  new technologies,
      ●
          Use EXPLAIN                        updates
      ●
          Think in data sets, not
                                         ●
                                             Know which
          nested loops                       buffers are per-
                                             session, global
      ●
          Set benchmark times
                                         ●
                                             Do not ignore log
      ●
          Use smallest data
                                             files
          type possible
      ●
          Rewrite subqueries to
          joins
MySQL Connect Conference
      st    The Call for Proposals (CFP)
Sept 21 -   for MySQL Connect 2013 is
  rd        now open. Conference
23 in San   attendees want to hear the
            best ideas from MySQL
Francisco   experts from around the
            globe: developers,
            visionaries, customers,
            partners. Proposals must be
            submitted by April 12, so
            don’t wait to develop the
            content that only you know—
            and that MySQL attendees
            want to hear.
MySQL Marinate!

 Virtual self-study of MySQL through the Boston
               MySQL Users Group (
       http://www.meetup.com/mysqlbos/)

   http://www.meetup.com/Virtual-Tech-Self-
            Study/events/84103332/
Q&A
David.Stokes@oracle.com - slideshare.net/davestokes

More Related Content

What's hot

Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Perform...
Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Perform...Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Perform...
Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Perform...Severalnines
 
RAID, Replication, and You
RAID, Replication, and YouRAID, Replication, and You
RAID, Replication, and YouGreat Wide Open
 
SSD based storage tuning for databases
SSD based storage tuning for databasesSSD based storage tuning for databases
SSD based storage tuning for databasesAngelo Rajadurai
 
Build MySQL virtual enviroment
Build MySQL virtual enviromentBuild MySQL virtual enviroment
Build MySQL virtual enviromentTaras Vasylyuk
 
2018 Infortrend EonStor GSe Pro Family Introduction
2018 Infortrend EonStor GSe Pro Family Introduction2018 Infortrend EonStor GSe Pro Family Introduction
2018 Infortrend EonStor GSe Pro Family Introductioninfortrendgroup
 
2018 Infortrend All Flash Arrays Introduction (GS3025A)
2018 Infortrend All Flash Arrays Introduction (GS3025A)2018 Infortrend All Flash Arrays Introduction (GS3025A)
2018 Infortrend All Flash Arrays Introduction (GS3025A)infortrendgroup
 
Ganeti Hands-on Walk-thru (part 2) -- LinuxCon 2012
Ganeti Hands-on Walk-thru (part 2) -- LinuxCon 2012Ganeti Hands-on Walk-thru (part 2) -- LinuxCon 2012
Ganeti Hands-on Walk-thru (part 2) -- LinuxCon 2012Lance Albertson
 
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2John Heaton
 
Setting up Storage Features in Windows Server 2012
Setting up Storage Features in Windows Server 2012Setting up Storage Features in Windows Server 2012
Setting up Storage Features in Windows Server 2012Lai Yoong Seng
 
How to Install Gluster Storage Platform
How to Install Gluster Storage PlatformHow to Install Gluster Storage Platform
How to Install Gluster Storage PlatformGlusterFS
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storageMarian Marinov
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622Todd Deshane
 
MySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployerMySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployerGiuseppe Maxia
 
Creating desktop for gaming
Creating desktop for gamingCreating desktop for gaming
Creating desktop for gamingJaimin Thakkar
 

What's hot (20)

Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Perform...
Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Perform...Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Perform...
Webinar slides: The Holy Grail Webinar: Become a MySQL DBA - Database Perform...
 
RAID, Replication, and You
RAID, Replication, and YouRAID, Replication, and You
RAID, Replication, and You
 
SSD based storage tuning for databases
SSD based storage tuning for databasesSSD based storage tuning for databases
SSD based storage tuning for databases
 
Build MySQL virtual enviroment
Build MySQL virtual enviromentBuild MySQL virtual enviroment
Build MySQL virtual enviroment
 
2018 Infortrend EonStor GSe Pro Family Introduction
2018 Infortrend EonStor GSe Pro Family Introduction2018 Infortrend EonStor GSe Pro Family Introduction
2018 Infortrend EonStor GSe Pro Family Introduction
 
2018 Infortrend All Flash Arrays Introduction (GS3025A)
2018 Infortrend All Flash Arrays Introduction (GS3025A)2018 Infortrend All Flash Arrays Introduction (GS3025A)
2018 Infortrend All Flash Arrays Introduction (GS3025A)
 
Ganeti Hands-on Walk-thru (part 2) -- LinuxCon 2012
Ganeti Hands-on Walk-thru (part 2) -- LinuxCon 2012Ganeti Hands-on Walk-thru (part 2) -- LinuxCon 2012
Ganeti Hands-on Walk-thru (part 2) -- LinuxCon 2012
 
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
Virtualization VM VirtualBox + Oracle Enterprise Linux With Oracle 11GR2
 
Introduction
IntroductionIntroduction
Introduction
 
Setting up Storage Features in Windows Server 2012
Setting up Storage Features in Windows Server 2012Setting up Storage Features in Windows Server 2012
Setting up Storage Features in Windows Server 2012
 
Radius
RadiusRadius
Radius
 
How to Install Gluster Storage Platform
How to Install Gluster Storage PlatformHow to Install Gluster Storage Platform
How to Install Gluster Storage Platform
 
MySQL on ZFS
MySQL on ZFSMySQL on ZFS
MySQL on ZFS
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storage
 
ZFS Talk Part 1
ZFS Talk Part 1ZFS Talk Part 1
ZFS Talk Part 1
 
ZFS
ZFSZFS
ZFS
 
Scale2014
Scale2014Scale2014
Scale2014
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622
 
MySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployerMySQL NDB 8.0 clusters in your laptop with dbdeployer
MySQL NDB 8.0 clusters in your laptop with dbdeployer
 
Creating desktop for gaming
Creating desktop for gamingCreating desktop for gaming
Creating desktop for gaming
 

Viewers also liked

Introduction To Navicat MySql GUI
Introduction To Navicat MySql GUIIntroduction To Navicat MySql GUI
Introduction To Navicat MySql GUIchadrobertson75
 
MySQL Database System Hiep Dinh
MySQL Database System Hiep DinhMySQL Database System Hiep Dinh
MySQL Database System Hiep Dinhwebhostingguy
 
The care and feeding of a MySQL database
The care and feeding of a MySQL databaseThe care and feeding of a MySQL database
The care and feeding of a MySQL databaseDave Stokes
 
DATABASE PROJECT
DATABASE PROJECTDATABASE PROJECT
DATABASE PROJECTabdul basit
 
Introducing the MySQL Workbench CASE tool
Introducing the MySQL Workbench CASE toolIntroducing the MySQL Workbench CASE tool
Introducing the MySQL Workbench CASE toolAndrás Bögöly
 
MN691 Assignment 3 - Final Report 2
MN691 Assignment 3 - Final Report 2MN691 Assignment 3 - Final Report 2
MN691 Assignment 3 - Final Report 2Abi Reddy
 
Recipe Database Project Management
Recipe Database Project ManagementRecipe Database Project Management
Recipe Database Project Managementformalforker
 
Grocery Station- Database Management System Project
Grocery Station- Database Management System ProjectGrocery Station- Database Management System Project
Grocery Station- Database Management System ProjectTapan Desai
 
SQL Server database project ideas - Top, latest and best project ideas final ...
SQL Server database project ideas - Top, latest and best project ideas final ...SQL Server database project ideas - Top, latest and best project ideas final ...
SQL Server database project ideas - Top, latest and best project ideas final ...Team Codingparks
 
Assignment 1 of Database (MySQL & Sqlite3)
Assignment 1 of Database (MySQL & Sqlite3) Assignment 1 of Database (MySQL & Sqlite3)
Assignment 1 of Database (MySQL & Sqlite3) Aey Unthika
 
Distributed blood bank management system database
Distributed blood bank management system databaseDistributed blood bank management system database
Distributed blood bank management system databaseSaimunur Rahman
 
Java Based RFID Attendance Management System Graduation Project Presentation
Java Based RFID Attendance Management System Graduation Project PresentationJava Based RFID Attendance Management System Graduation Project Presentation
Java Based RFID Attendance Management System Graduation Project PresentationIbrahim Abdel Fattah Mohamed
 

Viewers also liked (20)

EC Database System
EC Database SystemEC Database System
EC Database System
 
Introduction To Navicat MySql GUI
Introduction To Navicat MySql GUIIntroduction To Navicat MySql GUI
Introduction To Navicat MySql GUI
 
Mysql grand
Mysql grandMysql grand
Mysql grand
 
MySQL Database System Hiep Dinh
MySQL Database System Hiep DinhMySQL Database System Hiep Dinh
MySQL Database System Hiep Dinh
 
The care and feeding of a MySQL database
The care and feeding of a MySQL databaseThe care and feeding of a MySQL database
The care and feeding of a MySQL database
 
Chapter 4 Structured Query Language
Chapter 4 Structured Query LanguageChapter 4 Structured Query Language
Chapter 4 Structured Query Language
 
DATABASE PROJECT
DATABASE PROJECTDATABASE PROJECT
DATABASE PROJECT
 
Introducing the MySQL Workbench CASE tool
Introducing the MySQL Workbench CASE toolIntroducing the MySQL Workbench CASE tool
Introducing the MySQL Workbench CASE tool
 
MN691 Assignment 3 - Final Report 2
MN691 Assignment 3 - Final Report 2MN691 Assignment 3 - Final Report 2
MN691 Assignment 3 - Final Report 2
 
Mysql workbench 5
Mysql workbench 5Mysql workbench 5
Mysql workbench 5
 
Recipe Database Project Management
Recipe Database Project ManagementRecipe Database Project Management
Recipe Database Project Management
 
Fitness center
Fitness centerFitness center
Fitness center
 
MYSQL
MYSQLMYSQL
MYSQL
 
Php with MYSQL Database
Php with MYSQL DatabasePhp with MYSQL Database
Php with MYSQL Database
 
Grocery Station- Database Management System Project
Grocery Station- Database Management System ProjectGrocery Station- Database Management System Project
Grocery Station- Database Management System Project
 
SQL Server database project ideas - Top, latest and best project ideas final ...
SQL Server database project ideas - Top, latest and best project ideas final ...SQL Server database project ideas - Top, latest and best project ideas final ...
SQL Server database project ideas - Top, latest and best project ideas final ...
 
MySQL Database with phpMyAdmin
MySQL Database with  phpMyAdminMySQL Database with  phpMyAdmin
MySQL Database with phpMyAdmin
 
Assignment 1 of Database (MySQL & Sqlite3)
Assignment 1 of Database (MySQL & Sqlite3) Assignment 1 of Database (MySQL & Sqlite3)
Assignment 1 of Database (MySQL & Sqlite3)
 
Distributed blood bank management system database
Distributed blood bank management system databaseDistributed blood bank management system database
Distributed blood bank management system database
 
Java Based RFID Attendance Management System Graduation Project Presentation
Java Based RFID Attendance Management System Graduation Project PresentationJava Based RFID Attendance Management System Graduation Project Presentation
Java Based RFID Attendance Management System Graduation Project Presentation
 

Similar to Congratsyourthedbatoo

PhpTek Ten Things to do to make your MySQL servers Happier and Healthier
PhpTek Ten Things to do to make your MySQL servers Happier and HealthierPhpTek Ten Things to do to make your MySQL servers Happier and Healthier
PhpTek Ten Things to do to make your MySQL servers Happier and HealthierDave Stokes
 
Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009) Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009) PostgreSQL Experts, Inc.
 
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsLinuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsDave Stokes
 
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsProper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsDave Stokes
 
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...Dave Stokes
 
Tx lf propercareandfeedmysql
Tx lf propercareandfeedmysqlTx lf propercareandfeedmysql
Tx lf propercareandfeedmysqlDave Stokes
 
Oracle Performance On Linux X86 systems
Oracle  Performance On Linux  X86 systems Oracle  Performance On Linux  X86 systems
Oracle Performance On Linux X86 systems Baruch Osoveskiy
 
My sql with enterprise storage
My sql with enterprise storageMy sql with enterprise storage
My sql with enterprise storageCaroline_Rose
 
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...Ernie Souhrada
 
Open Source Data Deduplication
Open Source Data DeduplicationOpen Source Data Deduplication
Open Source Data DeduplicationRedWireServices
 
Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)MongoDB
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOSEric Saxby
 
Performance Whack A Mole
Performance Whack A MolePerformance Whack A Mole
Performance Whack A Moleoscon2007
 
Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016Colin Charles
 
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 DatabasesDave Stokes
 
OSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin CharlesOSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin CharlesNETWAYS
 
Tuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy WorkloadTuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy WorkloadMarius Adrian Popa
 
Understanding RAID Levels (RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5)
Understanding RAID Levels (RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5)Understanding RAID Levels (RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5)
Understanding RAID Levels (RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5)Raid Data Recovery
 
Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment StrategiesMongoDB
 

Similar to Congratsyourthedbatoo (20)

PhpTek Ten Things to do to make your MySQL servers Happier and Healthier
PhpTek Ten Things to do to make your MySQL servers Happier and HealthierPhpTek Ten Things to do to make your MySQL servers Happier and Healthier
PhpTek Ten Things to do to make your MySQL servers Happier and Healthier
 
Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009) Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009)
 
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsLinuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
 
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsProper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
 
Five steps perform_2009 (1)
Five steps perform_2009 (1)Five steps perform_2009 (1)
Five steps perform_2009 (1)
 
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
 
Tx lf propercareandfeedmysql
Tx lf propercareandfeedmysqlTx lf propercareandfeedmysql
Tx lf propercareandfeedmysql
 
Oracle Performance On Linux X86 systems
Oracle  Performance On Linux  X86 systems Oracle  Performance On Linux  X86 systems
Oracle Performance On Linux X86 systems
 
My sql with enterprise storage
My sql with enterprise storageMy sql with enterprise storage
My sql with enterprise storage
 
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
All Your IOPS Are Belong To Us - A Pinteresting Case Study in MySQL Performan...
 
Open Source Data Deduplication
Open Source Data DeduplicationOpen Source Data Deduplication
Open Source Data Deduplication
 
Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)Deployment Strategies (Mongo Austin)
Deployment Strategies (Mongo Austin)
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOS
 
Performance Whack A Mole
Performance Whack A MolePerformance Whack A Mole
Performance Whack A Mole
 
Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016Tuning Linux for your database FLOSSUK 2016
Tuning Linux for your database FLOSSUK 2016
 
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
 
OSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin CharlesOSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin Charles
 
Tuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy WorkloadTuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy Workload
 
Understanding RAID Levels (RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5)
Understanding RAID Levels (RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5)Understanding RAID Levels (RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5)
Understanding RAID Levels (RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5)
 
Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment Strategies
 

More from Dave Stokes

Json within a relational database
Json within a relational databaseJson within a relational database
Json within a relational databaseDave Stokes
 
Database basics for new-ish developers -- All Things Open October 18th 2021
Database basics for new-ish developers  -- All Things Open October 18th 2021Database basics for new-ish developers  -- All Things Open October 18th 2021
Database basics for new-ish developers -- All Things Open October 18th 2021Dave Stokes
 
Php & my sql - how do pdo, mysq-li, and x devapi do what they do
Php & my sql  - how do pdo, mysq-li, and x devapi do what they doPhp & my sql  - how do pdo, mysq-li, and x devapi do what they do
Php & my sql - how do pdo, mysq-li, and x devapi do what they doDave Stokes
 
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...Dave Stokes
 
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitMySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitDave Stokes
 
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptJavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptDave Stokes
 
Open Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational DatabaseOpen Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational DatabaseDave Stokes
 
Dutch PHP Conference 2021 - MySQL Indexes and Histograms
Dutch PHP Conference 2021 - MySQL Indexes and HistogramsDutch PHP Conference 2021 - MySQL Indexes and Histograms
Dutch PHP Conference 2021 - MySQL Indexes and HistogramsDave Stokes
 
Validating JSON -- Percona Live 2021 presentation
Validating JSON -- Percona Live 2021 presentationValidating JSON -- Percona Live 2021 presentation
Validating JSON -- Percona Live 2021 presentationDave Stokes
 
Midwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesMidwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesDave Stokes
 
Data Love Conference - Window Functions for Database Analytics
Data Love Conference - Window Functions for Database AnalyticsData Love Conference - Window Functions for Database Analytics
Data Love Conference - Window Functions for Database AnalyticsDave Stokes
 
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...Dave Stokes
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesDave Stokes
 
Confoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & HistogramsConfoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & HistogramsDave Stokes
 
Datacon LA - MySQL without the SQL - Oh my!
Datacon LA - MySQL without the SQL - Oh my! Datacon LA - MySQL without the SQL - Oh my!
Datacon LA - MySQL without the SQL - Oh my! Dave Stokes
 
MySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentationMySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentationDave Stokes
 
MySQL 8.0 Operational Changes
MySQL 8.0 Operational ChangesMySQL 8.0 Operational Changes
MySQL 8.0 Operational ChangesDave Stokes
 
cPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven FeaturescPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven FeaturesDave Stokes
 
A Step by Step Introduction to the MySQL Document Store
A Step by Step Introduction to the MySQL Document StoreA Step by Step Introduction to the MySQL Document Store
A Step by Step Introduction to the MySQL Document StoreDave Stokes
 
Discover The Power of NoSQL + MySQL with MySQL
Discover The Power of NoSQL + MySQL with MySQLDiscover The Power of NoSQL + MySQL with MySQL
Discover The Power of NoSQL + MySQL with MySQLDave Stokes
 

More from Dave Stokes (20)

Json within a relational database
Json within a relational databaseJson within a relational database
Json within a relational database
 
Database basics for new-ish developers -- All Things Open October 18th 2021
Database basics for new-ish developers  -- All Things Open October 18th 2021Database basics for new-ish developers  -- All Things Open October 18th 2021
Database basics for new-ish developers -- All Things Open October 18th 2021
 
Php & my sql - how do pdo, mysq-li, and x devapi do what they do
Php & my sql  - how do pdo, mysq-li, and x devapi do what they doPhp & my sql  - how do pdo, mysq-li, and x devapi do what they do
Php & my sql - how do pdo, mysq-li, and x devapi do what they do
 
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...
 
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitMySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
 
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptJavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScript
 
Open Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational DatabaseOpen Source World June '21 -- JSON Within a Relational Database
Open Source World June '21 -- JSON Within a Relational Database
 
Dutch PHP Conference 2021 - MySQL Indexes and Histograms
Dutch PHP Conference 2021 - MySQL Indexes and HistogramsDutch PHP Conference 2021 - MySQL Indexes and Histograms
Dutch PHP Conference 2021 - MySQL Indexes and Histograms
 
Validating JSON -- Percona Live 2021 presentation
Validating JSON -- Percona Live 2021 presentationValidating JSON -- Percona Live 2021 presentation
Validating JSON -- Percona Live 2021 presentation
 
Midwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesMidwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL Features
 
Data Love Conference - Window Functions for Database Analytics
Data Love Conference - Window Functions for Database AnalyticsData Love Conference - Window Functions for Database Analytics
Data Love Conference - Window Functions for Database Analytics
 
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...
 
Confoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New FeaturesConfoo 2021 -- MySQL New Features
Confoo 2021 -- MySQL New Features
 
Confoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & HistogramsConfoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & Histograms
 
Datacon LA - MySQL without the SQL - Oh my!
Datacon LA - MySQL without the SQL - Oh my! Datacon LA - MySQL without the SQL - Oh my!
Datacon LA - MySQL without the SQL - Oh my!
 
MySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentationMySQL Replication Update - DEbconf 2020 presentation
MySQL Replication Update - DEbconf 2020 presentation
 
MySQL 8.0 Operational Changes
MySQL 8.0 Operational ChangesMySQL 8.0 Operational Changes
MySQL 8.0 Operational Changes
 
cPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven FeaturescPanel now supports MySQL 8.0 - My Top Seven Features
cPanel now supports MySQL 8.0 - My Top Seven Features
 
A Step by Step Introduction to the MySQL Document Store
A Step by Step Introduction to the MySQL Document StoreA Step by Step Introduction to the MySQL Document Store
A Step by Step Introduction to the MySQL Document Store
 
Discover The Power of NoSQL + MySQL with MySQL
Discover The Power of NoSQL + MySQL with MySQLDiscover The Power of NoSQL + MySQL with MySQL
Discover The Power of NoSQL + MySQL with MySQL
 

Recently uploaded

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

Congratsyourthedbatoo

  • 1. The Proper Care and Feeding of a MySQL Database for Linux Administrators Dave Stokes MySQL Community Manager David.Stokes@Oracle.Com
  • 2. Congratulations! You're the new Linux Admin AND the MySQL DBA too! Dave Stokes MySQL Community Manager David.Stokes@Oracle.Com @stoker
  • 3. 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.
  • 4. Simple Introduction This is a general introduction to running a MySQL database server(s) for Linux Administrator
  • 5. Simple Introduction This is a general introduction to running a MySQL database server(s) for Linux Administrator Database servers have needs different than SMTP, HTTP, or other servers
  • 6. Simple Introduction This is a general introduction to running a MySQL database server(s) for Linux Administrator Database servers have needs different than SMTP, HTTP, or other servers Hardware choices are critical! (do not go cheap)
  • 7. Simple Introduction This is a general introduction to running a MySQL database server(s) for Linux Administrator Database servers have needs different than SMTP, HTTP, or other servers Hardware choices are critical! (do not go cheap) Tuning to 80% efficiency is relatively easy
  • 8. Simple Introduction This is a general introduction to running a MySQL database server(s) for Linux Administrator Database servers have needs different than SMTP, HTTP, or other servers Hardware choices are critical! (do not go cheap) Tuning to 80% efficiency is relatively easy (last 20% is tricky)
  • 9. Session Overview 1. Basics of a database server 2. Hardware 3. MySQL Configuration 4. Monitoring Operations 5. Backups 6. Replication 7. Indexes 8. Tuning 9. Q/A
  • 10. How does a Database server work Client Server SELECT phone FROM friends WHERE name = ‘Joe’;
  • 11. How does a Database server work Client Server SELECT phone FROM friends PARSE WHERE name = ‘Joe’; find Joe in friends table in memory return phone
  • 12. How does a Database server work Client Server SELECT phone FROM friends PARSE WHERE name = ‘Joe’; find Joe in friends ... table in memory Process phone data return phone
  • 13. How does a Database server work Client Server SELECT phone FROM friends PARSE WHERE name = ‘Joe’; find Joe in friends ... table in memory Process phone data return phone What was that about memory???
  • 14. Rule #1 • Databases love data in memory
  • 15. Rule #1 • Databases love data in memory Corollary #1 – getting data in/out of memory will cause you nightmares!
  • 16. What if it is not in memory? MySQL OS Please give me the data from the city table
  • 17. What if it is not in memory? MySQL OS Please give me the Get inode data from the city table
  • 18. What if it is not in memory? MySQL OS Please give me the Get inode data from the city Ask disk for data table
  • 19. What if it is not in memory? MySQL OS Please give me the Get inode data from the city Ask disk for data table Get data into buffer
  • 20. What if it is not in memory? MySQL OS Please give me the Get inode data from the city Ask disk for data table Get data into buffer Hand buffer off Load data into memory
  • 21. What if it is not in memory? MySQL OS Please give me the Get inode data from the city Ask disk for data table Get data into buffer Hand buffer off Much longer than Load data into just reading from memory memory
  • 22. Rule #2 Databases have to do unpredictable queries, random I/O, and sequential scans so slow I/O kills performance
  • 23. Buffers What happens when you read a file into memory Disk Page User DISK Controller Cache Buffer
  • 24. Buffers Memory Lookup – 100 nanoseconds, 12GB/sec Disk Page User DISK Controller Cache Buffer
  • 25. Buffers Memory Lookup – 100 nanoseconds, 12GB/sec DISK seek – 10 milliseconds, 760MB/sec Disk Page User DISK Controller Cache Buffer
  • 26. Disk Reads A disk read is 100,000 slower than reading memory ● For comparison – 100,000 minutes is about 69.5 days – 100,000 feet is about 19 miles – 100,000 kilometers is 15.7 times around Earth's equator
  • 27. Cache Writeback and writethrough caches Disk DISK Controller Writethrough on disk Writethrough on controller
  • 28. Cache Recommended setup Disk DISK Controller Writethrough on disk Writeback on controller
  • 29. SSD Use standard RAID controller ● SSD as writeback cache ● Battery backed ● $2.5/GB verses .075/GB ● Very fast seek time ● Density
  • 30. Hardware recommendations 1. Memory – lots of it, ecc
  • 31. Hardware recommendations 1. Memory – lots of it, ecc 2. DISKs – more spindles, high speed, fast controllers, RAID 10, write back cache, and XFS/ZFS/ext4 not ext2/3
  • 32. Hardware recommendations 1. Memory – lots of it, ecc 2. DISKs – more spindles, high speed, fast controllers, RAID 10, write back cache, and XFS/ZFS/ext4 not ext2/3 3. Write-through caches with battery backup units for disks must be monitored, and have life span much longer than planned outages
  • 33. Hardware recommendations 1. Memory – lots of it, ecc 2. DISKs – more spindles, high speed, fast controllers, RAID 10, write back cache, and XFS/ZFS/ext4 not ext2/3 3. Write-through caches with battery backup units for disks must be monitored, and have life span much longer than planned outages 4. CPUs, Core less important (spend money on Memory and IO)
  • 34. Quick Security Warning! MySQL login security is primitive. ● Database mysql has users table ● 'jsmith'@'co.com' or 'fred'@'10.10.%' – Matches host, then user, then password fields ● Be explicit ● Proxy and Pluggable logins on the way MySQL privilege security ● GRANT functions or access ● Can get Byzantine quickly ● Use a GUI
  • 35. When root is the root of your root problem OR stingy is your best friend Linux server has root MySQL daemon has ● Highly privileged root ● Dangerous ● Highly privileged ● Dangerous ● Understand MySQL priv system and be stingy ● Proxy and plug-in adapters soon ● Really limit Linux root is not the same as MySQL access, not just root but both can be dangerous to you!!! play at it
  • 36. Installation 1. Use pre built MySQL packages
  • 37. Installation 1. Use pre built MySQL packages 2. Don’t double up with other services
  • 38. Installation 1. Use prebuilt MySQL packages 2. Don’t double up with other services 3. Supplied configuration files are OLD!
  • 39. Installation 1. Use prebuilt MySQL packages 2. Don’t double up with other services 3. Supplied configuration files are OLD! 4. Move logs to different disk than data
  • 40. Installation 1. Use prebuilt packages 2. Don’t double up with other services 3. Supplied configuration files are OLD! 4. Move logs to different disk than data 5. Spread data over different drives
  • 41. Installation 1. Use prebuilt packages 2. Don’t double up with other services 3. Supplied configuration files are OLD! 4. Move logs to different disk than data 5. Spread data over different drives 6. Backups are necessary – and practice recovery!
  • 42. Monitoring Operations 1. Slow query log -- not all long running queries are bad
  • 43. Monitoring Operations 1. Slow query log -- not all long running queries are bad 2. Log queries not using indexes
  • 44. Monitoring Operations 1. Slow query log -- not all long running queries are bad 2. Log queries not using indexes 3. Use monitoring software – MEM, Innotop, Cacti, Munin, Nagios, etc – and pay attention to it
  • 46. Monitoring Operations 1. Slow query log -- not all long running queries are bad 2. Log queries not using indexes 3. Use monitoring software – MEM, Innotop, Cacti, Munin, Nagios, etc – and pay attention to it 4. More in tuning ….
  • 47. Backups Backups are usually some sort of disk snap shot or serializing data to a file
  • 48. Backups Backups are usually some sort of disk snap shot or serializing data to a file The more the better but you need to know steps to recover dropped table, lost databases, or mangled data
  • 49. Backups Backups are usually some sort of disk snap shot or serializing data to a file The more the better but you need to know steps to recover dropped table, lost databases, or mangled data. Use data replication to a slave and then backup slave
  • 50. Backups Backups are usually some sort of disk snap shot or serializing data to a file The more the better but you need to know steps to recover dropped table, lost databases, or mangled data. Use data replication to a slave and then backup slave Be paranoid!!!!!
  • 51. Replication Replication for MySQL is the binary log for the master being copied to a slave. The slave then updates its copy of the data
  • 52. Replication Replication for MySQL is the binary log for the master being copied to a slave. The slave then updates its copy of the data Two types: 1. Asynchronous – server does not check changes sent to slave before proceeding
  • 53. Replication Replication for MySQL is the binary log for the master being copied to a slave. The slave then updates its copy of the data Two types: 1. Asynchronous – server does not check changes sent to slave before proceeding 2. Semi Synchronous – server checks that slave received changes before proceeding
  • 54. Replication -- threads Currently single threaded – 5.6 will fix that
  • 55. Replication -- network Network latency will affect MySQL replication. So plan network topology to minimize bandwidth competition with other systems/services.
  • 56. Replication -- network Network latency will affect MySQL replication. So plan network topology to minimize bandwidth competition with other systems/services. Slaves do not need to be as fast as the master but try to keep things reasonably close
  • 57. Replication -- network Network latency will affect MySQL replication. So plan network topology to minimize bandwidth competition with other systems/services. Slaves do not need to be as fast as the master but try to keep things reasonably close Do not have to replicate all tables/databases to all slaves. Cut down on traffic by replicating what is needed!
  • 58. MySQL Database Replication Enables Scalability Application Load Balancer Writes & Reads Reads Reads MySQL Replication • Write to one master • Read from many slaves, easily add more as needed • Perfect for read/write intensive apps
  • 59. Indexes are good Without Index With Index DB needs to scan DB can go right to entire table or table record scan
  • 60. Indexes, the bad • Overhead -- space, speed, maintenance
  • 61. Indexes, the bad • Overhead -- space, speed, maintenance • Not a panacea – does not cure all problems
  • 62. Indexes, the bad • Overhead -- space, speed, maintenance • Not a panacea – does not cure all problems • Will not help if you need to perform a table scan
  • 63. Indexes, the bad • Overhead -- space, speed, maintenance • Not a panacea – does not cure all problems • Will not help if you need to perform a table scan • Composite indexes can be tricky – YearMonthDay usually better than DayMonthYear
  • 64. Tuning to 80% • Use InnoDB
  • 65. Tuning to 80% • Use InnoDB • Set innodb_buffer_pool_size to 70- 80% of memory
  • 66. Tuning to 80% • Use InnoDB • Set innodb_buffer_pool_size to 70- 80% of memory • Use XFS/ZFS/ext4
  • 67. Tuning to 80% • Use InnoDB • Set innodb_buffer_pool_size to 70- 80% of memory • Use XFS/ZFS/ext4 • Partition data -- divide and conquer
  • 68. Tuning to 80% • Use InnoDB • Set innodb_buffer_pool_size to 70- 80% of memory • Use XFS/ZFS/ext4 • Partition data -- divide and conquer • Architect your data
  • 69. Tuning to 80% • Use InnoDB • Set innodb_buffer_pool_size to 70- 80% of memory • Use XFS/ZFS/ext4 • Partition data -- divide and conquer • Architect your data • Review your SQL statements
  • 70. Don't hurt yourself Some RAID controllers have a battery learning cycle when BBU goes write-back. Schedule during off-time! Minimize time for most frequent queries Keep on top of upgrades - 5.5 20% faster than 5.1
  • 71. Tuning Past 80% Will depend on your data
  • 72. Tuning Past 80% Will depend on your data Lots of Tuning Help Available
  • 73. Tuning Past 80% Will depend on your data Lots of Tuning Help Available ● High Performance MySQL – Schwartz et al ● MySQL Administrator's Bible – Cabral
  • 74. Tuning Past 80% Will depend on your data Lots of Tuning Help Available ● High Performance MySQL – Schwartz et al ● MySQL Administrator's Bible – Cabral ● Effective MySQL series – Bradford ● OurSQL podcast
  • 75. Tuning Past 80% Will depend on your data Lots of Tuning Help Available ● High Performance MySQL – Schwartz et al ● MySQL Administrator's Bible – Cabral ● Effective MySQL series – Bradford ● OurSQL podcast ● Performance forum on Forums.MySQL.Com ● Planet.MySQL.com & MySQL.Com
  • 76. Tuning Past 80% Will depend on your data Lots of Tuning Help Available ● High Performance MySQL – Schwartz et al ● MySQL Administrator's Bible – Cabral – Effective MySQL series – Bradford ● OurSQL podcast ● Performance forum on Forums.MySQL.Org ● Planet.MySQL.com & MySQL.com Skilled DBA
  • 77. Tuning Past 80% Will depend on your data Lots of Tuning Help Available ● High Performance MySQL – Schwartz et al ● MySQL Administrator's Bible – Cabral ● OurSQL podcast ● Performance forum on Forums.MySQL.Org ● Planet.MySQL.COM & MySQL.Com Skilled DBA ● Defined as obsessive professional looking to save nanoseconds off queries, possess current backups, helps developers rewrite queries, plans for future, and watches buffer hits rates compulsively.
  • 78. Big hint Seek to optimize the system as a whole. Often the database is blamed for systemic slowness when other components are at fault.
  • 79. General Last hints SQL Mysqld ● Fetch needed data ● Pay attention to only, no SELECT * new technologies, ● Use EXPLAIN updates ● Think in data sets, not ● Know which nested loops buffers are per- session, global ● Set benchmark times ● Do not ignore log ● Use smallest data files type possible ● Rewrite subqueries to joins
  • 80. MySQL Connect Conference st The Call for Proposals (CFP) Sept 21 - for MySQL Connect 2013 is rd now open. Conference 23 in San attendees want to hear the best ideas from MySQL Francisco experts from around the globe: developers, visionaries, customers, partners. Proposals must be submitted by April 12, so don’t wait to develop the content that only you know— and that MySQL attendees want to hear.
  • 81. MySQL Marinate! Virtual self-study of MySQL through the Boston MySQL Users Group ( http://www.meetup.com/mysqlbos/) http://www.meetup.com/Virtual-Tech-Self- Study/events/84103332/