How do I install the MySQL database server under Redhat Enterprise Linux 4 / 5 / 6?

You can install mysql using any one of the following medium.

a) Install MySQL package using RHN or CentOS repo.

b) Install MySQL rpms from CD/DVD media.

Red Hat Enterprise Linux install Mysql database server

Type the following command to install mysql server using the RHN or CentOS repo:

Redhat Enterprise Linux – RHEL 5 / 6 MySQL installation

Type the following command as root user:
# yum install mysql-server mysql

Redhat Enterprise Linux – RHEL 4/3 MySQL installation

Type the following command as root user:
# up2date mysql-server mysql

Start MySQL Service

To start the mysql server type the following command:
# chkconfig mysqld on
# /etc/init.d/mysqld start

Setup the mysql root password

Type the following command to setup a password for root user:
# mysqladmin -u root password NEWPASSWORD

Test the mysql connectivity

Type the following command to connect to MySQL server:
$ mysql -u root -p

Configure the mysql server

Edit /etc/my.cnf, enter (please note that following are sample values, you need to adjust them as per your requirements):
# vi /etc/my.cnf
You can configure mysql query cache as follows (add in [mysqld] section) to speed up mysql:

query_cache_type               = 1
query_cache_limit              = 1M
query_cache_size               = 32M

You can setup MyISAM buffer size and recover options:

# For MyISAM #
key_buffer_size                = 24M
myisam_recover                 = FORCE,BACKUP

Log slow queries for troubleshooting as follows:

log_queries_not_using_indexes  = 1
slow_query_log                 = 1
slow_query_log_file            = /var/lib/mysql/mysqld-slow-query.log

Set caches and other limits as follows:

tmp_table_size                 = 32M
max_heap_table_size            = 32M
max_connections                = 500
thread_cache_size              = 50
open_files_limit               = 65535
table_definition_cache         = 4096
table_open_cache               = 512

Save and close the file. You can reload or restart the changes as follows:
# /sbin/service mysqld restart
# /sbin/service mysqld reload

