CentOS7.4 source installation MySQL8.0

The official version 8.0.11 of MySQL 8 has been released. Officially, MySQL 8 is 2 times faster than MySQL 5.7, and it also brings a lot of improvements and faster performance!

The following is the record of my installation process on April 23, 2018. The whole process takes about an hour, and the make && make install process takes longer.

1. Environment

  CentOS7.4 64-bit Minimal Installation

2. Preparations

  1. Install dependencies

       yum -y install wget  cmake gcc gcc-c++ ncurses  ncurses-devel  libaio-devel  openssl openssl-devel

   2. Download the source package

       wget https: // cdn.mysql.com // Downloads/MySQL-8.0/mysql-boost-8.0.11.tar.gz (this version comes with boost)

  3. Create mysql user

       groupadd mysql
       useradd -r -g mysql -s /bin/false mysql

   4. Create the installation directory and data directory

      mkdir -p /usr/local/mysql
      mkdir -p /data/mysql

3. Install MySQL8.0.11

  1. Unzip the source package

      tar -zxf mysql-boost-8.0.11.tar.gz -C /usr/local

  2. Compile & Install

      cd /usr/local/mysql-8.0.11
      cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/mysql-8.0.11/boost 
      make  && make install

  3. Configure the my.cnf file

      cat /etc/my.cnf
      [mysqld]
      server-id=1
      port=3306
      basedir=/usr/local/mysql
      datadir =/data/mysql 
    ##Please add parameters according to the actual situation

   4. Directory permission modification

      chown -R mysql:mysql /usr/local/mysql
      chown -R mysql:mysql /data/mysql
      chmod 755 /usr/local/mysql -R
      chmod 755 /data/mysql -R

  5. Initialization

      bin/mysqld --initialize --user=mysql --datadir=/data/mysql/
      bin/mysql_ssl_rsa_setup

   6. Start mysql

      bin/mysqld_safe --user=mysql &

   7. Modify account password

      bin/mysql  -uroot -p
      mysql> alter user 'root'@'localhost' identified by "123456";

        mysql> show databases;
        +--------------------+
        | Database           |
        +--------------------+
        | information_schema |
        | mysql              |
        | performance_schema |
        | sys                |
        +--------------------+
       4 rows in set (0.00 sec)

    ##Add remote special account

    mysql> create user root@'%' identified by '123456';
    Query OK, 0 rows affected (0.08 sec)

    mysql> grant all privileges on *.* to root@'%';
    Query OK, 0 rows affected (0.04 sec)

    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)

   8. Create soft links ( optional )

     ln -s /usr/local/mysql/bin/* /usr/local/bin/

    mysql -h 127.0.0.1 -P 3306 -uroot -p123456 -e "select version();"
    mysql: [Warning] Using a password on the command line interface can be insecure.
    +-----------+
    | version() |
    +-----------+
    | 8.0.11    |
    +-----------+

   9. Add to startup ( non-essential )

     cp support-files/mysql.server /etc/init.d/mysql.server
 
Hereby note : MySQL officially recommends the binary installation method. (The picture below is a screenshot of the official document)

 

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324656986&siteId=291194637