AUTHOR'S MAIN SITE  »  OVERVIEW: client/ server work.
Delicious.Com Bookmark this on Delicious    StumbleUpon.Com Recommend to StumbleUpon

SQL- a database language; MySQL- database server

This page is "browser friendly". Make your browser window as wide as you want it. The text will flow nicely for you. It is easier to read in a narrow window. With most browsers, pressing plus, minus or zero while the control key (ctrl) is held down will change the texts size. (Enlarge, reduce, restore to default, respectively.) (This is fully explained, and there are more tips, at my Power Browsing page.)

Page contents © TK Boyd, Sheepdog Software, 3/13-6/15.



SQL/ MySQL... many things. We will eventually speak of setting up, using, a MySQL server

When you (or software you are controlling) "talk" to a MySQL server, the server "expects" your requests to arrive in a particular "language". The rules of what the server will "understand" are, as with such things in most computer contexts, strict.

"MySQL" is the name of a good database server. The nearly- the- same word "SQL" is, primarily, the language used to communicate with MySQL servers, and other servers which respond to SQL commands.

I'm not going to say very much about the language here. There are many good resources on the web. Some words from the language will come up, but only a few "get you started" commands, which we will encounter in getting a MySQL server up and running.

I will, however, point out, that many, many people use the SQL language every day, even without having anything to do with a MySQL server! Other databases are often designed to "understand" things which are also allowed in communications with a MySQL server. Open Office's "Base" database responds to SQL commands, for one.

====================

There are many skills you need to acquire before you will be ready for the material on this page.

I should also mention that in this page, I am going to be moving towards setting up a MySQL server for the use of a user or users who wish to use Open Office's "Base" database as their front end for accessing the data held and served by the MySQL server.

The page you are reading is quite long enough already, even though it doesn't go into the details of how you do all the setting up. I hope one day to write that page too. (This page lists the steps, along the way.) For now, take the time to get a good idea of what you are going to need to do, and consider my suggestions about the order you should "climb the mountain". The how can come later.

The information will probably help other users, too... but it will be most directly useful to the class of users indicated.

If you are coming at "How can I set up a MySQL server?" from a different direction, it might almost pay you to set up Open Office on your machine, do your first "playing" with your MySQL server that way, so you can exactly follow my guide. You can always tackle whatever issues remain, the issues particular to using the front end you wished to use, later... after you understand running the MySQL server you want to connect to.

That assumes that you have a reasonable grasp of using databases, in general. Get that grasp before attempting to set up a MySQL server!I have an introduction to "simple" Open Office Base database work which gets about 5,000 hits a week... it may be that it is not too shabby.

Before the following information will be of much use to you, you need to have a good idea of what "clients" and "servers" are. I've written a page about client/ server computing... a broad overview.

Sometimes it is important to find out what something is supposed to be for. Just because you think, say, that a hammer is for putting screws into wood doesn't mean that it is.

If you have a reasonable grasp of "simple" database work, the following statement of what you can do with a MySQL server may be useful:

With a MySQL server, your database tables reside "inside" the server. The definitions of the database's queries, forms and reports reside with the client.

The client presents a query to the server (the query passes from client to server, and is processed by server). The resulting temporary "table" of data, prepared in the server, is then passed back to the client, for whatever use the client's operator had for that data.

Similarly, a form will reside with the client. When the user wants to see data from a table (or tables), the user invokes the form, and that causes a connection to the server. The user's screen fills with what the form requires, the structure being determined by the form, from the client, and the data being determined by what is in the tables, which are "in" the server.



Just before turning to a suggested "roadmap" for getting your own MySQL server up and running, I'm going to briefly mention a strange chimera.