See also

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 43 comments so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersncdu pydf
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
43 comments… add one
  • prof.swati vishnu Nov 17, 2007 @ 8:55

    how to install mysql on Redhat Enterprise Linux 5?

    • piyush Mar 27, 2011 @ 15:50

      create a yum in rhel 5 and then install the sql package using the following command

      yum install mysql-*

  • dot22 Jul 22, 2008 @ 13:23

    MySQL installation

    Type the following command as root user:
    # yum *install * mysql-server mysql

  • 🐧 nixCraft Jul 22, 2008 @ 19:47


    Thanks for the heads up.

  • phan tom Aug 24, 2008 @ 6:16
  • Andrew Nov 5, 2008 @ 11:19

    Create ~/.my.cnf with this content:


  • Matt Dec 1, 2008 @ 21:39

    How to Install MySQL rpm from CD/DVD ?
    i can’t use RHN

    • Masthan Oct 13, 2010 @ 5:10

      put ur Dvd/cd
      login into server
      #mount /dev/dvd /mnt
      #cd /mnt
      show the details login into server
      mnt#cd Server
      Server#rpm -ivh mysql

  • chandrashekar Apr 1, 2009 @ 12:18

    thank u very much for the information its very useful for my application.

  • MONY Apr 28, 2009 @ 10:29

    I want install MySQL from DVD but I can’t install MySQL .
    I use command “yum install mysql -server mysql” . It is show message

    Loading “securityW plugin
    Loading “rhnplugin” plugin
    This system is not registered with RHN.
    RHN support will be disabled.
    Setting up Install Process
    Parsing package install arguments
    No package mysql -server available.
    No package mysql available.
    Nothing to do

    What command is to use intall MySQL ? Please tell me .
    Thank you

    • rajesh Apr 11, 2011 @ 6:56

      1.Create YUM locally and than execute yum install mysql* it won’t need any internet connection. And will solve all dependency.
      If will go for Manuall RPM installation than it would be a hectic task to solve dependency.

    • el Nov 9, 2012 @ 16:58

      Hi Mony,

      you can disable the gpgchek in /etc/yum.repos.d/yourrepo.
      after that you run again command
      yum repolist. or you can read my blog in section create local repository.
      Maybe it could help you.

  • anuj May 1, 2009 @ 9:54

    after installation what shoul we do to configure my sql

  • khalifah May 27, 2009 @ 4:13

    hello there?

    where can i download themes for ubuntu?

    anyone please help me

  • selnikraj Sep 2, 2009 @ 4:41

    when am starting mysql

    [nik@localhost ~]$ mysql -u root -p
    Enter password:
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

    its giving like this

    and also

    [nik@localhost ~]$ mysql
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

    what will the problem and what will be ans to recover it please help m,e

  • Laxman Sep 2, 2009 @ 15:56

    When you don’t remember root password and enter a wrong password, you will get the following MySQL error message.
    # mysql -u root mysql
    ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
    1. Stop MySQL Server
    As a first step, stop the mysql server using one of the following method.
    # service mysql stop


    # /etc/rc.d/init.d/mysql stop
    2. Add –skip-grant-tables to mysqld_safe Startup Command
    Open the mysql startup script and add -skip-grant-tables as shown below.
    # vi /etc/rc.d/init.d/mysql

    Old Line: $bindir/mysqld_safe –datadir=$datadir –pid-file=$server_pid_file $other_args >/dev/null 2>&1 &

    New Line: $bindir/mysqld_safe –skip-grant-tables –datadir=$datadir –pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
    3. Start MySQL Server With –skip-grant-tables
    Start the mysql server with skip-grant-tables option, which will allow anybody to login to mysql without entering a password.
    # service mysql start
    Starting MySQL. [ OK ]
    [Note: This is using the updated /etc/rc.d/init.d/mysql script]
    4. Login Using MySQL Root User Without Entering Password
    Since you’ve skipped the grant table, this time when you try to login to mysql, it will not ask for password.
    # mysql -u root mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.1.25-rc-community MySQL Community Server (GPL)

    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.


    [Note: MySQL did not ask for any password]

  • Laxman Sep 2, 2009 @ 15:58

    Fix: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

    if you are new to installing mysql server you might probably face this error quite often if you type mysql in the shell prompt.

    > mysql
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

    To fix:

    First start the mysql daemon, then type mysql

    > /etc/init.d/mysqld start
    > mysql

    Bingo! It worked for me!

    To update mysql root password

    mysql> USE mysql;
    mysql> UPDATE user SET Password=PASSWORD(‘new-password’) WHERE user=’root’;

    To add a new user to mysql

    1. First login as root then create a database ‘demo’

    > mysql -u root -p
    Enter password:
    mysql> create database demo;

    After that create a new user named ‘guest’ with password ‘guest’ with all previleges assigned to demo database;

    mysql> GRANT ALL PRIVILEGES ON mytest.* TO ‘guest’@’localhost’ IDENTIFIED BY ‘guest’ WITH GRANT OPTION;

    Then exit mysql and connect through username guest;
    That should work!

  • kakembo Nov 20, 2009 @ 16:56

    i try to use yum install and it gives this message that says “Existing lock /var/run/ another copy is running as pid 3406.
    Another app is currently holding the yum lock; waiting for it to exit…”
    what can i do to make thing right.
    if any help please help me.

    • manjunath Aug 30, 2012 @ 14:56

      open the file with vi /var/run/ and then remove pid 3406 which is inside that.

  • Phoenix Dec 30, 2009 @ 4:35

    I used yum install mysql-server mysql and it installed great. Then I tried to start the server with this: /etc/init.d/mysqld start andd it said mysqld doesn’t exist. I should mention that I’m installing this on a work machine, running REHL5 and I don’t have root permissions. I do have sudo rights. I asked whereis MySQL and it returned 4 locations. How do I start the server or configure it so I can start it? Thanks for your help.

  • Phoenix Dec 30, 2009 @ 14:05

    I’ve actually tried every sudo start mysql command that I’ve found and not been successful. Its funny because it was no problem from my windows install but this red hat enterprise install isn’t making sense.

  • 🐧 nixCraft Dec 30, 2009 @ 14:10

    Correct syntax to start / stop / restart with sudo:
    sudo /etc/init.d/mysqld start
    sudo /etc/init.d/mysqld status
    sudo /etc/init.d/mysqld restart
    sudo /etc/init.d/mysqld stop

    sudo /sbin/service mysqld start
    What is the output of the following command?
    netstat -tulnp | grep mysql

  • Phoenix Dec 30, 2009 @ 16:17

    I did sudo netstat -tulnp | grep mysql and it went back to the prompt after requesting password. Without sudo, it said “(No info could be read for “-p”: getuid()=45717 but you should be root.)

    sudo /sbin/service mysqld start
    returned: mysqld: unrecongnized service

    sudo /etc/init.d/mysqld start
    returned: sudo: /etc/init.d/mysqld: command not found
    sudo /etc/init.d/mysqld status
    returned: sudo: /etc/init.d/mysqld: command not found
    sudo /etc/init.d/mysqld restart
    returned: sudo: /etc/init.d/mysqld: command not found
    sudo /etc/init.d/mysqld stop
    returned: sudo: /etc/init.d/mysqld: command not found

    This is my first foray into RHEL, I’ve used Ubuntu previously (about 2 years ago), and recently been running mysql/apache with XAMPP sucessfully, and that’s not a production platform (as you know). But I have a project that I would like to run on a Linux box (production), for obvious reasons (well, obvious to me). I appreciate your help with this.

  • Phoenix Dec 30, 2009 @ 19:39

    So, update – I found that I needed to install something else: mysql-devel. Now that that is there, I ran sudo /usr/bin/mysqld_safe & and that was successful. However, when I run sudo /etc/init.d/mysqld status it returns this:

    mysqld dead but subsys locked

    any suggestions?


    • 🐧 nixCraft Dec 31, 2009 @ 4:55

      /usr/bin/mysqld_safe &

      Another way to start mysql server. I suggest you reboot your box and type the same command again. It should clean up lock files. It is possible to get rid of problem online but you need to go thorugh kill, rm and other commands.

  • manjunath Mar 4, 2010 @ 8:58

    I could not get the required information about installation of MYSQL on redhat enterprise 5

  • Masthan Oct 13, 2010 @ 5:14

    How to config LDAP in redhat linux

  • shirish Nov 25, 2010 @ 11:55

    I have installed mysql on rhel 5.4
    # yum install *sql*
    * start service & create root admin password

    # /etc/init.d/mysqld restart
    # chkconfig mysqld on
    # sqladmin -u root password shirish

    am new in mysql installation.
    I want to build master slave please any one help me o this….

    nice day!!!

    Shirish Shukla

  • x-Tray Mar 30, 2011 @ 8:18

    Thank U Very Much !
    I sovled my problem with your ways !
    Thanks Again !

  • Orit Apr 5, 2011 @ 8:36

    Thanks! It worked for me :-)

  • john May 29, 2011 @ 19:04

    there i got a problem in installing orcale dba in rhel 5.4
    plz give the solution
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-05-30_03-28-30AM. Please wait …
    Error in writing to directory /tmp/OraInstall2011-05-30_03-28-30AM. Please ensure that this directory is writable and has atleast 60 MB of disk space. Installation cannot continue.

  • john May 29, 2011 @ 19:13

    hai i got error when installing oracle dba on rhel 5.4 any other steps…

    [root@rhel5 database]# ./runInstaller
    Starting Oracle Universal Installer…

    Checking installer requirements…

    Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2

    All installer requirements met.

    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-05-30_03-28-30AM. Please wait …
    Error in writing to directory /tmp/OraInstall2011-05-30_03-28-30AM. Please ensure that this directory is writable and has atleast 60 MB of disk space. Installation cannot continue.
    : No such file or directory

  • Muthukumar Jun 20, 2011 @ 16:12

    when i entered this command
    mysql -u root -p
    Enter password:
    ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

    i could not solve the issue, pls help me

  • Nandkumar Feb 6, 2012 @ 16:22

    can i have complete installation and configuration of mysql server and connectivity between client (linux as well as windows) ?

  • Disha Mar 29, 2012 @ 13:33

    1] which version for PHP,Apache and Mysql is better to install on red hat linux and fedora?

    2] when i will save the setup for all the S/w on rhel of any folder then is it right that i can type the command on terminal for the installing?

    reply me for this quesions.

  • Sharda Prasad Aug 27, 2012 @ 14:46

    Hello Sir

    i am new in the linux redhat 6.0. i install oracle 11g in my system but give lots of error
    sir can give me step by step installation information

    plz help me …

    Thank you

  • Sylvain Sep 14, 2012 @ 12:47

    Nice tuto, pretty clean and simple.

    You did a good job!

  • arun Oct 20, 2012 @ 9:47

    good stuff

  • sam Jan 18, 2013 @ 9:26

    mysql is run but hi give me error on ‘@”localhost’
    don’t create databases;

  • satish Aug 7, 2013 @ 14:28

    how to install mysql in rhel6?? what packages i need to install and from where i can download it please help me out….if possible il cm online please give anyone mail id so that i can take there support..plzzz

  • Chaitanya Mar 18, 2014 @ 7:20

    Thanks It help for configuring Mysql on RedHat Linux Enterprise 6.5

  • Chandra Shekhar Dec 22, 2014 @ 9:51

    Thanks for such a precise and simple blog.

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum