站保站

服务市场
  • 网站市场
  • 单机游戏
  • 平台大厅
  • 转让市场
  • 发卡市场
  • 广告市场
  • 下载市场
  • 收录市场
  • 本站平台
    平台客服
    微信Q群



    平台微博/weibo    平台微信/公众号    平台抖音/快手   
    曝光台    保障    地图   
    上传资源 快速赚钱
    站保站    登录      |  注册  |  

    只需一步,快速开始!

     找回密码   |   协议
    热门搜索: 网站开发 App报毒 挖矿源码 代办资质

    mysql8+避坑指南

    • 时间:2020-10-27 14:14 编辑:qq_29142427 来源: 阅读:52
    • 扫一扫,手机访问
    摘要:

    @## mysql8+避坑指南

    总结了三个我遇到的坑

    安装包下载

    下载地址:https://dev.mysql.com/downloads/mysql/

    点击下载之后,可以选择注册Oracle账号,也可以跳过直接下载。

    下载完成后,选择一个磁盘内放置并解压。

    如果官网龟速下载,建议使用下面镜像巨快。相对的~
    Mysql国内镜像:http://mirrors.sohu.com/mysql/MySQL-8.0/

    下载完成之后,解压即可!

    安装

    (1)
    变量名:MYSQL_HOME
    变量值:E:\mysql-5.7.20-winx64
    (2)生成data文件
    以管理员身份运行cmd
    进入E:\python\mysql\mysql-8.0.12-winx64\bin>下
    执行命令:mysqld --initialize-insecure --user=mysql 在E:\python\mysql\mysql-8.0.12-winx64\bin目录下生成data目录
    (3) 安装MySQL
    继续执行命令:mysqld -install
    (4)启动服务
    继续执行命令:net start MySQL
    (5)登录MySQL
    登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可)
    F:\mysql-8.0.12-winx64\bin>mysql -u root -p
    (6)查询用户密码
    查询用户密码命令:mysql> select host,user,authentication_string from mysql.user;

    MySql8.0修改root密码

    MySQL 5.7 的版本,因为在user表中没有password字段,一直使用下边的方式来修改root密码
    .
    use mysql;
    .
    .
    update user set authentication_string = password(“root”) where user = “root”;
    .
    现在要用MySQL8.0.11版本,装好MySQL后用上边方法修改密码,一直报错。后来去掉password()函数后,没有报错,但是输入密码时不对。
    查阅后才知道在mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码,而authentication_string字段下只能是mysql加密后的41位字符串密码。所以需要用一下方式来修改root密码:

    ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘newpassword’;
    MySql 从8.0开始修改密码有了变化,在user表加了字段authentication_string,修改密码前先检查authentication_string是否为空
    1、如果不为空
    .use mysql;
    .update user set authentication_string=’’ where user=‘root’;–将字段置为空
    .ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘root’;–修改密码为root
    2、如果为空,直接修改
    ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘root’;–修改密码为root
    如果出现如下错误
    .ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    .mysql> GRANT ALL PRIVILEGES ON . TO IDENTIFIED BY ‘123’ WITH GRANT OPTION;
    需要执行
    flush privileges;
    然后再执行
    ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘root’;–修改密码为root

    Mysql权限修改

    1.首先查看防火墙状态
    防火墙版本的不同命令也会有不同
    0.4的命令为
    systemctl status firewall.service
    0.5的命令为
    systemctl status firewalld
    防火墙没有运行
    2.命令登入服务器mysql
    3.执行下面语句添加权限
    use mysql;
    select host, user, authentication_string, plugin from user;
    查看user表的root用户Host字段是localhost,说明root用户只能本地登录,现在把他改成远程登录
    update user set host=’%’ where user=‘root’;
    4.刷新权限
    所有操作后,应执行
    FLUSH PRIVILEGES;
    执行后继续连接发现还是报错

    查找问题后发现
    MySQL8.0之前的版本密码加密规则:mysql_native_password,
    MySQL8.0密码加密规则:caching_sha2_password
    不一样
    5.修改mysql加密规则

    输入命令

    ALTER USER ‘root’@’%’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
    ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘password’;

    加密规则改了也同样设置密码
    ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘新的密码’;
    再试

    如有侵权,请联系删除。

    • 全部评论(0)
    • 最新

    信息加载中,请等待

    微信客服(速回)

    微信客服(慢回)



    企业微信客服二维码
    联系我们
    平台客服: 平台QQ客服

    平台电话:400电话迁移中!

    平台邮箱:28292383@qq.com

    工作时间:周一至周五:早10:00 晚:18:00

    营业执照     网站ICP备案:鲁ICP备20027607号-1     鲁公网安备:37068702000078号     增值电信业务经营许可证、在线数据与交易处理业务许可证:鲁B2-20200681      © 2016-2024 站保站  https://www.zhanbaozhan.com/ 版权所有!      平台规范:   关于我们   广告合作   隐私条款   免责声明   法律声明   服务条款   网站地图   平台工单!