mysql升级到5.7

最近遇到一个问题,执行下列语句会报错:

CREATE TABLE `t_user`  (
  `USER_ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `USERNAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
  `PASSWORD` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
  `DEPT_ID` bigint(20) NULL DEFAULT NULL COMMENT '部门ID',
  `EMAIL` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `MOBILE` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系电话',
  `STATUS` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '状态 0锁定 1有效',
  `CREATE_TIME` datetime(0) NOT NULL COMMENT '创建时间',
  `MODIFY_TIME` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
  `LAST_LOGIN_TIME` datetime(0) NULL DEFAULT NULL COMMENT '最近访问时间',
  `SSEX` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别 0男 1女 2保密',
  `AVATAR` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',
  `DESCRIPTION` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述',
  PRIMARY KEY (`USER_ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 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文件夹,或者CProgramDataMySQLdata。

2.管理员身份运行命令行,输入

net stop mysql

命令,停止mysql服务。

3.输入

sc delete mysql

命令,删除mysql服务。

4.卸载当前版本MySQL。

安装MySQL5.7

1.下载mysql

可以下载上面的安装包,我这里下载的是zip。

 解压MySQL 5.7.17压缩包到对应目录(示例:E:Softwaremysql-5.7.17-winx64)。

2.在根目录下添加my.ini文件。内容如下:

[mysqld]
basedir = E:Softwaremysql-5.7.17-winx64
datadir = E:Softwaremysql-5.7.17-winx64data
port = 3306
default-character-set = utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
[WinMySQLadmin]
Server = E:Softwaremysql-5.7.17-winx64inmysqld.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 '123456';

输入:

flush privileges;

刷新。

输入

quit;

退出mysql。

之前备份的data目录,复制各数据库目录到新版MySQL的data目录,就可以了。

添加到环境变量

计算机--系统属性--高级系统设置--环境变量--在系统变量中找到path,点击编辑,然后把bin的路径复制到path里,点击确定,结束mysql的环境变量编辑。

原文地址:https://www.cnblogs.com/SunSAS/p/12346652.html