Presentation is loading. Please wait.

Presentation is loading. Please wait.

Www.brianhitchcock.net MySQL Would You Like Some Transactions With That Table?

Similar presentations


Presentation on theme: "Www.brianhitchcock.net MySQL Would You Like Some Transactions With That Table?"— Presentation transcript:

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.


Download ppt "Www.brianhitchcock.net MySQL Would You Like Some Transactions With That Table?"

Similar presentations


Ads by Google