zoukankan      html  css  js  c++  java
  • yum 安装Mysql8.0

    系统: CentOS 7(在CentOS 7中默认有安装MariaDB,这个是mysql的分支,一般来说还是使用自己安装的MySQL比较好)

    1、下载并安装MySQL

    wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

    下载到指定位置后,就可以执行安装了

    yum -y install mysql80-community-release-el7-3.noarch.rpm
    yum -y install mysql-community-server

    安装完成后,之前的MariaDB就会被覆盖掉

    2、启动MySQL

    启动MySQL服务:systemctl start  mysqld.service

    查看MySQL服务:systemctl status  mysqld.service

    查看MySQL是不是开机自启,可以执行命令查看开机自启列表

    systemctl list-unit-files|grep enabled

    此时如果要进入MySQL得找出root用户的密码,输入命令

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

    得到密码后,登录mysql,输入命令

    mysql -uroot -p

    然后回车,提示你输入密码,记得不要输错,输入时密码是不显示的。登录成功如下图

    此时,你需要给你的MySql重新设置密码,因为MySQL默认的就是必须修改密码后才能操作数据库。

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'Left@zuo123.';

    设置密码的时候需要遵守MySQL密码设置规范,如果不符合规范是不能修改成功的。

    如下图,我将密码设置为123456,它提示我 密码不符合规范

    总之呢,我们先将密码设置成比较复杂的就好,比如 Abc@123...,先登录了再说。

    如果想要设置简单好记的密码,可以修改密码设置规范,毕竟你不登录你就不能修改规范。

    查看密码规范

    SHOW VARIABLES LIKE 'validate_password%';

     

    密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:
    validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
    这时候我们将密码设置规范修改一下:
    set global validate_password.policy=0;
    set global validate_password.length=1;

    这时候就可以设置简单的密码了,比如123456

    最后一步,设置允许远程连接。

    如果直接使用命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; 会提示一个语法错误,有人说是mysql8的分配权限不能带密码隐士创建账号了,要先创建账号再设置权限。也有的说8.0.11之后移除了grant 添加用户的功能。

    创建新用户 admin

    创建用户:CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
    允许远程连接:GRANT ALL ON *.* TO 'admin'@'%';
    本人测试过,使用 update user set host = '%'  where user = 'root'; 也可以修改

     如果使用客户端连接提示了plugin caching_sha2_password错误,这是因为MySQL8.0的密码策略默认为caching_sha2_password

     使用命令修改策略

    ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 

    箭头指的两个用户是我修改过的

     然后关闭防火墙,测试连接成功!!

    文章为学习记录,如有错误,还望指出!!

  • 相关阅读:
    java容器01--初遇
    java虚拟机(1)--运行时数据区
    java虚拟机(2)--垃圾收集
    java虚拟机(3)--内存分配与回收策略
    java虚拟机(4)--类加载机制
    bash编程的信号捕获:
    awk纯干货
    shell中各种括号的作用()、(())、[]、[[]]、{}
    find
    awk
  • 原文地址:https://www.cnblogs.com/z0909y/p/10772854.html
Copyright © 2011-2022 走看看