zoukankan      html  css  js  c++  java
  • centos7上安装mysql8(下)

    1.修改root密码

    MySQL8和5的密码加密方式不同,mysql_native_password是5的加密方式。mysql已经将之前的mysql_native_password认证,修改成了caching_sha2_password认证方式。所以,使用类似于navicat或是sqlyog这些客户端时,默认使用还是mysql_native_password认证方式,所以即使输入正确的用户和密码依然登录不成功。所以在修改密码之前要先做一件事,就是找到mysql的配置文件(vim /etc/my.cnf) 把密码的加密方式改成之前版本的,8.0版本更换了密码的加密方式,我们就先用旧的..

    把上面图片里这一行信息前面的"#"删掉,改完之后记得重启服务(systemctl restart mysqld)

    mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
    grep 'temporary password' /var/log/mysqld.log

    登录mysql,用刚才从文件中找到的密码
    mysql -uroot -p
    ^%#&^&(你的密码)
    登录后不允许进行任何操作,干啥都会报错,说你要修改密码才能用.像下图这样:

    尝试修改密码,使用下面的命令修改root用户的密码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

    2.远程登录

    查看当前数据库的用户表

    select host, user, authentication_string, plugin from user; 

    一般不允许root用户进行远程登录,我先记录一下命令,这个是root远程登录授权的命令
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;
    然后我们去给一个非root用户授权.也就是说root用户可以本地登录,远程登录就用这个用户
    先创建用户,然后再授权(这里貌似也是个坑,之前版本是可以直接用上面这条命令的,系统会帮你创建用户.但是现在需要用下面这这两条命令)
     
    创建用户(user1:用户名;%:任意ip,也可以指定,root默认就是localhost;123456:登录密码)
    CREATE USER 'lyt'@'%' IDENTIFIED BY 'lyt$2018';
     
    授权,默认创建的用户权限是usage,就是无权限,只能登录而已
    (all:所有权限,这里有select,update等等权限,可以去搜一下;后面的*.*:指定数据库.指定表,这里是所有;to后面就是你刚才创建的用户)

    grant all on *.* to 'lyt'@'%';
    flush privileges;

    注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令: 
    GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
     
    创建完记得测试一下,随便你怎么测.然后就弄完了啊,可以去敲代码了.

  • 相关阅读:
    20165229预备作业三
    20165529学习基础和C语言基础调查
    20165229我所期待的师生关系
    20165210 Java第七周学习总结
    20165210 Java第六周学习总结
    20165210 Java第一次实验报告
    20165210 Java第五周学习总结
    20165210 Java第四周学习总结
    20165210 Java第三周学习总结
    20165210 Java第二周学习总结
  • 原文地址:https://www.cnblogs.com/peteremperor/p/11268673.html
Copyright © 2011-2022 走看看