AUTHOR'S MAIN SITE  »  OVERVIEW: client/ server work.

SQL- a database language / MySQL- a free database server

Filename: s0MySql.htm

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, 3/13-5/20, Sheepdog Software.



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. Both the LibreOffice and OpenOffice's databases responds to SQL commands.

I hope the mention of a server wasn't too scary? Servers can be big monsters, requiring a professional team of technicians... but you can have a MySQL server running in an ordinary laptop. I'll show you how in this page.

But read the whole page before you start. At the bottom I ask if you actually want to set up a MySQL server on your machine. You certainly don't need to, to use LibreOffice or OpenOffice Base.



Setting up your own MySQL server is not really something for a database novice.

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 LibreOffice or OpenOffice's "Base" database as their front end for accessing the data held and served by the MySQL server. I doubt there will be much information that is valid only for that group of users, but it is only for them that the information is "guaranteed". (Even there, you are hearing from "the one eyed king", who merely hopes to ease the task of people who know even less than he does.)

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. This page lists the steps of the process. Later in this page, there's a link to my Doing The Setting Up guide.

First, 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 use to "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 LibreOffice or OpenOffice 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" LibreOffice or OpenOffice Base database work which gets many hits every week... it may be that it is not too shabby.

If you could be more clear on "What, in general, is a database server?", the link will take you to notes on that, via a new tab. Just close it, and you will be back here.

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 "Client/ server computing... a broad overview" in hopes of helping you with that.

Have you heard of "services"? Don't worry, if you haven't. If you have, all we'll be doing here is adding a service to the environment of your computer. Worried about a performance cost? You can have the system boot without the service running, and start and stop it as needed.

I offer pages with help on the basics of "servers and services", and, for the intermediate user, some specifics about starting and stopping services under Windows. (The first as a link to the second.) Both will open in new tabs. Just close them, and you will be back here.

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. Remember, in a simple case, all of the following is happening inside a single ordinary PC. There's nothing grand going on. Think of the "client" and "server" as being two "rooms" inside the computer. You aren't afraid to have, say, a browser and a wordprocessor running concurrently, are you? No. Having a client and a server running concurrently is not any fancier.

IMPORTANT STUFF:

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.

>p>(End of Important Stuff. Re-read those paragraphs.)



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 Ionos.com (or .co.uk) (once known as "1 and 1") 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 Ionos 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.

You can tell you are using a Linux hosting package by looking at your account admin page. If it speaks of MySQL databases allowed as part of your package, then you are on a Linux package. (If you aren't on one already, and aren't doing other fancy things, give Ionos 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 Ionos. 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 Ionos MySQL databases with an LibreOffice or OpenOffice front end. (Or by any other external ODBC connector.) (That's not me being feeble: It says that on the Ionos 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 Ionos 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 essentially equivalent services available from other web hosts, I would be glad to know the name of the hosting service. If you know a hosting service (that doesn't cost a lot!) that lets you have a MySQL (or similar) database on their servers which you can access with LibreOffice or OpenOffice Base as your front end, I'd be delighted to hear from you.

And now, at last...




A suggested sequence of installation

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

I revisited these notes 24 June 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.

I revisited it again in May 2020, locked down in the Days Of Covid, using Open Office (vers 4.1.6) Base under Windows 10. In May 2020, I installed MySQL 8.0. It appeared that at that time, for Windows, only a 32-bit version of MySQL was available, so I went with that, despite being on a 32-bit machine, with a 32-bit Office.

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

Install MySQL

Start by installing it just on the machine you have the LibreOffice or OpenOffice 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 LibreOffice or OpenOffice 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 LibreOffice or OpenOffice 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 would 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.

Then, HURRAH, you are "done"....

.. "done" with the long (-ish, unless you have my guide to whisk you through it!) process of "set up". After that, it is a breeze to start any new, on- your- MySQL database server database! And to use it. (When using it, you will hardly know you aren't using the embedded database engine.

Once you are set up, all you need is in my guide to using an established MySQL server to host and process a database, with LibreOffice Base as your front end.



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 LibreOffice or OpenOffice'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.



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. Details at my page about how the material is split up and how 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!)




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 freeware, shareware pages <<< please !  



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

To email this page's editor, Tom Boyd.... Editor's email address. Suggestions welcomed! Please cite "s0MySql.htm".







Search across all of my sites with a Google search button. There's one on another of my pages. (It's at the top of the page the link will take you to.)

Or...

Use this to search THIS site.... (Go to my other sites, below, and use their search buttons if you want to search them.)

index sitemap advanced
search engine by freefind

Site Map    What's New    Search

The search engine merely looks for the words you type, so....
*    Spell them properly.
*    Don't bother with "How do I get rich?" That will merely return pages with "how", "do", "I"....

Please also note that I have two other sites, and that this search will not include them. They have their own search buttons.

My SheepdogSoftware.co.uk site.

My site at Arunet.

Valid HTML 4.01 Transitional Page has been tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org. Mostly passes.

AND passes... Valid CSS!

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