1、下载mysql源文件

mysql数据库安装手册 mysql数据库5.7.27安装_java

2、将下载好的源文件通过工具上传到服务器上

3、安装前,我们可以检测系统是否自带安装 MySQL: 

                rpm -qa | grep mysql

        如果有如下内容:mysql-libs-5.1.52-1.el6_0.1.x86_64

        则,通过命令卸载;

       // 普通删除模式

       rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64

      // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

      rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64

4、检查否存在 mariadb 数据库,如有,卸载之,卸载同上

      rpm -qa | grep mariadb

      如有:mariadb-libs-5.5.56-2.el7.x86_64

      卸载:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

5、通过工具将下载的mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz上传到linux服务器的/tools目录下面

6、解压文件

       cd /tools

       tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz

       重命名:mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql-5.7.27

7、添加系统mysql组和mysql用户(检查mysql组和用户是否存在,如无创建)

       cat /etc/group | grep mysql

cat /etc/group | grep mysql
#类似
mysql:x:490:
cat /etc/passwd | grep mysql
#类似
mysql:x:496:490::/home/mysql:/bin/bash

       以上为存在的情况,如无,执行添加命令:

groupadd mysql
useradd -r -g mysql mysql
#useradd -r参数表示mysql用户是系统用户,不可用于登录系统

8、安装数据库

            创建data目录

                    cd mysql-5.7.27

                    mkdir data

            将/tools/mysql-5.7.27的所有者及所属组改为mysql

chown -R mysql.mysql /opt/mysql/mysql-5.7.25

           在/tools/mysql-5.7.27/support-files目录下创建my_default.cnf

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  
basedir = /tools/mysql-5.7.27
datadir = /tools/mysql-5.7.27/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8mb4

log-error = /tools/mysql-5.7.27/data/mysqld.log
pid-file = /tools/mysql-5.7.27/data/mysqld.pid
default-storage-engine=INNODB
tmpdir = /tools/mysql-5.7.27/tmp

将此文件拷贝到/etc目录下

        cp support-files/my_default.cnf /etc/my.cnf

初始化mysqld

        ./bin/mysqld --initialize --user=mysql --basedir=/tools/mysql-5.7.27/ --datadir=/tools/mysql-5.7.27/data/ 

把启动脚本放到开机初始化目录

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

9、启动mysql

service mysql start

             此时,如果是Ubuntu如果报错,Failed to start mysql.service: Unit mysql.service not found.

             则,sudo systemctl enable mysql.service

                     sudo systemctl status mysql

             此时启动成功,则可以通过mysql -uroot -p 登录mysql

             如果这个时候报错:

root@DB-02 ~]# mysql -u root
-bash: mysql: command not found

则可按照命令执行解决:ln -s /tools/mysql-5.7.27/bin/mysql /usr/bin/

原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,

此时再使用mysql -uroot -p  会出现如下错误

Access denied for user 'root'@'localhost' (using password: YES)

不要慌张,此时只需要更改一下root用户的密码即可

vim /etc/my.cnf 编辑配置文件再最后一行添加  skip-grant-tables

mysql数据库安装手册 mysql数据库5.7.27安装_mysql_02

然后  mysql -uroot

进入后  use mysql切换库,

执行修改密码语句即可

此处需要注意的是

       update mysql.user  set password=password('root') where user='root'

这条语句再5.7之前好使,再5.7以后需要更改为下面的语句,因为password字段更为了authentication_string  根据自己的版本选择语句

       update mysql.user set authentication_string=PASSWORD("root")where User='root';

执行完毕出现:

mysql数据库安装手册 mysql数据库5.7.27安装_bc_03

到这里,mysql的安装/配置/登录已经完成,此时需要将my.cnf中添加的最后一句去掉( skip-grant-tables),重启mysql服务即可。

重新进入后执行show databases 后显示

mysql数据库安装手册 mysql数据库5.7.27安装_java_04

此时只需要按照下面执行即可:

      ALTER USER USER() IDENTIFIED BY '你刚刚输入的密码';