1.配置MySQL 8.0的安装源:
 
 
 
 
2.安装MySQL 8.0
 
sudo yum --enablerepo=mysql80-community install mysql-community-server
 
 
 
接下来选择 y
 
 
 
下载完继续 y
 
 
 
3.启动MySQL服务
 
启动命令:sudo service mysqld start
 
 
ps:如果不确定是否启动了服务就运行如下命令
 
service mysqld status
 
 
 
4.查看MySQL的root临时密码
 
安装完MySQL之后,都会生成一个临时的密码让root用户登录,那么应该怎么获取临时密码呢?
 
运行如下命令: grep "A temporary password" /var/log/mysqld.log
 
 
 
5.把临时密码修改为一个自己能记得住的密码
 
1).先用临时的密码登录MySQL
运行命令: mysql -uroot -p
 
 
登录成功后
 
 
2).登录成成功后运行如下命令修改密码
 
修改密码命令:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
 
ps:注意语句结尾必须以分号结束
 
 
如果出现这种情况,那么就是你的密码复杂度不符合MySQL所要求的
 
解决这种情况有两种方式:
①把密码改复杂点,让它符合密码验证策略,这个当然是最好的,符合国际惯例;
②把密码验证策略改简单点,让它适用简单的密码,这个符合懒人的做法。
 
查看密码验证策略方法,运行如下命令:(前提是重置密码之前是不让看的)
SHOW VARIABLES LIKE 'validate_password.%';
 
 
官方文档提供的文档
validate_password.length 是密码的最小长度,默认是8
validate_password.policy 验证密码的复杂程度
validate_password.check_user_name 用户名检查,用户名和密码不能相同
 
 
密码长度修改为4: set global validate_password.length=4;
 
 
密码复杂度修改为0: set global validate_password.policy=0;
 
 
去掉不允许用户名和密码相同的要求: set global validate_password.check_user_name=off;
 
 
然后运行修改密码的命令: ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
 
 
 
6.配置远程访问
 
发现客户端无法连接MySQL,那时因为我们没有开通远程访问权限
 
 
开启远程访问权限步骤:
 
1).  use mysql;
 
 
 
2).   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;
 
 
 
上面步骤成功后运行如下代码: GRANT ALL ON *.* TO 'root'@'%';
 
 
这样就成功了
 
用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:
 
 
 
 
如果还不成功,可能Linux没有开放3306端口
 
操作步骤:
1、登陆到linux系统
2、输入防火墙开放端口命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent
3、刷新防火墙:firewall-cmd --reload
* 注意:--add-port=后面接需要开放的端口
 
 
 
 
设置开机启动:
systemctl enable mysqld
 
 
 
 
 

CentOS 7安装MySQL 8——萌新超详细教程的更多相关文章

  1. 安装64位Oracle 10g超详细教程

    安装64位Oracle 10g超详细教程 1. 安装准备阶段 1.1 安装Oracle环境 经过上一篇博文的过程,已经完成了对Linux系统的安装,本例使用X-Manager来实现与Linux系统的连 ...

  2. centos下安装ansible自动化工具(超详细,包含基本使用)

    ansible官网:https://www.ansible.com 众所周知,ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef ...

  3. Linux 安装 MySQL 8 数据库(图文详细教程)

    本教程手把手教你如何在 Linux 安装 MySQL 数据库,以 CentOS 7为例. 1. 下载并安装 MySQL 官方的 Yum Repository wget -i -c https://re ...

  4. Linux 安装 MySQL 8.0.26 超详细图文步骤

    1.MySQL 8.0.26 下载 官方网站下载 MySQL 8.0.26 安装包,下载地址: https://downloads.mysql.com/archives/community/ 需要注意 ...

  5. 二进制安装部署kubernetes集群---超详细教程

    本文收录在容器技术学习系列文章总目录 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以打赏博主一杯咖啡钱 ...

  6. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  7. Centos下安装mysql 和挂载硬盘

    一,CentOS下安装Mysql 6.5 1.检测系统是否自带安装mysql # yum list installed | grep mysql 2.删除已经安装的Mysql # yum -y rem ...

  8. CentOS 7 安装 MySQL Database

    CentOS 7 安装 MySQL Database 1. 现在安装包,MySQL的安装包被分成了社区版和企业版,而本文将记录社区版本MySQL安装过程,下载MySQL版本如下: mysql-5.7. ...

  9. Centos 7 安装mysql后出现 ERROR 2002 (HY000)解决方案

    Centos 7 安装mysql后出现 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib ...

随机推荐

  1. Android EditText方框验证码 短信验证码的实现

    package com.loaderman.securitycodedemo; import android.graphics.Color; import android.support.v7.app ...

  2. 字典的常见操作<一>

    <1>修改元素 字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改 Demo from pip._vendor.distlib.compat import raw_input ...

  3. opengl入门篇二: 索引缓冲对象EBO

    在绘制图形的过程中,顶点可能会重复.比如两个三角形组成了四边形,那么,必然有两个点是重复的.因此采用索引的方式,四个点即可描述四边形. // 四个顶点 GLfloat vertices[] = { / ...

  4. java:LeakFilling (Mybatis)

    1.实体类属性与数据库中字段名字不一样时,或者起别名时: TbOrderMapper.xml配置文件中,配置resultMap标签: 其它相同的标签也需要配,否则查询不出来对应数据. 2.一对一关联: ...

  5. Hibernate初了解

    Hibernate是一个开放源代码的对象关系映射框架, 它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JD ...

  6. ibatis使用iterate实现批量插入insert正确写法

    由于想批量入库提升效率,最近实现了ibatis的批量插入,结果一直报错 :StringIndexOutOfBoundsException ,原来是value中的格式不正确. 本人邮箱:techqu@1 ...

  7. app测试自动化之打开简书的登录界面,等待五秒后关闭

    from appium import webdriverfrom time import *desired_caps={ -----desired_caps为自定义变量名 'platformName' ...

  8. python学习之函数(二)

    4.4.6 动态传参 动态传参是针对形参而言 1.动态位置参数 ​ 在静态位置参数时,我们知道,定义函数时有几个位置参数,调用时就必须给几个实参,不能多也不能少.有时候,实际应用过程中,参数往往不能固 ...

  9. USACO1.5 Mother's Milk【搜索】

    题目传送门 这道题还记得是我当年学广搜的时候做过. 如今再做,做了一个$dfs$版本的,比较简单,直接搞就可以了. 广搜的话,用结构体保存,然后塞到$queue$里面就可以了. /* ID: Star ...

  10. swagger生成文档初步使用

    在大部分情况下,公司都会要求提供详细的接口文档,对于开发来说,文档有时候在赶进度的情况下,也是一件头疼的事.而swagger的自动生成文档功能,就可以帮助我们减少工作量,对于文档的修改也可以在代码中随 ...