mysql升级到5.7
最近遇到一个问题,执行下列语句会报错:
CREATE TABLE `t_user` (
`USER_ID` bigint() NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`USERNAME` varchar() CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
`PASSWORD` varchar() CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
`DEPT_ID` bigint() NULL DEFAULT NULL COMMENT '部门ID',
`EMAIL` varchar() CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
`MOBILE` varchar() CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系电话',
`STATUS` char() CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '状态 0锁定 1有效',
`CREATE_TIME` datetime() NOT NULL COMMENT '创建时间',
`MODIFY_TIME` datetime() NULL DEFAULT NULL COMMENT '修改时间',
`LAST_LOGIN_TIME` datetime() NULL DEFAULT NULL COMMENT '最近访问时间',
`SSEX` char() CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别 0男 1女 2保密',
`AVATAR` varchar() CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',
`DESCRIPTION` varchar() CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',
PRIMARY KEY (`USER_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;
具体说是第9行的语法错误,提示我是否因为mysql版本导致。然后查看自己的mysql版本:
mysql -u root -p
输入密码查看打印的日志,即可看到mysql版本(当然你得把mysql添加到环境变量,否则得去myql的bin下)。
发现我的是mysql5.5,所以来升级到5.7吧。
这里就直接把老版卸载了:
1.首先备份自己数据,一般在mysql下的data文件夹,或者C\ProgramData\MySQL\data。
2.管理员身份运行命令行,输入
net stop mysql
命令,停止mysql服务。
3.输入
sc delete mysql
命令,删除mysql服务。
4.卸载当前版本MySQL。
安装MySQL5.7
1.下载mysql:

可以下载上面的安装包,我这里下载的是zip。
解压MySQL 5.7.17压缩包到对应目录(示例:E:\Software\mysql-5.7.17-winx64)。
2.在根目录下添加my.ini文件。内容如下:
[mysqld]
basedir = E:\Software\mysql-5.7.-winx64
datadir = E:\Software\mysql-5.7.-winx64\data
port =
default-character-set = utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLadmin]
Server = E:\Software\mysql-5.7.-winx64\bin\mysqld.exe
user = root
password =
[client]
default-character-set = utf8
注意自己安装的路径是否匹配。
3.安装mysql服务。
管理员身份进入命令行,进入bin目录(切换盘符直接输入E),输入mysqld --initialize命令。
输入mysqld --install命令,安装MySQL服务。
再执行net start mysql启动MySQL。
MySQL 5.7初始化话是创建了临时密码,在data目录下以管理员名称命名的err文件:

输入 mysql -u root -p 命令,让你输入密码,单击右键复制密码。

进入mysql,修改密码为123456,输入(这是sql语句,有分号结束):
alter user 'root'@'localhost' identified by '';
输入:
flush privileges;
刷新。
输入
quit;
退出mysql。
之前备份的data目录,复制各数据库目录到新版MySQL的data目录,就可以了。
添加到环境变量
计算机--系统属性--高级系统设置--环境变量--在系统变量中找到path,点击编辑,然后把bin的路径复制到path里,点击确定,结束mysql的环境变量编辑。
mysql升级到5.7的更多相关文章
- MySQL 升级详细步骤 (包括 Percona)
MySQL 升级步骤 MySQL 5.1.72 升级到 MySQL 5.5.36 鉴于我在升级的时候遇到的麻烦问题,我觉得有必要把一些细节说清楚,免得引起误解了.感觉官方文档上的升级步骤写的比较简单, ...
- mysql升级小结和mysql_upgrade的用途
http://blog.itpub.net/15480802/viewspace-1412259/ mysql升级 1 升级方式 分为In-place和out-of-place,前者直接覆盖当前版本, ...
- MySQL 升级方法指南大全
原文:MySQL 升级方法指南大全 通常,从一个发布版本升级到另一个版本时,我们建议按照顺序来升级版本.例如,想要升级 MySQL 3.23 时,先升级到 MySQL 4.0,而不是直接升级到 MyS ...
- (2.1)mysql升级与降级
(2.1)mysql升级与降级 转自:深入浅出mysql数据库开发.优化与管理第二版 1.mysql升级 2.mysql降级
- MySQL升级后1728错误解决方案
MySQL升级后1728错误解决方案 错误 # 1728,Cannot load from mysql.proc. The table is probably corrupted 造成原因:MySQL ...
- PHPnow For ASP&&ASP.NET&&MongoDB&&MySQL支持VC6.0编译器&&MySQL升级
可能和大家熟悉的是LAMP,Linux+Apache+Mysql+PHP,在Windows上,可能大家比较熟悉的是WAMP,Windows+Apache+Mysql+PHP,这是一个集成环境,说到集成 ...
- mysql升级php找不到pdo
最近把mysql升级到了5.6,当时工作正常,等周末一来php报错,提示找不到pdo. 甚是奇怪啊,看了一下phpinfo,果然没有mysql的pdo驱动了. 于是用yum又重新安装php-pdo,还 ...
- MySQL升级指南
一 .MySQL升级 1.官方升级策略 注意 升级过程中必须使用具有管理权限的MySQL帐户来执行SQL语句. 1.升级方法 逻辑升级: 涉及使用 mysqldump从旧的MySQL版本导出现有数据 ...
- mysql升级的一些踩坑点
升级的方法一般有两类: 1.利用mysqldump来直接导出sql文件,导入到新库中,这种方法最省事也最保险 缺点:大库的mysqldump费时费力. 2.直接替换掉 mysql 的安装目录和 my. ...
- mysql升级到5.7时间戳(timestamp)默认值报错
原文:mysql升级到5.7时间戳报错 往数据库里创建新表的时候报错: [Err] 1067 - Invalid default value for 'updateTime' DROP TABLE I ...
随机推荐
- 解决git报错:error: RPC failed; curl 18 transfer closed with outstanding read data remaining 的方法
报错信息: error: RPC failed; curl 18 transfer closed with outstanding read data remainingfatal: the remo ...
- 《快乐编程大本营》java语言训练班 3课:java的运算符
第1节. 算术运算符 第2节. 递增和递减运算符 第3节. 比较运算符 第4节. 逻辑运算符 第5节. 运算符优先级 第6节. 字符串运算 http://code6g.com/pxphp/px/ban ...
- Unreal Engine 4 蓝图完全学习教程(五)—— 关于数组
Ⅰ.数组的含义及使用 数组是能统一保存若干数值的特殊变量.数组可以指定编号.运用其中的值,因此能够有序地管理大量的数据. 首先试图将上次创建的msg变量修改成数组,在细节栏点击修改: 并选择“修改变量 ...
- vb.net datagridview 使用方法
目录: 1. 取得或者修改当前单元格的内容 2. 设定单元格只读 3. 不显示最下面的新行 4. 判断新增行 5. 行的用户删除操作的自定义 6. 行.列的隐藏和删除 7. 禁止列或者行 ...
- 自动化测试用例中的raise
1.一次自动化测试学习中,expect异常中包含“raise e”,这是什么意思呢? 2.网上查了一下,大概意思是:若有异常,不会执行一下的操作,但是明明是语句后确实没有其他语句呀. 3.注释掉之后, ...
- Fastjson <=1.2.62 远程代码执行-漏洞复现
影响范围: Fastjson<=1.2.62 需要开启autotype poc: String text1 = "{\"@type\":\"org.apa ...
- 神奇的 SQL 之 WHERE 条件的提取与应用
开心一刻 小明:为什么中国人结婚非要选一个好日子呢 ? 楼主:嗯 ? 那肯定啊,结完婚之后你还能有好日子吗 ? 小明:那结婚时所说的白头到老是真的吗 ? 楼主:这哪能是真的,你看现在,头发还没白就秃了 ...
- flyway使用简介
官网 https://flywaydb.org/ 背景 Flyway是独立于数据库的应用.管理并跟踪数据库变更的数据库版本管理工具.用通俗的话讲,Flyway可以像Git管理不同人的代码那样,管理不同 ...
- toj 3616 Add number (没想到啊~~)
Add number 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交: 60 测试通过: 21 描述 Employees of Baidu like ...
- web渗透之XSS基本介绍
想学XSS必须得有基本得JS知识 JS基础BOM XSS漏洞原理 XSS(Cross Site Script),全称跨站脚本攻击.它指的是攻击者往web页面或者url里插入恶意JavaScript脚本 ...