How To Set Up LAMP Environment with Apache MySql and PHP : Part-2?

In our previous article (Part 1) on setting up LAMP environment, we learned how to setup apache server. Now part 2, will help you to learn how to install MySql 5.5. You just have to follow very simple steps, with YUM manager. YUM makes it really easy by avoiding the compilation process and install them easily with installing all other dependencies and also you are notified of updates.

NOTE: If Missed You may read and apply below links

Part 1- Learn To Install Apache
Part 2- Learn To Install MySql
Part 3- Learn To Install PHP 

Scenario: My Server IP is 192.168.1.188

Note: If you are a SUDO user then prefix every command with sudo, like #sudo ifconfig

Step 1: Get The Remi Repository

The most f the updated package is available under Remi repository. Install it in your system using following commands.

CentOS/RHEL 7:
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
 
CentOS/RHEL 6:
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

CentOS/RHEL 5:
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm 

Fedora 20:
# rpm -Uvh http://rpms.famillecollet.com/remi-release-20.rpm

Step 2: System Update

To ensure that every package on the server is updated. Run the following command to update package on your server

#yum update

Step 3: Install MySql

Now Type in the following command to install MySql server

#yum –enablerepo=remi install mysql mysql-server

Step 4: Start MySql

Now we have installed our MySql server and we need to start the service. the following command will start the MySql server.

#service mysqld start

After hitting above command you will see following lines

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h yourdomain.com password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!



Step 5: Securing With Password

When Mysql server is started then you need to secure with a password and you can do it by typing command generated above (I have Highlighted)

#/usr/bin/mysqladmin -u root password 'Put Your Password Here'

Soon after starting the MySql it will bind itself with localhost(127.0.0.1) on port 3306.You may see its configuration file at /etc/my.cnf. If you want to bind your public IP with MySql then you make changes in the same file. But for security, you need to add some rules in firewall for specific IP address to get connect

Step 6: MySql Server Hardening

When MySql is installed, there is some default configuration which may be the security threats. Mysql provides a script to remove few security threats known as “mysql_secure_installation”.

#mysql_secure_installation

Now give you input to text based MySql hardening script

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): <Enter Your Paaaword>
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y <Press Y if you want to change password>
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y <Press Y>
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y <Press Y>
 ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! Cleaning up...

 Step 7: Test Your Installation

When the database server is started then we can access MySql database by using MySql client through terminal with the following command

  1. Via Root Login
    #mysql -u root -p
    Enter password:

After hitting Enter button you will be asked to put in your password. Enter and password then you will get the login and you will see the MySql shell display:

Welcome to the MySQL monitor. Commands end with; or \g.
Your MySQL connection id is 4484482
Server version: 5.5.56 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Few Management Command For MySql

To stop your MySql:

#service mysqld stop

To start MySql, type:

#service mysqld start

To restart the service again, type:

# service mysqld restart

To Restart automatically when the server is rebooted:

# /sbin/chkconfig --levels 235 mysqld on

To generate a list of commands for the MySQL prompt, enter \h. You’ll then see:

# mysql>\h

Thanks for Reading, I hope this information was good enough

Part 1- Learn To Install Apache
Part 2- Learn To Install MySql
Part 3- Learn To Install PHP