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 ...
随机推荐
- struts.xml头部代码
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "- ...
- 严重 [RMI TCP Connection(3)-127.0.0.1]
学习Servlet时碰到的一个bug. Connected to server [2017-01-08 04:40:33,100] Artifact jspRun:war exploded: Arti ...
- 关于java String类的getBytes(String charsetName)和String(byte[] bytes, String charsetName)
public byte[] getBytes(Charset charset) Encodes this String into a sequence of bytes using the given ...
- Java集合XMind与注意事项
Java中集合使用时的几个注意事项: 1.ArrayList和HashMap都具有扩容 ArrayList初始化数组长度为10,扩容后的容量为原来的1.5倍. HashMap初始化的数组长度为16,扩 ...
- pyspark 记录
import os import sys spark_name = os.environ.get('SPARK_HOME',None) if not spark_name: raise ValueEr ...
- Codeforces Gym101234G Dreamoon and NightMarket(优先队列,子集和第k大)
题意: 求子集和第k大,n,k<=1e6 思路: 优先队列经典题目,注意优先队列是默认按从大到小排的 代码: #include<iostream> #include<cstdi ...
- Disk:磁盘管理之LVM和系统磁盘扩容
简介 小伙伴们好,好久不见,今天想给大家介绍一下关于磁盘管理的方法和心得:磁盘管理可谓运维工作中的重要内容,主要包括磁盘的合理规划以及扩缩容 常用的磁盘管理方法为LVM(Logical Volume ...
- Go语言实现:【剑指offer】把数组排成最小的数
该题目来源于牛客网<剑指offer>专题. 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字 ...
- Doug Hennig的自定义 DataEnvironment 和 CursorAdapter 类文件 -- SFDataClasses
Doug Hennig的自定义 DataEnvironment 和 CursorAdapter 类文件 -- SFDataClasses.vcx,其中包括:SFCursorAdapter 和 SFDa ...
- k8s 安装 prometheus 过程记录
开始以为只要安装 prometheus-operator 就行了. git clone https://github.com/coreos/prometheus-operator.git cd pro ...