Here we go with another installation and configuration post for out local server; this time for MySQL, the well known and widely popular free database server.
In this post, we’ll learn to set-up MySQL server on our own local server and see how we can connect to it from our scripts.
Since the last few posts we have been having problems implementing data storage/retrieval from files, we thought it was the right time to start using database for that purpose. However before we can use database connectivity from our scripts, we need to install a database server, we’ve chosen My SQL. In spite of MySQL database server being free, it has proven itself time and again as the best database server around. Its free too so there is no point in us looking for anything else.
OK, let’s start by first downloading the MySQL package, you may download it directly from mysql-5.0.51b-win32.zip and unzip it to some temporary directory. You’ll be glad to know that MySQL comes in a standard Install Shield package and its installation is no different than other software. That means installing it would be a breeze. You may proceed with the ‘typical’ installation filling up the details as asked or choose the ‘custom’ installation which would require lots of information to be given hence more power and control over how it gets installed.
Please write down the ‘root’ password that you supply to the installer. That’d be needed to connect to MySQL from our scripts.
Installation of MySQL is pretty simple, after it getting installed, open the ‘php.ini’ file from the Windows directory and follow the following steps:
1. Look for a bunch of lines which look something like below:
2. Now uncomment the following lines by deleting the ‘;’ before them so that they look something like below:
3. Restart Apache.
Now MySQL has been installed and configured completely and is ready to be tested.
To test the working of MySQL create a PHP script with the following content and run it:
$db->query('create database temp');
If you don’t get any errors on running the above script then it means you’ve successfully installed MySQL server.
A little about the code:
First line sets up the connection between our script and the MySQL database server.
We are using the Object Oriented interface, so creating a new object of class mysqli or MySQL (Improved).
First argument is the host on which MySQL is installed, for local servers it is ‘localhost’. Second is the MySQL user we’re using the predefined username ‘root’ and password that we provided while installation. It’s a BAD idea to use ‘root’ account for database connection on a real web server.
MySQL understands Structured Query Language. In the second line we’re querying the MySQL to create a Database named ‘temp’, this line might probably not work on many web hosts since they require you to create Database from their own interface and not directly form MySQL.
We close the connection with MySQL in the last line.