If you use 1and1.com (or 1and1.co.uk) to host web pages for you, and if you are using a Linux hosting package.... don't worry... your PC can be Windows or Mac. More on this "if you are using" thing in a moment... then there's a way for you to use a MySQL server which you may have wondered about. (I'm sure that 1and1 are not the only web hosts to offer this, but it is the one I know about, and they are, after all, a major player.

"If you are using a Linux hosting package..." If your account admin page... if you can find your way around it!... speaks of MySQL databases allowed as part of your package, then you are on Linux package. (If you aren't on one already, and aren't doing other fancy things, give 1and1 a call... they may be able to just switch you over. They did me, anyway, years ago.)

(Skip ahead at any point to the major heading "Install MySQL".)

So... you're with 1and1. You have a Linux package. How do you use your allocated MySQL databases? With difficulty, it seemed to me for many, many years, despite periodic attempts to "crack" the problem.

You cannot connect to your 1and1 MySQL databases with an Open Office front end. (Or by any other external ODBC connector.) (That's not me being feeble: It says that on the 1and1 website.)

You can create databases! You can create tables in the databases. And you can enter and modify the records in the tables.

All of those "you can..."s can be accomplished with the phpMyAdmin front end, which you access by first logging into your 1and1 account with your browser, and then going to they databases page. Create a database, and then "go into it" via the phpMyAdmin button to the right of the new database's name.

Fine. You can set up the database. But what's it good for, if you can't "connect"??

Well, one thing you can do is create web pages which can, automatically, draw data from the database, and display it (the data) as part of the web page.

That's hardly full MySQL functionality... but it might do what you want to do? I have posted a "How To" for that, with a demo, for you.

If you know of essential equivalent services available from other web hosts, I would be glad to know the name of the hosting service.

And now, at last...




A suggested sequence of installation

As suggested above, start by being sure you have a good Open Office installation up and running, and that you can "drive" it, at well enough to create a table, create a form, use the form to put data in the table or modify the data.

I revisted thes notes 24 Jun 15, and set up a new instance of MySQL, on a modest laptop running Windows 7, Home Premium. At that time, OO 4.1.1 was current.

Once you've got all that running smoothly....

Install MySQL

Start by installing it just on the machine you have the Open Office on, unless you are pretty confident in your skills and experience.

If you are working towards a MySQL server accessible to all of the computers on your LAN, or maybe even from the WAN, starting with the server and client on one PC maybe a slight waste of energy, but it is a more "do-able" first step than the alternative.

The alternative is to install MySQL on whichever machine is going to be the ultimate repository for your MySQL installation and the databases it is going to serve.

Of course, for some, you may have no lofty ambitions about having the MySQL server available beyond the machine you have the Open Office in. Or, you may be intending to have two separate MySQL set ups, and deal with any "migrating" you intend to do by other means.

The "modest" ambitions are not so modest as to represent an un-usable system, by the way. But as I've started this guide, I might as well take it as far as I can.

If you are really ONLY interested in having access to a MySQL machine, on one computer, the same computer where the Open Office front end will be run, then you are probably going to be entirely happy with just installing MySQL, which you can get from http://dev.MySQL.com.

If, on the other hand, you think that being able to access the MySQL server from multiple PCs, across your LAN, and maybe even from some beyond your own LAN, i.e. remotely, from "out there" "on the internet", then you will probably eventually re-do the installation in a "special" PC, set aside (at least mostly) for server duties. And if that is your eventual goal, do consider very seriously using a WAMP (or LAMP) package for the purpose.

But! Just to get started, unless, as I said, you are very confident: Probably best to start with just a MySQL server, just on your local PC. There's "a bit" of stuff to learn. Do you REALLY want to be contending with the other issues, when you are just getting to grips with these things?

I have put a blow-by-blow guide to setting up a MySQL server in a separate page for you. Guides to using it follow on.



Going beyond MySQL on one machine

The next goal I would recommend is using your MySQL server from another computer, elsewhere on the same LAN as the one your server resides in.

That really shouldn't be a huge step. You will just add the server computer's LIPA in addition to whatever you used to connect to the server previously. You may have to "do things" with your firewalls and anti-malware software to get things working. (The firewalls and anti-malware in both of the concerned computers, and maybe your router as well!)

To infinity (well, the internet)... but not beyond...

The final stage, once you have got working everything necessary for the earlier stages!... is to make your server accessible from outside your LAN, via an internet connection.

There's not actually much "MySQL stuff" involved in doing that. The remote client will connect (almost) exactly as he or she does when connecting to the server across the LAN. However, now, instead of connecting via something like "192.168.0.150", the connection will be via something like "MyServer.com". (Unless you want to buy the rights to "MyServer.com", you are going to be using something less elegant. For instance your URL might be "MyServerJoeSmith.dyndns.org"

I said you don't have much "MySQL stuff" to attend to. But you will have to arrange a DDNS service. And do some more fire wall tweaking. And tell your router about your wants. Etc. But... it can be done, and if you have already taken care of as many of the other ingredients as possible... like knowing how to run Open Office's Base... then you should not have too much trouble getting to the summit.

Not a trivial exercise

If you hadn't worked it out yet, let me tell you: If you just want a database to keep your Christmas Card mailing list in... you don't need all the overheads of MySQL.

But... if you have a want, or if you enjoy a challenge, then there's a lot of fun to be had "making it work". And there are free, multi-platform, well supported, mature software packages out there for you to work (or "play"!) with.




Although THIS page doesn't really deserve it yet, I have put the following button in as part of the page building process. Have you heard of Flattr? Great new idea to make it easy for you to send small thank you$ to people who provide Good Stuff on the web. If you want to send $$erious thank yous, there are better ways, but for a small "tip" here and there, Flattr ticks a lot of boxes which no one else has found a way to do yet. Please at least check out my introduction to Flattr, if you haven't heard of it? "No obligation", as they say!





Editorial Philosophy

I dislike 'fancy' websites more concerned with a flashy appearance than for good content. For a pretty picture, I can go to an art gallery. Not everyone has fast broadband.

I present this material in a format aimed at to helping you USE it. There are two aspects to that: The way it is split up, and the way it is posted..

Please remember the material is copyright. (TK Boyd, 2006 and later) The procedures in the page just cited are suggested only for convenient personal use of the material, however, also....

Feel free to use this information in computer courses, etc, but a credit of the source, quoting the URL, would be appreciated. If you simply copy the pages to other web pages you will do your readers a disservice: Your copies won't stay current. Far better to link to the original pages, and then your readers will see up-to-date versions. For those who care- thank you. I have posted a page with more information on what copyright waivers I extend, and suggestions for those who wish to put this material on CDs, etc. (There is at least one prison using Sheepdog Software/ Sheepdog Guides material for inmate education. Situations do exist where good internet connections are not possible!)

Translations are welcomed. Tell me about yours, so I can post links to it. (More information at the page about copyright waivers.)




Ad from page's editor: Yes.. I do enjoy compiling these things for you... I hope they are helpful. However.. this doesn't pay my bills!!! If you find this stuff useful, (and you run an MS-DOS or Windows PC) please visit my freeware and shareware page, download something, and circulate it for me? Links on your page to this page would also be appreciated!

PLEASE >>> Click here to visit editor's Sheepdog Software (tm) freeware, shareware pages <<< PLEASE


If you liked this tutorial, see my main webpage for more things from the same author.

Editor's email address. Suggestions welcomed!     - - -    Want a site hosted, or email? I like 1&1's services.




Valid HTML 4.01 Transitional Page WILL BE tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org. Mostly passes. There were two "unknown attributes" in Google+ button code. Sigh.


One last bit of advice: Be sure you know all you need to about spyware.

. . . . . P a g e . . . E n d s . . . . .