Redhat Enterprise Linux (RHEL) Install and Configure MySQL Database Server

last updated in Categories , , , ,

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

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.


43 comment

    1. 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

  1. 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

    1. 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.

    2. 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.

  2. 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

  3. 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]

  4. 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!

  5. 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.

  6. 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.

  7. 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.

  8. 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

  9. 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.

  10. 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?


    1. /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.

  11. 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

  12. hai
    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.

  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

  14. Hi,
    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

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

  16. 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.

  17. 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

  18. 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

Leave a Comment