CentOS Linux 5/6 Install Mysql Database Server

by on December 2, 2012 · 5 comments· LAST UPDATED December 4, 2013

in , , ,

How do I install MySQL database server on CentOS Linux version 5 or version 6 using command line options? How do I configuring MySQL server on CentOS Linux?

You need to install the following packages on CentOS Linux:
Tutorial details
DifficultyEasy (rss)
Root privilegesYes
Requirementsyum/Centos/ssh
Estimated completion time15m

  1. mysql-server : The MySQL server and related files
  2. mysql : MySQL client programs and shared libraries

Additionally, you may need to install the following packages to access mysql using various programming languages:

  1. php-mysql : A module for PHP applications that use MySQL databases.
  2. perl-DBD-MySQL : A MySQL interface for perl.
  3. MySQL-python : An interface to MySQL.

How to install MySQL on CentOS

To install mysql server type the following yum command:
# yum install mysql-server mysql
Sample outputs:

 
Loaded plugins: downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.einstein.yu.edu
 * extras: mirrors.loosefoot.com
 * updates: yum.singlehop.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql.x86_64 0:5.1.71-1.el6 will be installed
---> Package mysql-server.x86_64 0:5.1.71-1.el6 will be installed
--> Processing Dependency: perl-DBI for package: mysql-server-5.1.71-1.el6.x86_64
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server-5.1.71-1.el6.x86_64
--> Processing Dependency: perl(DBI) for package: mysql-server-5.1.71-1.el6.x86_64
--> Running transaction check
---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be installed
---> Package perl-DBI.x86_64 0:1.609-4.el6 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
===================================================================
 Package             Arch        Version           Repository
                                                              Size
===================================================================
Installing:
 mysql               x86_64      5.1.71-1.el6      base      893 k
 mysql-server        x86_64      5.1.71-1.el6      base      8.6 M
Installing for dependencies:
 perl-DBD-MySQL      x86_64      4.013-3.el6       base      134 k
 perl-DBI            x86_64      1.609-4.el6       base      705 k
 
Transaction Summary
===================================================================
Install       4 Package(s)
 
Total download size: 10 M
Installed size: 29 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): mysql-5.1.71-1.el6.x86_64.rpm        | 893 kB     00:00
(2/4): mysql-server-5.1.71-1.el6.x86_64.rpm | 8.6 MB     00:01
(3/4): perl-DBD-MySQL-4.013-3.el6.x86_64.rp | 134 kB     00:00
(4/4): perl-DBI-1.609-4.el6.x86_64.rpm      | 705 kB     00:00
-------------------------------------------------------------------
Total                              4.2 MB/s |  10 MB     00:02
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : perl-DBI-1.609-4.el6.x86_64                     1/4
  Installing : perl-DBD-MySQL-4.013-3.el6.x86_64               2/4
  Installing : mysql-5.1.71-1.el6.x86_64                       3/4
  Installing : mysql-server-5.1.71-1.el6.x86_64                4/4
  Verifying  : perl-DBD-MySQL-4.013-3.el6.x86_64               1/4
  Verifying  : mysql-server-5.1.71-1.el6.x86_64                2/4
  Verifying  : mysql-5.1.71-1.el6.x86_64                       3/4
  Verifying  : perl-DBI-1.609-4.el6.x86_64                     4/4
 
Installed:
  mysql.x86_64 0:5.1.71-1.el6  mysql-server.x86_64 0:5.1.71-1.el6
 
Dependency Installed:
  perl-DBD-MySQL.x86_64 0:4.013-3.el6
  perl-DBI.x86_64 0:1.609-4.el6
 
Complete!

Import CentOS Mysql server files and ports

  1. Mysql server config file: /etc/my.cnf
  2. Mysql default tcp port: 3306 (TCP/UDP)
  3. Mysql server log file: /var/log/mysqld.log
  4. Mysql database storage directory: /var/lib/mysql/
  5. Mysql rc script to start/stop/restart server: /etc/init.d/mysqld {start|stop|restart|reload|status|try-restart}

