Detailed tutorial on installing MySQL 8.0 from source code on CentOS 7.4

Detailed tutorial on installing MySQL 8.0 from source code on CentOS 7.4

MySQL 8 official version 8.0.11 has been released. Officials say MySQL 8 is 2 times faster than MySQL 5.7 and brings a lot of improvements and faster performance!

The following is a 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. Preparation

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 installation directory and data directory

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

3. Install MySQL 8.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 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.Change 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 a 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 a soft link (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 (optional)

 cp support-files/mysql.server /etc/init.d/mysql.server

Special note: MySQL officially recommends using the binary installation method. (The picture below is a screenshot of the official document)

Summarize

The above is a detailed tutorial on how to install MySQL 8.0 from CentOS 7.4 source code. I hope it will be helpful to you. If you have any questions, please leave me a message and I will reply to you in time. I would also like to thank everyone for their support of the 123WORDPRESS.COM website!

You may also be interested in:
  • How to install MySQL 8.0.13 in Alibaba Cloud CentOS 7
  • Detailed tutorial on installing MySQL 8.0.20 database on CentOS 7
  • Tutorial on installing mysql8 on linux centos7
  • CentOS7.5 installation of MySQL8.0.19 tutorial detailed instructions
  • Tutorial diagram of installing mysql8.0.18 under linux (Centos7)
  • Detailed steps to install MYSQL8.0 on CentOS7.6
  • CentOS7 enables MySQL8 master-slave backup and daily scheduled full backup (recommended)
  • Installation tutorial of mysql8.0rpm on centos7
  • Centos7 installation of MySQL8 tutorial

<<:  Detailed explanation of asynchronous iterators in nodejs

>>:  WeChat applet + ECharts to achieve dynamic refresh process record

Recommend

Sample code for implementing 3D book effect with CSS

Without further ado, let's take a look at the...

How to create components in React

Table of contents Preface Component Introduction ...

IIS7 IIS8 reverse proxy rule writing, installation and configuration method

Purpose: Treat Station A as the secondary directo...

Javascript common higher-order functions details

Table of contents 1. Common higher-order function...

How to run Spring Boot application in Docker

In the past few days, I have studied how to run s...

How to add a column to a large MySQL table

The question is referenced from: https://www.zhih...

Detailed steps to build a file server in Windows Server 2012

The file server is one of the most commonly used ...

Detailed explanation of JS variable storage deep copy and shallow copy

Table of contents Variable type and storage space...

Ajax responseText parses json data case study

Solve the problem that the responseText returned ...

Summary of common Nginx techniques and examples

1. Priority of multiple servers For example, if e...

Detailed explanation of HTML onfocus gain focus and onblur lose focus events

HTML onfocus Event Attributes Definition and Usag...

Next.js Getting Started Tutorial

Table of contents Introduction Create a Next.js p...

mysql query data for today, this week, this month, and last month

today select * from table name where to_days(time...