Skip to main content

Installing MySQL Server 5.5.30 or later and 5.6.x versions on Red Hat Enterprise Linux 6 or CentOS 6

You must install MySQL Server 5.5.30 or later and 5.6.x version on your host system before installing or upgrading the Tiebreaker software.

  1. Log in as root to the host system.

    Example

    login as: root
    root@mcctb's password:
    Last login: Fri Jan 8 21:33:00 2016 from host.domain.com

  2. Add the MySQL repository to your host system: [root@mcctb ~]# yum localinstall https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm

    Example

    Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
    Setting up Local Package Process
    Examining /var/tmp/yum-root-LLUw0r/mysql-community-release-el6-5.noarch.rpm: mysql-community-release-el6-5.noarch
    Marking /var/tmp/yum-root-LLUw0r/mysql-community-release-el6-5.noarch.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package mysql-community-release.noarch 0:el6-5 will be installed
    --> Finished Dependency Resolution
    Dependencies Resolved
    ================================================================================
    Package Arch Version
    Repository Size
    ================================================================================
    Installing:
    mysql-community-release
    noarch el6-5 /mysql-community-release-el6-5.noarch 4.3 k
    Transaction Summary
    ================================================================================
    Install 1 Package(s)
    Total size: 4.3 k
    Installed size: 4.3 k
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Installing : mysql-community-release-el6-5.noarch 1/1
    Verifying : mysql-community-release-el6-5.noarch 1/1
    Installed:
    mysql-community-release.noarch 0:el6-5
    Complete!


  3. Disable the mysql 57 repository: [root@mcctb ~]# yum-config-manager --disable mysql57-community
  4. Enable the mysql 56 repository: [root@mcctb ~]# yum-config-manager --enable mysql56-community
  5. Enable the repository: [root@mcctb ~]# yum repolist enabled | grep "mysql.*-community.*"

    Example

    mysql-connectors-community           MySQL Connectors Community            21
    mysql-tools-community MySQL Tools Community 35
    mysql56-community MySQL 5.6 Community Server 231

  6. Install the MySQL Community server: [root@mcctb ~]# yum install mysql-community-server

    Example

    Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
    This system is not registered to Red Hat Subscription Management. You can use subscription-manager
    to register.
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ....Output truncated....
    ---> Package mysql-community-libs-compat.x86_64 0:5.6.29-2.el6 will be obsoleting
    --> Finished Dependency Resolution
    Dependencies Resolved
    ==================================================================================================
    Package Arch Version Repository Size
    ==================================================================================================
    Installing:
    mysql-community-client x86_64 5.6.29-2.el6 mysql56-community 18 M
    replacing mysql.x86_64 5.1.71-1.el6
    mysql-community-libs x86_64 5.6.29-2.el6 mysql56-community 1.9 M
    replacing mysql-libs.x86_64 5.1.71-1.el6
    mysql-community-libs-compat x86_64 5.6.29-2.el6 mysql56-community 1.6 M
    replacing mysql-libs.x86_64 5.1.71-1.el6
    mysql-community-server x86_64 5.6.29-2.el6 mysql56-community 53 M
    replacing mysql-server.x86_64 5.1.71-1.el6
    Installing for dependencies:
    mysql-community-common x86_64 5.6.29-2.el6 mysql56-community 308 k

    Transaction Summary
    ==================================================================================================
    Install 5 Package(s)
    Total download size: 74 M
    Is this ok [y/N]: y
    Downloading Packages:
    (1/5): mysql-community-client-5.6.29-2.el6.x86_64.rpm | 18 MB 00:28
    (2/5): mysql-community-common-5.6.29-2.el6.x86_64.rpm | 308 kB 00:01
    (3/5): mysql-community-libs-5.6.29-2.el6.x86_64.rpm | 1.9 MB 00:05
    (4/5): mysql-community-libs-compat-5.6.29-2.el6.x86_64.rpm | 1.6 MB 00:05
    (5/5): mysql-community-server-5.6.29-2.el6.x86_64.rpm | 53 MB 03:42
    --------------------------------------------------------------------------------------------------
    Total 289 kB/s | 74 MB 04:24
    warning: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
    Retrieving key from file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    Importing GPG key 0x5072E1F5:
    Userid : MySQL Release Engineering <mysql-build@oss.oracle.com>
    Package: mysql-community-release-el6-5.noarch (@/mysql-community-release-el6-5.noarch)
    From : file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    Is this ok [y/N]: y
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Installing : mysql-community-common-5.6.29-2.el6.x86_64
    ....Output truncated....
    1.el6.x86_64 7/8
    Verifying : mysql-5.1.71-1.el6.x86_64 8/8
    Installed:
    mysql-community-client.x86_64 0:5.6.29-2.el6 mysql-community-libs.x86_64 0:5.6.29-2.el6
    mysql-community-libs-compat.x86_64 0:5.6.29-2.el6 mysql-community-server.x86_64 0:5.6.29-2.el6

    Dependency Installed:
    mysql-community-common.x86_64 0:5.6.29-2.el6

    Replaced:
    mysql.x86_64 0:5.1.71-1.el6 mysql-libs.x86_64 0:5.1.71-1.el6 mysql-server.x86_64 0:5.1.71-1.el6
    Complete!


  7. Start MySQL server: [root@mcctb ~]# service mysqld start

    Example

    Initializing MySQL database:  2016-04-05 19:44:38 0 [Warning] TIMESTAMP with implicit DEFAULT 
    value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation
    for more details).
    2016-04-05 19:44:38 0 [Note] /usr/sbin/mysqld (mysqld 5.6.29) starting as process 2487 ...
    2016-04-05 19:44:38 2487 [Note] InnoDB: Using atomics to ref count buffer pool pages
    2016-04-05 19:44:38 2487 [Note] InnoDB: The InnoDB memory heap is disabled
    ....Output truncated....
    2016-04-05 19:44:42 2509 [Note] InnoDB: Shutdown completed; log sequence number 1625987

    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 mcctb 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.
    ....Output truncated....
    WARNING: Default config file /etc/my.cnf exists on the system
    This file will be read by default by the MySQL server
    If you do not want to use this, either remove it, or use the
    --defaults-file argument to mysqld_safe when starting the server

    [ OK ]
    Starting mysqld: [ OK ]



  8. Confirm that MySQL server is running: [root@mcctb ~]# service mysqld status

    Example

    mysqld (pid  2739) is running...

  9. Configure security and password settings: [root@mcctb ~]# mysql_secure_installation

    Example

    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): <== on default install hit enter here
    OK, successfully used password, moving on...

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

    Set root password? [Y/n] y
    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
    ... 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
    ... 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...
    ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
    ... Failed! Not critical, keep moving...
    - 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...

  10. Verify that the MySQL login is working: [root@mcctb ~]# mysql -u root –p

    Example

    Enter password: <configured_password>
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 17
    Server version: 5.6.29 MySQL Community Server (GPL)

    Copyright (c) 2000, 2016, 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>

    If the MySQL login is working, the output will end at the mysql> prompt.