Howto configure MySQL on CentOS Linux

First, turn on mysql service, type the following chkconfig command:
# chkconfig mysqld on

Howto start / stop / restart mysql server on CentOS Linux

Use any one of the following command to start / stop / restart the mysql server:
# service mysqld start
# service mysqld restart
# service mysqld stop

OR
# /etc/init.d/mysqld start
# /etc/init.d/mysqld stop
# /etc/init.d/mysqld restart

Sample outputs:

Fig.01: Starting / stopping / restarting the mysql server on centos

Fig.01: Starting / stopping / restarting the mysql server on centos

Set the root user password

The root user is mysql admin user. By default there is no password assigned to the root user. Use the following command to set a new password for the root user:
# mysqladmin -u root password NEWPASSWORD
See how to Change/update the root password for mysqld for more information.

Configure mysqld via /etc/my.cnf config file

Edit /etc/my.cnf, enter:
# vi /etc/my.cnf
Sample default config file:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 

Mysql CentOS Linux firewall configuration

Edit /etc/sysconfig/iptables file, enter:
# vi /etc/sysconfig/iptables
Append the following code open tcp port 3306 on CentOS base server:

-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 3306 -j ACCEPT

Save and close the file. To restart the firewall on CentOS/RHEL, enter:
# service iptables restart
See CentOS / Redhat Iptables Firewall Configuration Tutorial for more information.

How do I view mysql server logs?

To see server error log use the following tail command:
# tail -f /var/log/mysqld.log
Sample outputs:

131202 11:44:41 [Note] /usr/libexec/mysqld: Shutdown complete
131202 11:44:41 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
131202 11:44:41 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
131202 11:44:41  InnoDB: Initializing buffer pool, size = 8.0M
131202 11:44:41  InnoDB: Completed initialization of buffer pool
131202 11:44:41  InnoDB: Started; log sequence number 0 44233
131202 11:44:41 [Note] Event Scheduler: Loaded 0 events
131202 11:44:41 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.71'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Source distribution

How do I connect to mysql server?

Use the mysql command line as follows:
$ mysql -u USER-NAME-HERE -p'PASSWORD-HERE'
$ mysql -u USER-NAME-HERE -p'PASSWORD-HERE' -h 'SERVER-NAME-HOST-NAME-HERE'
$ mysql -u USER-NAME-HERE -p'PASSWORD-HERE' -h 'SERVER-NAME-HOST-NAME-HERE' DB-NAME_HERE
$ mysql -u root -p

Sample outputs:

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.71 Source distribution
 
Copyright (c) 2000, 2013, 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>
 

What next?

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!
This entry is 1 of 5 in the CentOS Linux MySQL Server Tutorial series. Keep reading the rest of the series:
  1. CentOS install Mysql database server
  2. CentOS install MySQL client only
  3. MySQL Create a user accounts
  4. MySQL Create a database & tables and data
  5. Reinstall MySQL On Linux

{ 5 comments… read them below or add one }

1 duc December 13, 2013 at 10:09 pm

Straightforward guide. Thanks mate :)

Reply

2 pm February 5, 2014 at 7:53 pm

or if the user should’t be asked again about password -p password
use:

mysql -u USER-NAME-HERE “-pPASSWORD-HERE”

instead of

mysql -u USER-NAME-HERE -p’PASSWORD-HERE’
password>

Reply

3 Siddhesh June 24, 2014 at 6:10 pm

Nice artile thanks a lot !!

Reply

4 Wrong Info November 22, 2014 at 4:34 pm

Hey, guys. I’m afraid but this is not quite right information, because of the yum installation part. If you do so, you will install ‘mariadb’. I haven’t used it, therefore, I cannot tell you it is good or not, but I can say it’s not MySQL.

Reply

5 Wrong Info November 22, 2014 at 4:40 pm

but, both are perfectly comparative(an article says)..
you can see the right info for mariadb by typing
yum info mariadb

Reply

Leave a Comment

Tagged as: , , ,

Previous Faq:

Next Faq: