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无法登录。
有不当之处欢迎指正。
centos7下安装mysql8.0.12及设置权限的更多相关文章
- Centos7下安装MySQL8.0.23-小白的开始
首先简单介绍一下什么叫MySQL: 数据库简而言之就是存储数据的仓库,为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上.是为了实现一定的目的,按照某种规则组织起来的数据的集合: MySQL ...
- Centos7下安装Mysql8.0
突然发现mysql都有8.0了,且性能提升比较明显,就自己装来玩玩. centos的yum源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装: 官网:http://dev ...
- centos 7下安装mysql-8.0
本篇文章主要介绍在centos7 环境下安装mysql8.0并设置为开机自启. 安装步骤 1.配置yum源 首先在 https://dev.mysql.com/downloads/repo/yum/ ...
- linux使用glibc版本安装mysql8.0.12
1.前言 使用yum安装虽然很方便,但是如果要是在没有公网的环境下,是没有办法使用yum源的.所以我们可以使用mysql提供的glibc版本的安装包,进行安装. 但是在安装之前,一定要将以前的版本删除 ...
- windows使用zip包安装mysql8.0.12
1.前言 在windows下有两种安装mysql的方式,一种是msi的方式,一种是使用zip包的安装方式.通常都是用msi的方式,毕竟不需要敲命令,只用图形界面就可以完成安装.zip包的安装方式也很简 ...
- CentOS7离线安装MySQL8.0
CentOS7离线安装MySQL8.0 卸载软件 rpm -e --nodeps 要卸载的软件包 root@jacky zookeeper]# rpm -e --nodeps java-1.6.0-o ...
- 安装mysql8.0.12
安装mysql8.0.12 https://blog.csdn.net/zwj1030711290/article/details/80039780 问题1:忘记记录日志打印的密码就把窗口给关了 解决 ...
- 安装mysql8.0.12以及修改密码和Navicat的连接
mysql8.0+与安装其他版本不同一.安装mysql8.0.121.到官网https://www.mysql.com/ 下载mysql-8.0.12-winx64.zip(不要.mis),直接解压 ...
- windows使用msi包安装mysql8.0.12
1.前言 利用windows提供的二进制分发包(msi)安装是非常简单的,只要根据提示安装就可以了,和安装普通软件没有什么区别.但是如果想在安装的时候就把规划的配置好,是需要看懂每个步骤到底做什么用, ...
随机推荐
- JQuery获取和设置Select选项的常用方法总结
1.获取select 选中的 text: $("#cusChildTypeId").find("option:selected").text(); $(&q ...
- jquery 写的图片左右连续滚动
<style type="text/css"> *{ margin:0; padding:0;} body { font:12px/1.8 Arial; color:# ...
- Fidder学习基础(二)
一. 巧用代理抓包. 首页,需设置Tools——>Fiddler Options——>Connectons,维护代理端口及允许其他设备连接. 这里,需要注意的是端口配置不能重复,抓包代理设 ...
- FreeMarker之根据模型生成HTML代码
FreeMarker之根据模型生成HTML代码与FreeMarker根据模型生成Java代码,本质上是一样的,关于生成Java代码可以参考我的这篇文章:FreeMarker之根据模板生成Java代码 ...
- Page Object设计模式(项目整体结构)
1. 什么是框架 1.1 定义: 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件(类)及构件(类)实例间交互的方法. 1.2 为什么要搭建自动化测试框架 自动化测试的开发, ...
- 创建blob地址
aa="121" "121" b=new Blob([aa]) Blob(3) {size: 3, type: ""} window.URL ...
- java 编写小工具 尝试 学习(七)
1.在java 编写小工具 尝试 学习(六)里学会了,控件 的随意摆放, 以及大小(x,y,width,height),又根据前面学习的按钮 被点击 的事件监控 的方法 ,点击 按钮 在显示区域显示“ ...
- sql修改数据库中表的结构
ALTER TABLE TableName1 ADD | ALTER [COLUMN] FieldName1 FieldType [(nFieldWidth [, nPrecision])] [NUL ...
- Spring知识点小结(二)
一.配置非自定义的Bean(数据源DataSource模型) DBCP数据源: 导入dbcp的jar包:dbcp+pool+connector 代码实现: ...
- vue使用axios调用豆瓣API跨域问题
最近做了一个vue小demo,使用了豆瓣开源的API,通过ajax请求时需要跨域才能使用. 封面.jpg 一.以下是豆瓣常用的开源接口: 正在热映 :https://api.douban.com/ ...