zoukankan      html  css  js  c++  java
  • mysql8.0 安装 修改密码 允许远程连接

    转自:https://www.cnblogs.com/xyabk/p/8967990.html

    mysql从5.7一下子跳跃到了8.0,其中的改变还是很大,有点这里就不说了,小伙伴们自己去百度了解一下,这里重点说一下,安装的事

    1.解压后,文件下下面是没有my.ini 和 data目录的,需要自己新建一个my.ini和data目录

    my.ini的基本代码就这几行配置,足矣,更详细的自己官网上看(F:mysql-8.0.11-winx64 是我的解压路径)

    [mysqld]
    basedir=F:mysql-8.0.11-winx64
    datadir=F:mysql-8.0.11-winx64data 
    port = 3306
    character-set-server=utf8
    #忘记密码时使用
    #skip-grant-tables
    #设置协议认证方式(重点啊)
    default_authentication_plugin=mysql_native_password

    [mysql]
    default-character-set=utf8

    2.配置环境变量,将解压目录下的bin文件夹的路径配置到系统变量中的path下(F:mysql-8.0.11-winx64in)

    3.以管理员身份运行命令提示符

    如果顺利会产生下面的信息:

    第4行的信息尤其重要,这是初始化密码,请拿笔或者截图记下,这个随机密码会很随机,随机到可能有一些符号;

    提示:如果你关了这个窗口,或者没记住,那也没事,删掉初始化的 datadir 目录(就是解压文件夹下的data文件夹)里面的东西,不要删除data文件夹,再执行一遍初始化命令,又会重新生成的。

    4.安装服务 mysqld --install 服务名(可以不写,默认是MySql,如果你的电脑上要安装付哦个mysql,这里的服务名写一下做区分),安装成功后控制它会提示:success ** (忘记了)

    mysqld --install [服务名]

    5.启动服务(这时候不要去登录mysql,登录不进去的,必须要先启动)

    6.登录mysql,当然是为了修改密码啊,那个随机密码鬼才能记得住,这时候也不要尝试用图形化管理工具(navicat for mysql)去登录,会报错的,继续往下看

    这里踩坑的小朋友一般是密码输错了,或者服务没启动,一直登录不进去。

    7.修改密码

    ALTER USER "root"@"localhost" IDENTIFIED  BY "你的新密码";

     注意:重点啊,如果你没有设置认证方式,默认的密码加密方式是:caching_sha2_password,而现在很多客户端工具还不支持这种加密认证方式,连接测试的时候就会报错:client does not support  authentication protocol requested by server; consider upgrading MySQL client,这里的错误信息就是不支持身份认证方式,没关系,去my.ini里面在[mysqld]下面加上这句话即可:

    default_authentication_plugin=mysql_native_password

    或者命令行:
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

     8.打开远程访问

    对于允许远程访问,有两种角色,一种是我们的root用户,还有一种是非root用户,从安全的角度(我也不知道什么角度,听别人说的,暂且相信着吧),远程访问最后不要用root用户

    用root用户访问:
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;

    这里允许root用户远程的时候,如果出现如下的错误,就先去把root用的host改成%,再运行上面那句话,对于mysql用户管理这一块不熟悉的朋友们,请看我另一篇博客--mysql 用户及权限管理

    非root用户,这里就要先去创建一个用户

    切换数据库
    mysql>use mysql;
    
    创建用户(user1:用户名;%:任意ip,也可以指定,root默认就是localhost;123456:登录密码)
    mysql>CREATE USER 'user1'@'%' IDENTIFIED BY '123456';

    授权,默认创建的用户权限是usage,就是无权限,只能登录而已,(all:所有权限,这里有select,update等等权限,可以去搜一下;后面的*.*:指定数据库.指定表,这里是所有;to后面就是你刚才创建的用户)

    mysql>grant all on *.* to 'user1'@'%';

    注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令: 
    GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION; 

    到这里mysql8.0就安装完成啦!密码也改好啦,远程也能打开了,于是继续做一个码农去啦!

  • 相关阅读:
    Atitit  Uncaught (in promise) SyntaxError Unexpected token < in JSON at position 0
    Atitit  验证 数字验证 非空验证的最佳算法  h5
    Atitit 转移特效attilax总结
    Atitit Loading 动画效果
    Atitit 项目管理 提升开发效率的项目流程方法模型 哑铃型  橄榄型 直板型
    Atitit hibernate3 hinernate4 hibernate5新特性attilax总结
    Atitit js es5 es6新特性 attilax总结
    Atitit mybatis 3 3.2 3.3  3.4 新特性attilax总结
    Atitit spring 3.0 3.1 3.2 4.0 4.3 5.0 新特性
    Atitit jquery  1.4--v1.11  v1.12  v2.0  3.0 的新特性
  • 原文地址:https://www.cnblogs.com/xuqp/p/9197358.html
Copyright © 2011-2022 走看看