Centos7安装mysql8.0教程

准备工作

1.查看是否有安装过mysql
rpm -qa | grep -i mysql
2.删除mysql
yum -y remove MySQL-*

一般用rpm -e 的命令删除mysql,这样表面上删除了mysql,可是mysql的一些残余程序仍然存在,并且通过第一步的方式也查找不到残余,而yum命令比较强大,可以完全删除mysql.(ps:用rpm删除后再次安装的时候会提示已经安装了,这就是rpm没删除干净的原因)

3.把所有出现的目录统统删除
find / -name mysql

查找mysql的一些目录,把所有出现的目录删除,可以使用rm -rf 路径,删除时请注意,一旦删除无法恢复。

4.删除配置文件
rm -rf /etc/my.cnf
5.删除mysql的默认密码
rm -rf /root/.mysql_sercret

删除mysql的默认密码,如果不删除,以后安装mysql这个sercret中的默认密码不会变,使用其中的默认密码就可能会报类似Access denied for user ‘root@localhost’ (using password:yes)的错误.

五步完成之后,这样mysql就全部删除干净了,若没安装过mysql可忽略以上步骤


1.配置Mysql 8.0安装源
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2.安装Mysql 8.0
sudo yum --enablerepo=mysql80-community install mysql-community-server

提示下载插件选择:y

看到complet(完毕)就是安装完啦

4.启动mysql服务
sudo service mysqld start

显示如下:

启动完成

5.查看mysql服务运行状态
service mysqld status

显示如下:

6.查看root临时密码

安装完mysql之后,会生成一个临时的密码让root用户登录

grep "A temporary password" /var/log/mysqld.log
7.更改临时密码

输入:mysql -uroot -p
在Enter password:后面输入临时密码
登录成功
输入:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new password’;
会提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements(密码不符合当前策略)
方案1: 设置符合策略的密码(大小写字母+数据+符号)
方案2:密码策略改简单一点

方案2设置方式

  1. 先看看当前的密码验证策略
  1. 输入:SHOW VARIABLES LIKE ‘validate_password.%’;
  1. 策略说明
    validate_password.length 是密码的最小长度,默认是8,我们把它改成6
    输入:set global validate_password.length=6;
    validate_password.policy 验证密码的复杂程度,我们把它改成0
    输入:set global validate_password.policy=0;
    validate_password.check_user_name 用户名检查,用户名和密码不能相同,我们也把它关掉
    输入:set global validate_password.check_user_name=off;
  1. 再执行修改密码的命令
    输入:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘12345’;
    密码设成功

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

7.配置远程访问

输入:GRANT ALL ON . TO ‘root’@’%’;

报错:
mysql> GRANT ALL ON . TO ‘root’@’%’;
ERROR 1410 (42000): You are not allowed to create a user with GRANT

看下默认MySQL用户:
输入:use mysql;
输入:select host, user, authentication_string, plugin from user;

发现root的host是localhost,不是%,可以加个host是%的root账号:
输入:CREATE USER ‘root’@’%’ IDENTIFIED BY ‘KC$abc123’;

再查下用户
输入:select host, user, authentication_string, plugin from user;

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

输入:GRANT ALL ON . TO ‘root’@’%’;
配置成功

8.客户端连接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

9.客户端连接mysql还报错
  1. 查看防火墙状态,关闭状态
  2. 阿里云需要开放3306端口
(0)

相关推荐

  • CentOS7 配置LAMP环境

    一.关闭防火墙 1.查看防火墙状态 systemctl status firewalld inactive 关闭状态 active  开启状态 2.关闭防火墙 systemctl stop firew ...

  • win10 安装 MySQL8.0版本

    最近在搭建基于Nest的Web API的项目,需要用到数据库,于是在我的本机win10上装MySQL,本以为是件很简单的事情,却是遇到各种问题,所以记录下,方便后期问题排查. 1 下载 首先下载安装包 ...

  • MySQL 8.0安装以及初始化错误解决方法

    MySQL 8.0 安装配置及错误排查 官网下载 CentOS7环境下的具体安装步骤 初始化MySQL发生错误的解决方法 忘记数据库root密码 官网下载 mysql官网下载链接:https://de ...

  • 【Linux系列】Centos 7安装 Mysql8.0(五)

    目的 本文主要介绍以下两点: 一. 如何安装Mysql8.0 二. Navicat连接Mysql 一. 如何安装Mysql8.0 安装Mysql有两种方式: 直接下载官方的源(比较慢) https:/ ...

  • flask连接mysql数据库报错

    错误信息: flask RuntimeError: 'cryptography' package is required for sha256_password or cach 原因分析及解决方案: ...

  • CentOS7安装MySQL8.0图文教程

    CentOS7安装MySQL8.0图文教程

  • CentOS7.6安装MySQL8.0(图文详细篇)

    目录 一.安装前准备 二.安装MySQL 三.设置远程登录 四.安装问题解决 五.设置MySQL开机自启 一.安装前准备 1.在官网下载MySQL安装包(注意下载的安装包类型)  2.查看是否安装ma ...

  • Centos7安装redis5.0.7

    Centos7安装redis5.0.7

  • windows server2019下安装mysql8.0.11

    一些说明 上篇写了安装mysql5.版本,8.和5.的加密方式不同 其他安装上基本相同 https://downloads.mysql.com/archives/community/ 配置初始化的my ...

  • centos7 yum安装/卸载mysql8图文教程

    一:卸载安装的mysql版本 查看安装的mysql rpm -qa | grep -i mysql yum移除mysql依赖(以上所有的都需要移除完) yum remove -y mysql-comm ...

  • mysql8.0.21下载安装详细教程,mysql安装教程

    MySQL最新版8.0.21安装教程 RDBMS(Relational Database Management System):关系型数据库管理系统 官网:https://www.mysql.com/ ...

  • centos7安装rabbitmq3.7.9 | 易学教程

    感谢此兄: https://blog.51cto.com/huwei555/2341513?source=dra  (centos7 安装rabbitmq 3.7) 以root用户登录. cd /ho ...