zoukankan      html  css  js  c++  java
  • centos7下安装mysql8.0.12及设置权限

    一、mysql版本介绍

    mysql的官网为:https://www.mysql.com/

    在官网上可以看到多个版本,主要版本如下,

    1、MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。
    2、MySQL Enterprise Edition 企业版本,需付费,可以试用30天。
    3、MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。
    4、MySQL Cluster CGE 高级集群版,需付费。

    从上面的介绍可以看到,如果个人练习使用可以选择社区版本(MySQL Community Server),下面就以此版本为例进行说明。此版本的最新版本为8.0.12。

    二、安装过程

    mysql官网提供了多种安装方式,在linux下有三种方式,

    1、yum源安装;

    2、下载rpm包安装;

    3、源码安装;

    综合以上的三种安装方式,第一二两种都是比较适合的,我这里由于安装的centos7已经自带了yum源为此我这里可以直接使用yum安装。

    1、在命令行中使用如下的命令,开始安装mysql,默认安装的是最新版本的mysql,即mysql8.0.12

    yum install mysql-community-server

    2、执行上述命令后,yum会自动下载所需的包及文件,最后下载完成后,会提示是否进行安装。

    三、权限设置

    1、登录mysql

    mysql8.0.12的权限和之前mysql5.XX的权限是不一样的,新安装的mysql8.0.12是无法登录,可以通过无密码登录,需要修改配置文件,默认使用yum安装的mysql的配置文件在/etc/my.cnf,编辑此文件,在文件中加入下面的配置,即可实现无密码输入,

    skip-grant-tables

    上面说到的可以实现无密码输入登录mysql,其实mysql8.0.12会默认生成一个密码,此密码的位置在/var/log/mysqld.log,那么如何查看msyql的日子文件的位置那,还是在msyql的配置文件中,即/etc/my.cnf,其配置文件如下图,

    从上面的配置文件中可以看到mysql的数据文件的路径为:/var/lib/mysql,日志文件为:/var/log/mysqld.log,还有其他信息可以看到,那么去日志文件中寻找mysql生成的默认临时,密码,如下图,

    如上图可以看到临时密码为:C_<0u!QF,e&x

    接下来就可以登录msyql了具体的是使用免密登录还是使用临时密码,可根据实际情况而定。

    2、修改默认密码

    前面我们已经可以正常登录mysql了,那么要做的第二件事便是修改默认密码,允许远程登录等。

    在修改mysql的密码时一定要使用下面的方式,其他的方式一律不好用,比如去更新mysql.user表,使用password函数进行加密密码,这些方式针对mysql8.0.12都是不好用的,需要使用下面的方式,

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPass';

    newPass即为新的密码,由于新版的mysql对密码有限制,所以密码要包含大小写、特殊字符等,且要有一定的位数。

    使用临时密码登录后一定要改密码,否则是不可以执行其他操作的。在设置了新密码之后,如果是使用的免密登录,那么一定要在配置文件中把免密的注释掉。

    下面的一件事就是允许root远程登录,默认的root是不允许远程登录的,所以我们需要新建root账号,使其host的值为%,代表可以任何远程主机均可以登录,使用下面的语句

    mysql>CREATE USER 'root'@'%' IDENTIFIED BY 'pass';

    pass代表的是密码,这样新建了root账号,且允许任何主机进行远程登录,但还需要授予权限,

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'pass' WITH GRANT OPTION;

    授权权限后一定要进行刷新,即

    mysql>flush privileges;

    这样才可以进行远程登录,且root具有所有权限。

    四、mysql的密码加密方式

    在最新的mysql中其用户的密码加密方式已经不是原来的,原来的加密方式为:mysql_native_password,在mysql8.0.12中改为了caching_sha2_password,一些客户端不支持新的加密协议,如navicat,这时可以有以下的方式,

    1、更新客户端使其支持新的加密协议。

    2、修改mysql的配置文件

    在my.cnf中新增以下配置,即使用之前的加密方式,这样以后创建的所有用户都使用默认的协议认证方式

    default_authentication_plugin=mysql_native_password

    3、单独设置加密方式

    对已有用户或者新建用户可以修改其加密方式,如下以root/root为例

    mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

    接着需要为root重新设置密码,

    mysql>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');  
    mysql>flush privileges;

    综上所述,在安装的过程中遇到了以下问题,

    1、修改root的密码方式;

    2、新的协议认证方式,导致navicate无法登录。

    有不当之处欢迎指正。

  • 相关阅读:
    关于Hadoop分组排序
    关闭Xshell Linux服务关闭问题
    Centos 7 mysql的安装
    通过 Thumbnails 压缩图片后转 base64
    Centos 7 java环境安装
    mysql 批量添加
    SpringCloud_服务提供者关闭,eureka还显示问题
    关于Hutool发送邮件
    Spring 定时任务 @Scheduled注解
    Listary快捷键和idea快捷键冲突问题
  • 原文地址:https://www.cnblogs.com/teach/p/9822377.html
Copyright © 2011-2022 走看看