一、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无法登录。

有不当之处欢迎指正。

centos7下安装mysql8.0.12及设置权限的更多相关文章

  1. Centos7下安装MySQL8.0.23-小白的开始

    首先简单介绍一下什么叫MySQL: 数据库简而言之就是存储数据的仓库,为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上.是为了实现一定的目的,按照某种规则组织起来的数据的集合: MySQL ...

  2. Centos7下安装Mysql8.0

    突然发现mysql都有8.0了,且性能提升比较明显,就自己装来玩玩. centos的yum源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装: 官网:http://dev ...

  3. centos 7下安装mysql-8.0

    本篇文章主要介绍在centos7 环境下安装mysql8.0并设置为开机自启. 安装步骤 1.配置yum源 首先在 https://dev.mysql.com/downloads/repo/yum/  ...

  4. linux使用glibc版本安装mysql8.0.12

    1.前言 使用yum安装虽然很方便,但是如果要是在没有公网的环境下,是没有办法使用yum源的.所以我们可以使用mysql提供的glibc版本的安装包,进行安装. 但是在安装之前,一定要将以前的版本删除 ...

  5. windows使用zip包安装mysql8.0.12

    1.前言 在windows下有两种安装mysql的方式,一种是msi的方式,一种是使用zip包的安装方式.通常都是用msi的方式,毕竟不需要敲命令,只用图形界面就可以完成安装.zip包的安装方式也很简 ...

  6. CentOS7离线安装MySQL8.0

    CentOS7离线安装MySQL8.0 卸载软件 rpm -e --nodeps 要卸载的软件包 root@jacky zookeeper]# rpm -e --nodeps java-1.6.0-o ...

  7. 安装mysql8.0.12

    安装mysql8.0.12 https://blog.csdn.net/zwj1030711290/article/details/80039780 问题1:忘记记录日志打印的密码就把窗口给关了 解决 ...

  8. 安装mysql8.0.12以及修改密码和Navicat的连接

    mysql8.0+与安装其他版本不同一.安装mysql8.0.121.到官网https://www.mysql.com/  下载mysql-8.0.12-winx64.zip(不要.mis),直接解压 ...

  9. windows使用msi包安装mysql8.0.12

    1.前言 利用windows提供的二进制分发包(msi)安装是非常简单的,只要根据提示安装就可以了,和安装普通软件没有什么区别.但是如果想在安装的时候就把规划的配置好,是需要看懂每个步骤到底做什么用, ...

随机推荐

  1. 20165214 2018-2019-2 《网络对抗技术》Exp6 信息搜集与漏洞扫描 Week9

    <网络对抗技术>Exp6 信息搜集与漏洞扫描 Week9 一.实验目标与内容 1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应用 使用搜索 ...

  2. linux如何安装IntelliJ IDEA

    http://www.linuxidc.com/Linux/2016-12/137946.htm 创建的那个启动器脚本,只要这样输入就可以直接启动idea了

  3. Angular.js数据绑定时自动转义html标签及内容

    angularJS在进行数据绑定时默认是以字符串的形式数据,也就是对你数据中的html标签不进行转义照单全收,这样提高了安全性,防止html标签的注入攻击,但有时候需要,特别是从数据库读取带格式的文本 ...

  4. 使用Redis+java(模仿数据库)实现对象存取和读取

    实现前要引入Redis架包 maven项目 <dependency> <groupId>redis.clients</groupId> <artifactId ...

  5. HDU 2897 邂逅明下 ( bash 博弈变形

    HDU 2897 邂逅明下 ( bash 博弈变形 题目大意 有三个数字n,p,q,表示一堆硬币一共有n枚,从这个硬币堆里取硬币,一次最少取p枚,最多q枚,如果剩下少于p枚就要一次取完.两人轮流取,直 ...

  6. 架构模式:MVC与MVVM

    本文探讨如下几个问题: 什么是MVC 什么是MVVM MVC与MVVM对架构属性的影响 MVC实例SpringMVC MVVM实例Vue MVC.MVVM与Layer中的Model,Controlle ...

  7. sql server 中判断分组排序的使用示例

    现在需要查询一组数据,是对一列字段(column01)的数据分范围查询后分组排序: select (case when [column01] >0 AND [column01]<= 500 ...

  8. JAVA中时间格式转换

    1.将任意日期格式的字符串转换为指定格式的字符串 //默认格式 String s1 = "20190110133236"; //给定格式 String s2 = "201 ...

  9. html中的居中问题

    1.表格居中:<table>标签的align属性 <table align="center">...... </table> 2.表格内容居中; ...

  10. The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.报该错误的一种原因。

    今天发现某个action返回404. HTTP Status 404 – Not Found Type Status Report Message /xxx.action Description Th ...