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)安装是非常简单的,只要根据提示安装就可以了,和安装普通软件没有什么区别.但是如果想在安装的时候就把规划的配置好,是需要看懂每个步骤到底做什么用, ...
随机推荐
- BZOJ1924:[SDOI2010]所驼门王的宝藏(强连通分量,拓扑排序)
Description Input 第一行给出三个正整数 N, R, C. 以下 N 行,每行给出一扇传送门的信息,包含三个正整数xi, yi, Ti,表示该传送门设在位于第 xi行第yi列的藏宝宫室 ...
- EasyUI使用之鼠标双击事件
easyui鼠标双击事件,使用 onDblClickRow(index, row) 事件,在用户双击一行的时候触发,参数包括: index:点击的行的索引值,该索引值从0开始. row:对应于点击行的 ...
- 使用Scanner将InputStream类型转换成String
我们在测试项目中经常会遇到这样的情形: 1. 从文件或网络得到一个InputStream,需要转换成String赋值到别的变量做为另一个方法的入参. 2. 从文件或网络得到一个InputStream后 ...
- HDU 1885 Key Task (带门和钥匙的迷宫搜索 bfs+二进制压缩)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1885 Key Task Time Limit: 3000/1000 MS (Java/Others) ...
- JAVA并发-线程状态
一.线程基本状态 新建:线程已创建但start()方法还没执行 就绪(可运行):start()方法已运行,但还没被选择 运行:从就绪线程中选择出某一个线程进行run()操作 阻塞(不可运行):线程正在 ...
- Paxos一致性算法(三)
一.概述: Google Chubby的作者说过这个世界只有一种一致性算法,那就Paxos算法,其他的都是残次品. 二.Paxos算法: 一种基于消息传递的高度容错性的一致性算法. Paxos:少数服 ...
- 身份认证系统(三)什么是OAuth2
本文准备用最简单的语言告诉大家什么是OAuth2 ,OAuth2是干什么的. 我们有一个资源服务器,资源服务器中有一系列的用户数据. 现在有一个应用想想要获取我们的用户数据. 那么最简单的方法就是我们 ...
- iOS 自定义任意形状加载进度条(水波纹进度条)
1. 项目中要做类似下面的加载动画: 先给出安卓的实现方式 2.iOS的实现方式参考了下面两位的,感谢. 以任意底部图片为背景的加载动画 和 水波纹动画 最后附上自己的demo
- JAVA基础之控制台输入输出
---恢复内容开始--- 输入需要用scanner机制 代码: 启用scanner机制 Scanner input = new Scanner(System.in); //String x= inpu ...
- Ubuntu下Zabbix结合percona监控mysql数据
按道理来说zabbix就自带的MySQL插件来监控mysql数据库,但是你会发现,自带的mysql监控项是很少的,根本满足不了公司的需求.由于它本身自带的模板太过简单了,所以需要做更详细的监控,而pe ...