关于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中支持空间数据类型
更好地支持对亚洲语言的处理
关于mysql5.7的一些变化的更多相关文章
- 升级MySQL5.7.22版本_总结记录
目录 一. mysql5.7安装 0. 背景 1. 准备:下载安装包 2. 安装流程小结 3. 具体步骤 二. mysql5.7的一些变化 一. mysql5.7安装 0. 背景 之前用的5.6版本, ...
- jdbc执行过程 jar包下载
工具和准备: MYSQL 8.0jar包: 链接:https://pan.baidu.com/s/1O3xuB0o1DxmprLPLEQpZxQ 提取码:grni 使用eclipse开发首先把jar包 ...
- MySQL5.7 GTID学习笔记,[MySQL 5.6] GTID实现、运维变化及存在的bug
GTID(global transaction identifier)是对于一个已提交事务的全局唯一编号,前一部分是server_uuid,后面一部分是执行事务的唯一标志,通常是自增的. 下表整理 ...
- mysql5.5字符集设置的一点变化(对于中文乱码问题,需要设置mysql字符集)
工作中因为字符集问题没少头疼,还犯过一次错误,还好拯救及时,没有发生重大事故,唉,弄清楚点还是非常有必要的: 例如我的工作环境为CTR+redhat5+mysql5.5 在导入sql语句的时候必须要注 ...
- Mysql5.7前后修改用户密码变化
本文主要强调修改密码的sql语句变化.如果是root密码忘记了,请参考Mysql忘记root密码怎么解决 Mysql 5.7以前修改密码 update mysql.user set password= ...
- Mysql5.6 online ddl
Innodb性能改善方面: --Users can add indexes and perform standard table alterations while the database rema ...
- mysql5.6新特性总结
一. server参数默认值设置的变化http://dev.mysql.com/doc/refman/5.6/en/server-default-changes.html 二. innodb增强1.全 ...
- mysql5.5的安装与配置(亲测版)
mysql5.5.x的编译安装 说明:5.5和5.1差不多,只是在编译时增加了一个cmake,其他基本一样,mysql5.5默认编码是utf-8,在使用mysql5.5配置lnmp或者lamp后安装d ...
- mysql5.5手册读书日记(4)
<?php /* InnoDB事务模型和锁定 15.2.10.1. InnoDB锁定模式 15.2.10.2. InnoDB和AUTOCOMMIT 15.2.10.3. InnoDB和TRANS ...
随机推荐
- RSQLite 操作sqlite数据库
RSQLite 可以在R中方便的创建sqlite数据库,并进行检索, 这个R包依赖于DBI包 github 上的地址:https://github.com/rstats-db/RSQLite gith ...
- Oracle查询优化-插入、更新与删除
--插入.更新与删除 --1.插入新纪录 --1.1.建立测试表 DROP TABLE TEST; CREATE TABLE TEST( C1 ) DEFAULT '默认1', C2 ) DEFAUL ...
- oracle 死锁和锁等待的区别
所谓的锁等待:就是一个事务a对一个数据表进行ddl或是dml操作时,系统就会对该表加上表级的排它锁,此时其他的事务对该表进行操作的时候会等待a提交或是回滚后,才可以继续b的操作 所谓的死锁:当两个或多 ...
- DOTween中的Time.Scale
因为在做游戏暂停的时候通常会使用Time.Scale = 0 ,可是暂停的时候UI如果需要继续有动画怎么办呢?在DoTween中只需要设置 tweener.SetUpdate(true ...
- 如何在 React Native 中写一个自定义模块
https://my.oschina.net/jpushtech/blog/983230
- GIS-ArcGIS 数据库备份还原
Create directory sdebak as 'E:\10_DataFile'; alter system set deferred_segment_creation=false; ALTER ...
- shell基础篇(四)算术运算
---内容来源于http://www.jb51.net/article/31232.htm shell中的赋值和操作默认都是字符串处理,1.错误方法举例 a) var=1+1 echo $var 输出 ...
- 【RF库Collections测试】Get Dictionary Items
Name:Get Dictionary ItemsSource:Collections <test library>Arguments:[ dictionary ]Returns item ...
- 首个vue.js项目收尾中……
前言: 4.26号入手vue.js+elementUI,迄今为止我们的工作应该可以暂时告一段落了:下周开始,又是新的“征程”. 过程:站在接近完成的角度来看这个项目,似乎的确有许多事情需要自己阐述. ...
- js array.filter实例(数组去重)
语法: 循环对数组中的元素调用callback函数, 如果返回true 保留,如果返回false 过滤掉, 返回新数组,老数组不变 var new_array = source_array.filt ...