mysql install

1. Installation mode

1. Binary installation
2. Source package installation
3.rpm Package installation 

1. Binary installation

1) Upload or download the package

[[email protected] ~]# rz
# perhaps
[[email protected] ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz

2) Installation dependency

Install Eni first , Install... Before unzip , To prevent the package from going to Yinai when it is decompressed , And there is the problem of installation error .

[[email protected] ~]# yum install -y ncurses-devel libaio-devel autoconf

3) Unzip the package

[[email protected] ~]# tar xf mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz

4) Mobile directory

The software installed by ordinary users is placed in /usr/local/ below

[[email protected] ~]# mv mysql-5.6.46-linux-glibc2.12-x86_64 /usr/local/

Some directories under the home folder

[[email protected] /usr/local/mysql-5.6.46-linux-glibc2.12-x86_64]# ll
total 240
drwxr-xr-x  2 root root    4096 Jul  9 10:33 bin #  Stored binary files , For example, the startup file is in it
drwxr-xr-x  3 root root      18 Jul  9 10:34 data
drwxr-xr-x  2 root root      55 Jul  9 10:33 docs
drwxr-xr-x  3 root root    4096 Jul  9 10:34 include
drwxr-xr-x  3 root root     316 Jul  9 10:33 lib
-rw-r--r--  1 7161 31415 221739 Sep 27  2019 LICENSE
drwxr-xr-x  4 root root      30 Jul  9 10:33 man
drwxr-xr-x 10 root root     291 Jul  9 10:34 mysql-test #  Store default database
-rw-r--r--  1 7161 31415    587 Sep 27  2019 README
drwxr-xr-x  2 root root      30 Jul  9 10:33 scripts
drwxr-xr-x 28 root root    4096 Jul  9 10:34 share
drwxr-xr-x  4 root root    4096 Jul  9 10:34 sql-bench
drwxr-xr-x  2 root root     136 Jul  9 10:34 support-files #  There are default configuration files and startup scripts 

5) Make a soft connection

Easy to upgrade and manage Directory

[[email protected] ~]# ln -s /usr/local/mysql-5.6.46-linux-glibc2.12-x86_64 /usr/local/mysql

6) establish mysql user

Used to manage mysql Process

[[email protected] ~]# useradd mysql -s /sbin/nologin -M

7) Copy configuration files and startup scripts

[[email protected] ~]# cd /usr/local/mysql/support-files/
[[email protected] support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
[[email protected] support-files]# cp mysql.server /etc/init.d/mysqld

8) Initialize database

[[email protected] ~]# cd /usr/local/mysql/scripts/
[[email protected] scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
--user: Designated user
--basedir:  Specify the installation directory
--datadir:  Specify the data directory
# There are two signs of successful initialization ok

9) Start database

[[email protected] scripts]# /etc/init.d/mysqld start

10) Configure environment variables

[[email protected] scripts]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
[[email protected] scripts]# source /etc/profile

11) To configure system management mysql

[[email protected] scripts]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
[[email protected] scripts]# systemctl daemon-reload
[[email protected] scripts]# systemctl start mysqld

12) Confirm start up

[[email protected] scripts]# ps -ef | grep mysql
mysql     12886      1  2 03:10 ?        00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
root      12921  10636  0 03:11 pts/1    00:00:00 grep --color=auto mysql
[[email protected] scripts]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      12027/redis-server  
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      6180/rpcbind        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      7113/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7198/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      12886/mysqld        
tcp6       0      0 :::111                  :::*                    LISTEN      6180/rpcbind        
tcp6       0      0 :::22                   :::*                    LISTEN      7113/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      7198/master         
#  Installation successful
[[email protected] scripts]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.46 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, 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>

The wrong report I met

[[email protected] /usr/local/mysql-5.6.46-linux-glibc2.12-x86_64/scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db:
Data::Dumper
#  Solve the order
yum -y install autoconf