网上的教程很多,我也参考了很多,以下是我实践的步骤,真实有效。

1.配置Mysql 8.0安装源:

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

2.安装Mysql 8.0

sudo yum --enablerepo=mysql80-community install mysql-community-server

以下都选y

看到complete就是安装完啦,是不是很简单?

3.启动mysql服务

安装完的第一件事当然是启动mysql服务啦

sudo service mysqld start

这样就算启动完了哦,不信?看下运行状态:

service mysqld status

嗯,没骗你吧。。。

4.查看root临时密码:

安装完mysql之后,会生成一个临时的密码让root用户登录,那么临时密码在哪里看呢?

输入以下命令就可以啦:

grep "A temporary password" /var/log/mysqld.log

我去,好复杂。。。

5.更改临时密码:

这个密码估计也只有外星人能记得住了,作为地球人,第一件事就是改成我自己容易记得密码啦。

先用临时密码登录mysql

输入:mysql -uroot -p

在Enter password:后面输入密码,注意输入密码的时候是看不到的哟,别担心,直管输完回车就行。

恭喜你,这样就是登录成功了。

先在我们要改密码了哟:

输入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

这里的new password要改成你自己的密码哟,我想把密码改成root,所以我输入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

哎哟,提示密码不满足密码验证策略,也是,密码太简单了呢。

好吧,现在有2种选择:

  1. 把密码改复杂点,让它符合密码验证策略,这个当然是最好的,符合国际惯例;
  2. 把密码验证策略改简单点,让它适用简单的密码,这个符合懒人的做法。

额,作为一个上进的人,那我就选择2吧。

那我们先看看当前的密码验证策略是怎么样的吧。

输入:SHOW VARIABLES LIKE 'validate_password.%';

我去,重置密码之前还不让看。。。直接看官方文档吧:

validate_password.length 是密码的最小长度,默认是8,我们把它改成4

set global validate_password.length=4;

validate_password.policy 验证密码的复杂程度,我们把它改成0

set global validate_password.policy=0;

validate_password.check_user_name 用户名检查,用户名和密码不能相同,我们也把它去掉

set global validate_password.check_user_name=off;

现在再执行修改密码的命令:

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

成功了,密码设成了root,但是我建议大家还是设个复杂点密码,不要这么懒哦。

6.配置远程访问

用mysql客户连接报不允许连接的错误,那是因为没开通远程访问的权限哦。

百度上基本说执行

GRANT ALL ON *.* TO 'root'@'%'; 就行了,但是一不下心报了个错:

看下默认MySQL用户:

use mysql;

select host, user, authentication_string, plugin from user;

发现root的host是localhost,不是%哦,那我们就加个host是%的root账号:

CREATE USER 'root'@'%' IDENTIFIED BY 'root';

再查下用户

select host, user, authentication_string, plugin from user;

可以看到已经新增了host为%的root用户

然后再执行:

GRANT ALL ON *.* TO 'root'@'%';

成功了耶,嘿嘿。

连接成功:

7.navicat连接mysql

用navicat连接mysql还是会报错:

原因是mysql8的加密方式规则不一样,是caching_sha2_password

把加密方式改成mysql_native_password就行了:

ALTER USER '[用户名]'@'%' IDENTIFIED WITH mysql_native_password BY '[密码]';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

加密方式以及改成了mysql_native_password:

这样就可以了哦。大功告成!

