How to Install MySQL Database Using Yum groupinstall on CentOS

How to Install MySQL Database Using Yum groupinstall on CentOS

    How to Install MySQL Database Using Yum groupinstall on CentOS

    by Ramesh Natarajan on April 28, 2010
    In this article, let us review how to install MySQL on CentOS using yum. Instead of searching and installing mysql and related packages one-by-one, it is better to install MySQL using yum groups.   If you are interested in installing the full LAMP stack, refer to our earlier article on how to install/upgrade LAMP using yum.
    1. Identify the Group name of MySQL Packages
    yum grouplist displays all package groups that are available in the repository. As shown below, mysql package group is called “MySQL Database”.

    # yum grouplist | grep -i mysql
       MySQL Database

    2. What is bundled in the “MySQL Database” group?
    yum groupinfo displays all the packages that are bundled in a group. This displays the mandatory, default and optional packages that are available in that particular group. As shown below, “MySQL Database” group contains 1 mandatory package, 6 default packages, and 5 optional packages.

    # yum groupinfo "MySQL Database"
    Group: MySQL Database
     Description: This package group contains packages useful for use with MySQL.
     Mandatory Packages:
       mysql
     Default Packages:
       MySQL-python
       libdbi-dbd-mysql
       mysql-connector-odbc
       mysql-server
       perl-DBD-MySQL
       unixODBC
     Optional Packages:
       mod_auth_mysql
       mysql-bench
       mysql-devel
       php-mysql
       qt-MySQL

    3. Install the “MySQL Database” group using yum groupinstall
    yum groupinstall will install the “MySQL Database” group of packages as shown below.

    # yum groupinstall "MySQL Database"

    Resolving Dependencies
    Dependencies Resolved

    Transaction Summary
    =========================
    Install     12 Package(s)
    Update       0 Package(s)
    Remove       0 Package(s)        

    Installed:
      MySQL-python.i386 0:1.2.1-1 libdbi-dbd-mysql.i386 0:0.8.1a-1.2.2
      mysql.i386 0:5.0.77-4.el5_4.2  mysql-connector-odbc.i386 0:3.51.26r1127-1.el5
      mysql-server.i386 0:5.0.77-4.el5_4.2  perl-DBD-MySQL.i386 0:3.0007-2.el5
      unixODBC.i386 0:2.2.11-7.1   

    Dependency Installed:
      libdbi.i386 0:0.8.1-2.1 libdbi-drivers.i386 0:0.8.1a-1.2.2
      libtool-ltdl.i386 0:1.5.22-7.el5_4
      mx.i386 0:2.0.6-2.2.2 perl-DBI.i386 0:1.52-2.el5 

    Complete!

    Note: If you are having some issues during the installation, verify the full mysql install log to see what you are missing.
    4. Verify MySQL Installation
    Execute rpm -qa, to confirm that the mysql related packages are installed.

    # rpm -qa | grep -i mysql
    MySQL-python-1.2.1-1
    mysql-5.0.77-4.el5_4.2
    mysql-connector-odbc-3.51.26r1127-1.el5
    mysql-server-5.0.77-4.el5_4.2
    libdbi-dbd-mysql-0.8.1a-1.2.2
    perl-DBD-MySQL-3.0007-2.el5

    Check the /etc/passwd and /etc/group to make sure it has created a mysql username and group.

    # grep mysql /etc/passwd
    mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

    # grep mysql /etc/group
    mysql:x:27:

    5. MySQL Post installation – Execute mysql_install_db

    mysql_install_db program will setup the necessary grant tables. The mysql_install_db program gets executed as part of the rpm installation. But, it doesn’t hurt to execute the mysql_install_db program again to make sure the grant tables are setup properly.

    # /usr/bin/mysql_install_db --user=mysql
    Installing MySQL system tables...OK
    Filling help tables...OK
    .....
    The latest information about MySQL is available on the web at http://www.mysql.com

    6. Start MySQL Server

    # service mysqld status
    mysqld is stopped

    # service mysqld start
    Starting MySQL:                                            [  OK  ]

    7. Verify that the MySQL server is up and running.

    # /usr/bin/mysqladmin version
    /usr/bin/mysqladmin  Ver 8.41 Distrib 5.0.77, for redhat-linux-gnu on i686
    Copyright (C) 2000-2006 MySQL AB
    This software comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome to modify and redistribute it under the GPL license

    Server version        5.0.77
    Protocol version    10
    Connection        Localhost via UNIX socket
    UNIX socket        /var/lib/mysql/mysql.sock
    Uptime:            39 sec

    Threads: 1  Questions: 2  Slow queries: 0  Opens: 12  Flush tables: 1
    Open tables: 6  Queries per second avg: 0.051

    # /usr/bin/mysqlshow
    +--------------------+
    |     Databases      |
    +--------------------+
    | information_schema |
    | mysql              |
    | test               |
    +--------------------+

    # /usr/bin/mysqlshow mysql
    Database: mysql
    +---------------------------+
    |          Tables           |
    +---------------------------+
    | columns_priv              |
    | db                        |
    | func                      |
    | help_category             |
    | time_zone_transition      |
    | time_zone_transition_type |
    | user                      |
    +---------------------------+

    Stop and start the mysql server again to make sure they are no issues.

    # service mysqld stop
    Stopping MySQL:                                            [  OK  ]

    # service mysqld start
    Starting MySQL:                                            [  OK  ]

    8. Change the MySQL root account password

    Change the MySQL root account password to something secure.

    # mysql -u root
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 5
    Server version: 5.0.77 Source distribution

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

    mysql> select host, user from mysql.user;
    +-----------+------+
    | host      | user |
    +-----------+------+
    | 127.0.0.1 | root |
    | localhost |      |
    | localhost | root |
    +-----------+------+
    5 rows in set (0.00 sec)

    mysql> set password for 'root'@'localhost' = PASSWORD('DoNotTell$AnyBody');
    Query OK, 0 rows affected (0.00 sec)

    mysql> set password for 'root'@'127.0.0.1' = PASSWORD('DoNotTell$AnyBody');
    Query OK, 0 rows affected (0.00 sec)

    Make sure you are able to login to MySQL using the new password as shown below.

    # mysql -u root
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 7
    Server version: 5.0.77 Source distribution

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

    mysql>


原文地址:https://www.cnblogs.com/lexus/p/2368373.html