centos7安装mysql8.0.20单机版详细教程

mysql8.0之后与5.7存在着很大的差异,这些差异不仅仅表现在功能和性能上,还表现在基础操作和设置上。这给一些熟悉mysql5.7的小伙伴带来了很多困扰,下面我们就来详细介绍下8.0的安装和配置过程。

mysql在linux上的多种安装方式:

1.yum安装

由于centos默认的yum源中没有mysql,所以我们要使用yum安装mysql就必须自己指定mysql的yum源。在官网下载mysql的yum源包,这个源包是一个rpm包,我们先使用rpm的方式安装这个源包,安装完之后yum就多了一个mysql的源。然后我们直接使用yum的方式就可以自动安装mysql了。

2.rpm安装

从官网下载rpm包,然后再在linux上安装。mysql不提供所有组件的整合rpm包,如果用这种方式需要一个一个组件的安装。比如先安装MySQL Community Server,再安装mysql client,再安装mysql lib。这种方式想要安装完整的mysql服务比较麻烦,需要一个个组件依次安装一遍,而且安装过程中还可能会碰到缺少依赖软件的情况。

3.tar安装

从官网下载tar包,在服务器上解压,然后自己配置,手动安装。这样很灵活,可以指定安装目录等参数。

 

这里推荐:

如果想安装mysql全部组件(一般mysql服务端就需要全部组件),那就使用yum方式;

如果受限于资金问题,服务器资源不够,需要一台机器上需要安装多个mysql服务端实例,那必须使用tar的方式,手动指定安装目录等参数;

如果只想安装mysql的部分功能,比如只装一个能连接mysql服务器的客户端,那就选择rpm的方式单独安装客户端组件。

本篇介绍yum方式的安装流程。

安装流程

1.官网下载yum源包(本质是一个rpm包)

打开官网链接:https://dev.mysql.com/downloads/repo/yum/

选择与你系统对应的rpm包,这里我们系统是centos7,所以选择下图红框内的这一个。

centos7安装mysql8.0.20单机版详细教程_第1张图片

下载完成后将下载下来的mysql80-community-release-el7-3.noarch.rpm包上传到linux上。

2.删除原有的mysql和mariadb

由于centos7中已经默认集成了mariadb,它是mysql的一个分支版本,底层还是mysql,所以如果我们在有mariadb的机器上再安装mysql会有一些冲突,为此我们的第一步就是先卸载centos7默认集成的mariadb(也有可能你的centos7没有默认集成mariadb,如果没有就不用卸载了)。

查看电脑中mariadb相关包

rpm -qa | grep mariadb   

如果有结果输出的话,将所有与mariadb相关的都删掉,删除使用如下命令:

rpm -e --nodeps xxx

查看电脑中mysql相关的包

rpm -qa | grep mysql

如果有结果输出的话,将所有与mysql相关的都删掉,删除使用如下命令:

rpm -e --nodeps xxx

3.安装yum源包

  执行如下命令来为centos7的yum命令安装mysql源

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

安装完成之后会在/etc/yum.repos.d/目录下生成两个repo文件:mysql-community.repo 和  mysql-community-source.repo。这两个文件就是yum的源文件(如果对yum不太熟悉,那可以不用管这两个文件,并不影响安装)。

安装完成后需要再执行如下两个命令来刷新yum的缓存

yum clean all    #清除yum缓存
yum makecache  #重新构建缓存

4.yum安装mysql

经过第二步之后,centos中就已经有了mysql的yum源了。所以对于mysql的安装我们只需要一行命令就可以解决了,命令如下:

yum install mysql-community-server

这一步基于每台电脑的网速不同,执行速度也不一样,可能速度较慢。

这里需要注意,yum安装mysql的时候,默认是安装最新版的mysql,目前最新版是8.0,所以直接使用上面的命令安装是安装的8.0版本。如果你想安装其他版本的mysql,需要先修改/etc/yum.repos.d/mysql-community.repo文件,在运行上面的安装命令,修改方法如下:

centos7安装mysql8.0.20单机版详细教程_第2张图片

如上,是我当前的文件内容,因为默认是安装最新版也就是8.0,所以红框内8.0的enabled为1。如果我们想安装其他版本的mysql,直接将8.0的enabled改为0,其他版本的enabled改为1就可以(要安装哪个版本哪个版本的enabled就改为1,其他版本改为0)。

至此,我们的mysql就安装完毕了,下面就开始配置一下这个新的mysql。

5.启动mysql

安装完成后先启动下mysql,启动命令如下:

service mysqld start

