Download presentation
Presentation is loading. Please wait.
Published bySusanna Thomas Modified over 9 years ago
1
www.brianhitchcock.net MySQL Would You Like Some Transactions With That Table?
2
www.brianhitchcock.net Oct 29, 2009Page 2 Slides Are Available
3
www.brianhitchcock.net Oct 29, 2009Page 3 What Is MySQL? Most popular open source RDBMS Open source means 'free' Really? No cost at all? Widely used Sabre – airline reservations Google LinkedIn What does Oracle DBA need to know? Many differences...
4
www.brianhitchcock.net Oct 29, 2009Page 4 Why Should I Care? I'm an Oracle DBA MySQL means nothing to me It isn't a 'real' RDBMS Why should I learn about MySQL? MySQL is being used by real businesses Can't hurt your employability Many jobs expect DBA to know multiple RDBMS Why not learn one that is widely used? And it's free – you can download and install right now!
5
www.brianhitchcock.net Oct 29, 2009Page 5 Oracle DBA Perspective What will we look at? Installing Start/stop How database/tables stored Backups Transactions Storage engines
6
www.brianhitchcock.net Oct 29, 2009Page 6 My Message Compare MySQL to Oracle Not to be critical of MySQL Not to praise Oracle Make Oracle DBAs aware How much we assume about RDBMS Because Oracle does things a certain way MySQL is very different Assuming it is like Oracle can cause serious problems Does your business understand the differences? The cost of being 'free'?
7
www.brianhitchcock.net Oct 29, 2009Page 7 MySQL Versions MySQL Enterprise Have to buy support MySQL Community Edition The 'free' version MySQL Community Edition Preview Release Available for download Ready for prime time? Oracle doesn't offer 12g for trial download...
8
www.brianhitchcock.net Oct 29, 2009Page 8 MySQL Versions
9
www.brianhitchcock.net Oct 29, 2009Page 9 MySQL – Where Did It Come From? Used to store web site logs Transactions What's that? If we lose some records So what? Supported by an individual Do your own thing Recovery Not to worry, plenty more web logs every day
10
www.brianhitchcock.net Oct 29, 2009Page 10 Some Differences – MySQL/Oracle Oracle Database Schema a group of database objects Database user Maps to a database schema MySQL Server Databases Group of database objects Users don't map to database
11
www.brianhitchcock.net Oct 29, 2009Page 11 Some Differences – MySQL/Oracle Storage engines Transaction support Performance Hot backup Binary logging and recovery Table locking Corruption Misc.
12
www.brianhitchcock.net Oct 29, 2009Page 12 Storage Engines MySQL gives you a choice Oracle, all transactional all the time (OATATT) MySQL storage engines MyISAM (IBM, Indexed Sequential Access Method) Very fast read InnoDB Transactional, like Oracle Separate software, owned by Oracle Many others See next chart
13
www.brianhitchcock.net Oct 29, 2009Page 13 Storage Engines
14
www.brianhitchcock.net Oct 29, 2009Page 14 InnoDB Storage Engine Imagine mixing MyISAM, InnoDB tables in a statement What does 'transactional' mean? What does “recovery” mean?
15
www.brianhitchcock.net Oct 29, 2009Page 15 CSV Storage Engine CSV storage engine Stores data in text files Using comma-separated format
16
www.brianhitchcock.net Oct 29, 2009Page 16 Blackhole Storage Engine My favorite This is where we store all the data relating to the Raiders and their 'Commitment to Excellence'
17
www.brianhitchcock.net Oct 29, 2009Page 17 Yeah, But... No problem I'll just make all the tables InnoDB Cool, but MySQL catalog (system?) tables are MyISAM Can't change them Table storage engine can be changed at any time Privileged users No one should do this, but...stuff happens Create table syntax Supports overriding default storage engine
18
www.brianhitchcock.net Oct 29, 2009Page 18 Transaction Support MyISAM Default table type Table type of system databases Does not support transactions Example Writing to MyISAM tables and server crashes Who know what was and wasn't written to tables No recovery
19
www.brianhitchcock.net Oct 29, 2009Page 19 Performance Many large MySQL servers in use Performance must be good or good enough for 'free' Optimizer Different storage engines How to optimize statement that has MyISAM tables InnoDB tables Does it support all storage engines you are using?
20
www.brianhitchcock.net Oct 29, 2009Page 20 Hot Backup MySQL does not have this Backup option #1 Shutdown server, copy all files, startup server Backup option #2 Lock all tables Dump all data to a dump file Dump file is set of SQL to recreate database Very slow to recover Backup option #3 Buy hot backup software product Not free
21
www.brianhitchcock.net Oct 29, 2009Page 21 Binary Logging and Recovery MySQL Default, no logging You can configure binary logging Three formats Statement-based Row-based Mixed Binary log filenames have format binlog.000001, binlog.000002, etc. You must apply them in correct order
22
www.brianhitchcock.net Oct 29, 2009Page 22 MySQL Binary Logs MySQL does not have any way of knowing when replaying the binary logs which statements need to be executed and which are already committed. Oracle DBA doesn't worry about this Oracle checks and tells you which archived redo log is needed next Oracle won't allow archived redo logs to be applied out of order
23
www.brianhitchcock.net Oct 29, 2009Page 23 Binary Logging Formats
24
www.brianhitchcock.net Oct 29, 2009Page 24 Binary Log Issues
25
www.brianhitchcock.net Oct 29, 2009Page 25 Table Locking MyISAM storage engine Does not support row level locking Table locks Performance? InnoDB storage engine Supports row level locking
26
www.brianhitchcock.net Oct 29, 2009Page 26 Corruption Oracle I have rarely seen any cases But all tables support transactions MySQL What does it mean to rollback When different storage engines involved Some support transactions, some don't Some tables will be rolled back Others won't Is this corruption?
27
www.brianhitchcock.net Oct 29, 2009Page 27 MySQL Corruption Issues Good read Discusses corruption issues in MySQL engines I'm not saying this happens often But you need to be aware of these issues Another difference from Oracle Different storage engines, different corruption mechanisms http://www.mysqlperformanceblog.com/2006/07 /30/mysql-crash-recovery/
28
www.brianhitchcock.net Oct 29, 2009Page 28 MySQL Issues Misc Referential Integrity Some storage engines support Triggers Row-level, not statement-level Directload Not supported Parallel Query Not supported
29
www.brianhitchcock.net Oct 29, 2009Page 29 MySQL Issues White Paper Compares MySQL to PostgreSQL PostgreSQL, another open source RDBMS More like Oracle than MySQL Discusses issues with MySQL I'm not endorsing PostgreSQL But the whitepaper is very good Google PostgreSQL vs. MySQL A Comparison of Enterprise Suitability
30
www.brianhitchcock.net Oct 29, 2009Page 30 MySQL Table Storage MyISAM Each table has three files .frm – Data dictonary information .MYD – table data .MYI – table indexes InnoDB Data and indexes in a tablespaces Made up of one or more datafiles Sound familiar?
31
www.brianhitchcock.net Oct 29, 2009Page 31 Documentation Online
32
www.brianhitchcock.net Oct 29, 2009Page 32 Documentation Online
33
www.brianhitchcock.net Oct 29, 2009Page 33 Documentation Online
34
www.brianhitchcock.net Oct 29, 2009Page 34 Talk Is Cheap A little less conversation A little more action Download and install MySQL to your laptop now Slides show the steps Windows You will have a fully functional MySQL server Start learning right now
35
www.brianhitchcock.net Oct 29, 2009Page 35 Install MySQL – Windows Windows Vista 6.0 Service Pack 1 Screenshots shown Windows XP Professional Version 5.1 Same steps Very minor differences in what you see
36
www.brianhitchcock.net Oct 29, 2009Page 36 Downloads?
37
www.brianhitchcock.net Oct 29, 2009Page 37 Downloads?
38
www.brianhitchcock.net Oct 29, 2009Page 38 Enterprise Version
39
www.brianhitchcock.net Oct 29, 2009Page 39 Community Version
40
www.brianhitchcock.net Oct 29, 2009Page 40 Windows Downloads
41
www.brianhitchcock.net Oct 29, 2009Page 41 Windows Installation
42
www.brianhitchcock.net Oct 29, 2009Page 42 Windows Installation
43
www.brianhitchcock.net Oct 29, 2009Page 43 Windows Installation
44
www.brianhitchcock.net Oct 29, 2009Page 44 Windows Installation
45
www.brianhitchcock.net Oct 29, 2009Page 45 Windows Installation
46
www.brianhitchcock.net Oct 29, 2009Page 46 Windows Installation
47
www.brianhitchcock.net Oct 29, 2009Page 47 Windows Installation
48
www.brianhitchcock.net Oct 29, 2009Page 48 Windows Installation
49
www.brianhitchcock.net Oct 29, 2009Page 49 Windows Installation
50
www.brianhitchcock.net Oct 29, 2009Page 50 Windows Installation Uncheck
51
www.brianhitchcock.net Oct 29, 2009Page 51 Windows Installation
52
www.brianhitchcock.net Oct 29, 2009Page 52 Windows Installation Check
53
www.brianhitchcock.net Oct 29, 2009Page 53 Windows Installation
54
www.brianhitchcock.net Oct 29, 2009Page 54 Windows Installation mysql
55
www.brianhitchcock.net Oct 29, 2009Page 55 Windows Installation
56
www.brianhitchcock.net Oct 29, 2009Page 56 Accessing MySQL Windows Click Start Programs MySQL MySQL Server 5.1 MySQL Command Line Client Right-click Send to Desktop (Create Shortcut) Double-click desktop icon MySQL Command Line Client
57
www.brianhitchcock.net Oct 29, 2009Page 57 Accessing MySQL Windows mysql Shortcut created at installation
58
www.brianhitchcock.net Oct 29, 2009Page 58 mysql client utility Similar to SQL*Plus
59
www.brianhitchcock.net Oct 29, 2009Page 59 Now What? Stop, start MySQL server What databases are available show databases; Set default database use What tables are in the database show tables;
60
www.brianhitchcock.net Oct 29, 2009Page 60 Windows Vista Stop/Start Services Start Settings Control Panel System and Maintenance Administrative Tools Services Scroll down to MySQL, highlight Upper left, options for Stop, Pause, Restart If MySQL is down, option to Start
61
www.brianhitchcock.net Oct 29, 2009Page 61 Windows XP Stop/Start Command line net stop mysql, net start mysql Services Start Control Panel Administrative Tools Services Services window Scroll down to MySQL, highlight Upper left, options for Stop, Pause, Restart If MySQL is down, option to Start
62
www.brianhitchcock.net Oct 29, 2009Page 62
63
www.brianhitchcock.net Oct 29, 2009Page 63
64
www.brianhitchcock.net Oct 29, 2009Page 64 System Databases INFORMATION_SCHEMA Catalog database MYSQL database User and privilege information TEST For you to play in... These databases are created at installation
65
www.brianhitchcock.net Oct 29, 2009Page 65 MySQL Server Configuration Controlled by 'option' file(s) Similar to Oracle pfile or spfile SHOW VARIABLES See current values Standard location(s) Search order One of the most common problems Persons don't know where these files are Make changes that don't take affect Can't find the file or files
66
www.brianhitchcock.net Oct 29, 2009Page 66 Option File(s) MySQL searches multiple locations Uses most recent value of each parameter How to know all files being scanned by MySQL? mysql –help Note: dash dash help
67
www.brianhitchcock.net Oct 29, 2009Page 67 Option File
68
www.brianhitchcock.net Oct 29, 2009Page 68 Option File
69
www.brianhitchcock.net Oct 29, 2009Page 69 Option File
70
www.brianhitchcock.net Oct 29, 2009Page 70 Option File
71
www.brianhitchcock.net Oct 29, 2009Page 71 Option File
72
www.brianhitchcock.net Oct 29, 2009Page 72 MySQL Filesystem Layout From option file (my.ini) basedir Where software is stored datadir Where table data is stored
73
www.brianhitchcock.net Oct 29, 2009Page 73 MySQL basedir
74
www.brianhitchcock.net Oct 29, 2009Page 74 MySQL basedir/bin
75
www.brianhitchcock.net Oct 29, 2009Page 75 MySQL datadir
76
www.brianhitchcock.net Oct 29, 2009Page 76 MySQL Log Files General Query Log All client requests Binary Log Statements that modify data Slow Query Log Statements that take longer than 10 seconds Error Log Server messages
77
www.brianhitchcock.net Oct 29, 2009Page 77 MySQL Log Files Find log file locations
78
www.brianhitchcock.net Oct 29, 2009Page 78 Summary MySQL is 'free' May need other products to make it work for you Hot backup for example MySQL is widely used MySQL is very different from Oracle DBA tasks and issues will be different MySQL is not better or worse than Oracle Just very different
79
www.brianhitchcock.net Oct 29, 2009Page 79 The End? You now have a MySQL server installed No excuses Learn it, live it, love it Update your resume Next? Multiple MySQL servers on same machine Replication etc.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.