Centos7安装mysql8教程的更多相关文章

  1. Centos7 安装 MySQL8以及远程访问的配置

    Centos7 安装MySQL8 1. 添加MySQL8的本地源 执行以下命令获取安装MySQL源 [root@virde ~]# wget https://repo.mysql.com//mysql ...

  2. CentOS7 安装 mysql8

    本文主要从以下几个方面对自己在centos7 下安装mysql8过程做如下总结: CentOS7 安装mysql8 步骤: window下的Navicat 连接MySql8: 涉及到的Linux命令 ...

  3. Centos7安装MySQL8.0

    请到这个地址看:https://www.cnblogs.com/kevingrace/p/10482469.html Centos7安装MySQL8.0 - 操作手册 一.yum安装方式: 卸载之前版 ...

  4. centos7命令行和图形界面的相互切换(附centos7安装配置教程)

    一.最近安装了centos7,发现在命令行和图形界面的相互切换命令上,与centos以往版本有很大不同,先整理如下,加深记忆. 1,centos7默认安装后,跟其他版本一样,启动默认进入图形界面: 2 ...

  5. CentOS7安装MySQL8.0小计

    之前讲配置文件和权限的时候有很多MySQL8的知识,有同志说安装不太一样,希望发个文,我这边简单演示一下 1.环境安装 下载MySQL提供的CentOS7的yum源 官方文档:<https:// ...

  6. 阿里云centos7安装mysql8数据库

    一.安装mysql 1. mysql官网查找仓库源镜像,选择downloads https://www.mysql.com/downloads/ 2. 找到社区版 3. 选择yum仓库 4. 选择对应 ...

  7. Centos7安装MySQL8.0 - 操作手册

    MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一.  Mysql8.0版本相比之前版本的一些特性 1) ...

  8. <亲测>CentOS7 安装mysql8.0(YUM方式)

    CentOS7 安装mysql(YUM方式)   1.下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql80-community-rel ...

  9. CentOS7安装mysql8.0编译报错集合

    以下都是我安装mysql8.0遇到的一些报错和解决方法 1.does not appear to contain CMakeLists.txt. 原因:mysql下载的源码包不对 解决方法:下载正确的 ...

随机推荐

  1. Spring Boot:快速入门教程

    什么是Spring Boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人 ...

  2. Redis---学习笔记(更新中)

    一.基本命令 #查看所有键 keys * #查看指定键 keys key #查看模糊键 keys ke* keys ke? keys ke[a-z] keys ke\? #判断键是否存在 exists ...

  3. node实现文件拷贝2

    https://www.cnblogs.com/coding4/p/7495968.html 文件拷贝NodeJS 提供了基本的文件操作 API,但是像文件拷贝这种高级功能就没有提供,因此我们先拿文件 ...

  4. ZooKeeper类说明

    ZooKeeper 类是ZooKeeper 客户端库的主要类.要使用ZooKeeper服务,应用程序必须首先实例化ZooKeeper类的对象.所有的迭代都将通过调用ZooKeeper类的方法来完成.除 ...

  5. 开源joda-time使用demo

    开源joda-time 1.maven中引入 <dependency> <groupId>joda-time</groupId> <artifactId> ...

  6. pybind11在Windows下的使用

      Pybind11算是目前最方便的Python调用C++的工具了, 介绍一下在vs2019上写Python的扩展的HelloWorld   1. 去下载pybind11 https://github ...

  7. Appium+python自动化(十三)- 输入中文 - 一次填坑记(超详解)

    简介 无论你在哪里,在做什么都会遇到很多坑,这些坑有些事别人挖的,有些是自己挖的.别人挖的叫坑人,自己挖的叫自杀,儿子挖的叫坑爹.因此在做app自动化道路上也不会是一帆风顺的,你会踩很多坑,这些坑和你 ...

  8. Java多线程(三):volatile

    volatile volatile是一种轻量同步机制.请看例子 MyThread25类 public class MyThread25 extends Thread{ private boolean ...

  9. CRISP-DM--数据挖掘标准流程

    CRISP-DM--数据挖掘标准流程 在1996年的时候,SPSS,戴姆勒-克莱斯勒和NCR公司发起共同成立了一个兴趣小组,目的是为了建立数据挖掘方法和过程的标准.并在1999年正式提炼出了CRISP ...

  10. 分布式全局ID生成方案

    传统的单体架构的时候,我们基本是单库然后业务单表的结构.每个业务表的ID一般我们都是从1增,通过AUTO_INCREMENT=1设置自增起始值,但是在分布式服务架构模式下分库分表的设计,使得多个库或多 ...