最近遇到一个问题,执行下列语句会报错:
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文件夹,或者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.17-winx64 datadir = E:\Software\mysql-5.7.17-winx64\data port = 3306 default-character-set = utf8 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [WinMySQLadmin] Server = E:\Software\mysql-5.7.17-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 '123456';
输入:
flush privileges;
刷新。
输入
quit;
退出mysql。
之前备份的data目录,复制各数据库目录到新版MySQL的data目录,就可以了。