最近遇到一個問題,執行下列語句會報錯:
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目錄,就可以了。