zoukankan      html  css  js  c++  java
  • 关于mysql5.7的一些变化

    最近接了个项目,使用的数据库是5.7的,开始没太在意,但是在接手的过程中发送了些小插曲,特意记录下来。

    首先,我想自己安装个noinstall版本的,结果发信下载下来的和之前版本的不一样,没有data目录,my.ini 里几乎没有内容,看来使用以前的办法是不行了,看了下官方的文档。基本有下面3步需要做,

    • 确定好mysql的根目录,mysql的数据存储目录,按我的情况 D:/mysql 是根目录,我自己在这个目录下建了个data目录做数据存储目录 D:/mysql/data ,然后配置在my.ini 的文件里。

    basedir = "D:/MySql-5.7" datadir = "D:/MySql-5.7/data" port = 3307

    • 初始化数据库,需要在D:/mysql/bin 目录下,注意是bin目录下, 执行脚本命令: mysqld.exe --initialize --console。执行完后会有下面的类似结果出现。最后的是root用户的密码,需要记下来。而且我接下来使用Mysql WorkBench 连接的时候提醒,需要修改初试密码才能连接,这个不知道在别的软件上是不是也存在,因为Workbench是不能看到mysql库的。
    • 最后其实就可以启动mysql了,使用命令 mysqld.exe ,然后使用命令行连接 mysql.exe -P3307 -p,回车,然后输入上面图片里的密码。

    输入use mysql 的时候提示 :You must reset your password using ALTER USER statement before executing this statement. 需要执行下面的几行语句才可以继续使用。

    SET PASSWORD = PASSWORD(‘your new password‘);
    ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER;
    flush privileges;

    第一次我是可以直接use mysql的,然后修改密码的时候又遇到了问题,5.7的版本里已经没有password字段了。而是出现了authentication_string,password_expired,password_last_changed,password_lifetime 这几个字段,修改当前登录的root可以直接使用 set password=password('新密码'); flush privileges; 然后就生效了。这时也可以使用Mysql Workbench连接了。其他的用户我试了也可以把 authentication_string 当成以前的password 字段来修改密码,例如 update user set authentication_string=password('new_pwd') where User='root'。然后flush privileges。来使之生效。其他的字段再研究。

    搜了下还有些有意思的新东西,下面的是摘自其他博客的。

    一个是支持json,直接有个json类型,一般的客户端软件还不支持,手动建了一个,打算用workbench修改,直接报定义错误,这个换了个新的版本 6.3.7就支持了。

    在ONLY_FULL_GROUP_BY中具有更高的自由度

    在InnoDB中支持空间数据类型

    更好地支持对亚洲语言的处理

    具体看这里吧

  • 相关阅读:
    ajax原理和XmlHttpRequest对象
    在vue项目中 如何定义全局变量 全局函数
    杂乱知识 -- 记录工作或学习中遇到的一些点
    JavaScript中的数组遍历forEach()与map()方法以及兼容写法
    cookie的存取删
    微信小程序中公用内容
    mysql 多实例
    yum 安装和卸载
    rpm 安装卸载
    git blame
  • 原文地址:https://www.cnblogs.com/wayne173/p/5943324.html
Copyright © 2011-2022 走看看