introduction to mysql
play

Introduction to MySQL Database Systems 1 Agenda Bureaucracy - PowerPoint PPT Presentation

Introduction to MySQL Database Systems 1 Agenda Bureaucracy Database architecture overview SSH Tunneling Intro to MySQL Comments on homework 2 Homework #1 Submission date is on the website.. (No late arrivals will be


  1. Introduction to MySQL Database Systems 1

  2. Agenda  Bureaucracy…  Database architecture overview  SSH Tunneling  Intro to MySQL  Comments on homework 2

  3. Homework #1  Submission date is on the website.. (No late arrivals will be accepted)  Work should be done in pairs  Submission is done via moodle, by one of the partners.  Submit a zip file, with  an answers pdf that contains the full names and IDs of both partners on top of the page  A .sql file for every query  Use the format described in the assignment 3

  4. Project  Hard work, but practical.  Work in groups of 4  Project goal: to tackle and resolve real-life DB related development issues  One stage, with a check point in ~the middle  Use JAVA (SWT)  Thinking out of the box will be rewarded 4

  5. Agenda  Bureaucracy…  Database architecture overview  SSH Tunneling  Intro to MySQL  Comments on homework 5

  6. DB System from lecture #1 “Two tier database system” connection (ODBC, JDBC) Database server (someone else’s Applications Data files C program) 6

  7. 1,2,3 tiers 7

  8. Examples in this course Runs someone Runs a client via else’s client your code Your computer Your computer at home at home … which connects to the … which connects server on the same machine to the MySQL server on the school server machine 8

  9. Abstractly (DB) system layers may include Application DB infrastructure DB driver Transport DB engine Storage 9

  10. Why? Gui designer Tester App programmer DBA DB programmer 10

  11. Application layer Application  Why should it actually use DB infrastructure DB driver database? Transport DB engine  Persistence layer Storage  Access data storage  Interfacing between systems  Large volumes  Scalability  Redundancy 11

  12. Infrastructure layer Application  Goals: DB infrastructure DB driver  Database “hiding” Transport  Schema abstraction DB engine  Encapsulation of db mechanisms Storage  How: (In two words)  Could be a part of your application – or an external package  E.g., hibernate 12

  13. DB driver / bridge Application  Used for: DB infrastructure DB driver  API for database connectivity Transport DB engine  Protocol converter Storage  Performance improvements  Transaction management  Examples:  In a minute… 13

  14. Transport Application  Mainly TCP but not only DB infrastructure DB driver  Secure Transport DB engine  Efficient Storage  Fast (but not fast enough) 14

  15. DB engine Application  Total management of the DB DB infrastructure DB driver environment including Transport  Security DB engine Storage  Scalability  Fault tolerant (disaster management)  Monitoring  Services  Large DB engines include Microsoft SQL Server, Oracle, SyBase, MySQL, etc. 15

  16. DB engine (2) Application DB engine management includes: DB infrastructure DB driver  Databases/Tables/Fields Transport DB engine Creation/removal/modification/ Storage optimization  Connections/Users/Roles Security/monitoring/logging  Jobs/Processes/Threads Scheduling/balancing/managing 16

  17. Storage Application  NAS/SAN, Raid and other stuff DB infrastructure DB driver  We are interested in the storage-engine Transport interface DB engine Storage 17

  18. A real-life example  We want to build an image sharing Website  What is our data? 18

  19. The application Application  GUI DB infrastructure DB driver  Application-User Management Transport  Do not confuse with DB users! DB engine  Image processing Storage  And so on…  The application needs storage for the images, albums, users, tags…  Runs on the application server  E.g., your computer at home 19

  20. Infrastructure Application  This layer wraps DB infrastructure DB driver  Entities in our application (Images, Transport users,…) DB engine  Relations between entities (Image Storage creator, followers,…)  Common operations (upload/edit/delete image,…)  Some of these may be created by an automatic process  Still on the application machine 20

  21. DB driver / bridge Application  Not written by us, e.g., J connector DB infrastructure DB driver  Used by the infrastructure Transport DB engine  E.g., to upload an image we use an Storage insert command to the image table (and perhaps others)  We want the type of DB used to be configurable 21

  22. Transport Application  Our application connects to the DB infrastructure DB driver database server Transport DB engine  Over TCP/IP Storage 22

  23. DB engine Application  E.g., MySQL Community Server DB infrastructure DB driver  The db stores Transport  Our tables with the data (Images, users, etc.) DB engine Storage  Optimization components (Indexes, triggers)  Predefined operations (procedures, functions)  Executes the requests we sent  E.g., insert an image 23

  24. Storage Application  E.g., the school MySQL server DB infrastructure DB driver stores data on the school machines Transport DB engine Storage 24

  25. Agenda  Bureaucracy…  Database architecture overview  SSH Tunneling  Intro to MySQL  Comments on homework 25

  26. Connecting… You need:  Host st IP/ P/ nam ame  Port  Home install: host=localhost TAU’s server: host=mysqlsrv.cs.tau.ac.il  MySQL default port is 3306 is it t real ally ly th that at eas asy?? ?? 26

  27. Welcome to 27

  28. SSH Standard way Using Tunnel Application Application Client DB infrastructure DB infrastructure Client Machine Machine DB bridge/driver DB bridge/driver TCP proxy Transport SSH (TCP) Tunnel machine Proxy (SSH server) Machine Server TCP DB engine Machine Server DB engine Machine 28

  29. SSH in TAU Application YOUR MACHINE DB infrastructure define DB at localhost, port 3305 Db bridge/driver Putty connects to nova and proxy forward local port 3305 to mysqlsrv.cs.tau.ac.il port 3306 Tunnel machine Nova.cs.tau.ac.il (SSH server) mysqlsrv.cs.tau.ac.il DB engine 29

  30. SSH in TAU  Putty 30

  31. Don’t forget to  CHECK THE CONNECTION GUIDE!! (course website next to these slides) 31

  32. Agenda  Bureaucracy…  Database architecture overview  SSH Tunneling  Intro to MySQL  Comments on homework 32

  33. Products we will be using  MySQL (Community Server – Home)  MySQL (Enterprise Edition – TAU)  MySQL Workbench (GUI Tool..)  MySQL Connector (J) – In two weeks… Free to download on www.mysql.com 33

  34. TAU Server settings..  You can create your own user (schema) by following the connection guide link (course website..)  For the project, each group will get a dedicated user+schema 34

  35. “ Sakila ” Schema (For hw 1)  We will use the “ Sakila ” schema http://dev.mysql.com/doc/sakila/en/ Can be installed  Install and download from with the other MySQL products http://dev.mysql.com/doc/index-other.html  Already installed on TAU’s server: username: sakila Schema: a set of password: sakila tables (and views) in schema: sakila a database. Each schema has its own permissions 35

  36. MySQL Command  In the TAU System website: http://www.cs.tau.ac.il/system/searchview?search_api_views_fulltext=+mysql  How to run: http://www.cs.tau.ac.il/system/MySQLConn  mysql -u sakila -h mysqlsrv.cs.tau.ac.il sakila – p  Common commands: - “show databases;” - “show tables;” - “select.. ;”  Don’t forget the ; 36

  37. Install MySQL at Home  MySQL Community Server http://www.mysql.com/downloads/mysql/ 37

  38. Registration is Optional 38

  39. Installation using an Installer 39

  40. Configuration 40

  41. Installation using an Installer 41

  42. MySQL Workbench  Make sure to install server, workbench and examples 42

  43. Example: connecting to school server  Ope pen the e tunnel el!  Then open workbench and create new connection 43

  44. Configure the connection 44

  45. Support old authentication protocol 45

  46. Open the new connection 46

  47. Now you can query the SQL data 47

  48. … and the result 48

  49. Demo Time   Startup the Server.. 49

  50. Demo Time   Server Administration  run the local instance  create users  export/import 50

  51. Demo Time   SQL Development  browse the schema  create/alter tables  run queries  export results 51

  52. Demo Time   Install the “ sakila ” schema 52

  53. Demo Time   Data Modeling  browse / alter the schema 53

  54. phpMyAdmin 54

  55. phpMyAdmin  Another tool for managing MySQL  Installed on tau, and reachable from home without a tunnel! https://www.cs.tau.ac.il/phpmyadmin/index.php (note the https )  To install at home, download from: http://www.phpmyadmin.net/ (requires php server so its not recommended unless you are familiar with these stuff…) 55

  56. 56

  57. Agenda  Bureaucracy…  Database architecture overview  SSH Tunneling  Intro to MySQL  Comments on Homework 57

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend