zoukankan      html  css  js  c++  java
  • 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设置方式

    先看看当前的密码验证策略
    输入:SHOW VARIABLES LIKE ‘validate_password.%’;


    策略说明
    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;
    再执行修改密码的命令
    输入: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还报错
    查看防火墙状态,关闭状态
    阿里云需要开放3306端口

    ————————————————
    版权声明:本文为CSDN博主「our_times」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/our_times/article/details/98882701

  • 相关阅读:
    68
    56
    Django manager 命令笔记
    Django 执行 manage 命令方式
    Django 连接 Mysql (8.0.16) 失败
    Python django 安装 mysqlclient 失败
    H.264 SODB RBSP EBSP的区别
    FFmpeg—— Bitstream Filters 作用
    MySQL 远程连接问题 (Windows Server)
    MySQL 笔记
  • 原文地址:https://www.cnblogs.com/javalinux/p/14922804.html
Copyright © 2011-2022 走看看