启动完成之后的mysql并不能直接使用,我们需要再进行一系列配置才能正常使用mysql。配置过程见下面的步骤6,7,8,9。

6.获取初始密码

mysql8在安装完成之后会自动创建一个只能在localhost才能访问的root用户,并且这个root用户会有一个初始密码。如果初始密码没有修改,root账号是不能执行除修改密码之外的命令的。这也就要求我们,要想使用mysql,必须先把自动创建的root用户的密码给改了。

初始密码存放位置:/var/log/mysqld.log,打开这个文件,下图红框内白底的一串字符就是初始密码。

centos7安装mysql8.0.20单机版详细教程_第3张图片

*:冒号后面的空格不算在密码之中,密码是空格后面的部分。

7.修改初始密码

使用自动创建的root账户和初始密码登陆mysql,登陆命令如下:

mysql -u root -p

之后会让你输入密码,输入初始密码之后进入mysql命令界面。

在mysql命令界面输入如下命令来修改初始密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Abc@1234567';

其中,Abc@1234567是新密码,可以自己随意指定。但是mysql8为了增强安全性,要求密码中必须包含大写字母、小写字母、特殊字符(!@#等)、数字。好多人都觉得这样的规则下密码太复杂,所以修改了mysql8的默认密码规则,让mysql8可以支持简单的密码,但我感觉并不好,密码复杂一点也挺好的,没必要修改默认密码规则。

修改完成后在mysql命令界面输入exit就可以退出命令界面了。

8.正常登陆

使用修改后的密码登录mysql,登陆命令如下:

mysql -u root -p

输入新的密码之后就会进入mysql命令界面。

至此,我们就可以在安装mysql的服务器上连接mysql,使用root用户做任何操作了。但是安装时自动创建的root用户只能在localhost下才可以访问,也就是只能从本地访问本地的mysql。这也是mysql8的新改动,如果我们想在其他远程服务器上连接这个mysql还需要再做些配置,配置见下面的步骤9。

9.创建用户

使用mysql的最佳实践就是,创建一个拥有顶级权限的root用户,让root用户只能在mysql安装服务器的本地访问。然后再根据需要配置一些低权限用户,这些用户可以允许在远程访问。在这里我们保留安装时自动创建的root用户,再创建一个针对于fep数据库的账户fepadmin。

创建用户fep,让这个用户在所有ip下都可以访问,命令如下(其中%表示允许所有ip都可以访问,也可以把%换成具体的ip):

create user 'fep'@'%' identified by 'Abc@12345678';

给用户授权,命令如下(让这个用户只有fep数据库的权限):

grant all privileges on fep.* to 'root'@'%' with grant option;

刷新用户权限,命令如下(不刷新不生效):

flush privileges;

mysql8中创建用户和授权的命令必须拆开写,先创建用户再授权,这也是mysql8相比5.7的不同点之一。

关于mysql的用户和权限这一块如果不清楚的话,还需要再查阅下相关资料,这一块挺重要的,在这里就不再展开将用户和权限了。

10.使用新建用户登录

至此,我们就可以使用新建的fep用户在远程连接mysql服务器了,比如在windows机器上使用navicat连接远程linux上的mysql。

11.配置参数

至此,mysql已经可以正常使用。但是一般我们还会在mysql正式使用之前对mysql再进行下配置,如编码,各种日志的输出位置,端口等。

mysql的配置文件是/etc/my.cnf,我们只需要修改这个文件里面的内容即可。

基本配置:

[mysqld]

datadir=/var/lib/mysql    --安装时默认的配置,数据文件的存放地址。
socket=/var/lib/mysql/mysql.sock   --安装时默认的配置,socket文件的地址


default-storage-engine=INNODB   --自定义的新配置,创建表时的默认引擎
character-set-server=utf8               --自定义的新配置,mysql服务器的编码
max_connect_errors=100              --自定义的新配置,最大支持的连接失败次数
port=3306                                       --自定义的新配置,mysql服务器的监听端口

default-time_zone='+8:00'              --自定义的新配置,mysql服务器的时区


log-error=/var/log/mysqld.log        --安装时默认的配置,错误日志的存放路径
pid-file=/var/run/mysqld/mysqld.pid --安装时默认的配置,pid文件的存放路径

主要是把mysql服务器的编码和时区配置一下,可以直接复制我的内容到my.cnf中,然后重启mysql,重启命令如下:

service mysqld restart

12.配置结束

至此,mysql8的安装和配置都结束了,基本可以满足日常使用。

 

 

 

 

你可能感兴趣的:(环境搭建,mysql,centos,java,数据库)