mysql5.5使用中遇到了一下sql无法执行,最后查阅资料知道是因为版本过低,又不想卸載5.5,所以只有去配置一個新版本的mysql,下载了一個mysql8.017解壓版(最新的),我们不得不在同一台机器上安装两个版本mysql。
这个sql在mysql5.5执行会报错,原因是DATETIME类型不支持NOW()函数
DROP TABLE IF EXISTS `orm_user`;
CREATE TABLE `orm_user` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键',
`name` VARCHAR(32) NOT NULL UNIQUE COMMENT '用户名',
`password` VARCHAR(32) NOT NULL COMMENT '加密后的密码',
`salt` VARCHAR(32) NOT NULL COMMENT '加密使用的盐',
`email` VARCHAR(32) NOT NULL UNIQUE COMMENT '邮箱',
`phone_number` VARCHAR(15) NOT NULL UNIQUE COMMENT '手机号码',
`status` INT(2) NOT NULL DEFAULT 1 COMMENT '状态,-1:逻辑删除,0:禁用,1:启用',
`create_time` DATETIME NOT NULL DEFAULT NOW() COMMENT '创建时间',
`last_login_time` DATETIME DEFAULT NULL COMMENT '上次登录时间',
`last_update_time` DATETIME NOT NULL DEFAULT NOW() COMMENT '上次更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Spring Boot Demo Orm 系列示例表';
开始配置解压版
1、下载新版本的mysql(解压版),并解压到一个干净的目录下;
mysql下载地址:https://dev.mysql.com/downloads/mysql/
我是解压到这个位置:
2、在安装目录下创建mysql配置文件my.ini,并设置参数.
配置如下:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3307端口
port = 3307
# 设置mysql的安装目录
basedir = D:\\soft_install\\mysql-8.0.17-winx64
# 设置mysql数据库的数据的存放目录
datadir = D:\\soft_install\\mysql-8.0.17-winx64\\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 创建模式
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
参数说明 port 3307 ,避免与安装版的默认端口冲突
3、安裝新的mysql服务,并配置.
-
以管理员的身份进入到myql的解压目录的bin目录下:
-
安装解压版的mysql服务
安装版已经有一个mysql的服务了,避免重名所以新装的是mysql2
mysqld install mysql2
如果安装失败使用以下命令删除mysql2服务,并重新执行上述操作.
mysqld --remove mysql2
或
sc delete mysql2
在计算机管理中查看mysql服务,多了一个mysql2的服务
-
修改mysql2注册表 ,开始搜索栏输入regedit
打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql2,修改ImagePath参数,更正mysql2服务相关路径。
将其改为你的解压版的路径,默认是安装版的路径,不修改的话你将无法启动mysql2服务
4、初始化数据,修改root用户密码
-
初始化数据是创建目录下配置的data目录,并初始化数据
mysqld --initialize
或
mysqld --initialize --console
区别是加了--console的会将临时密码打印在控制台,不加的会将密码放在data目录下的XXX.err文件中,记住临时密码
-
启动mysql2服务
net start mysql2
-
登录mysql2服务
mysql -P3307 -uroot -p
输入刚刚的临时密码.
登陆成功
-
修改root用户的密码:
alter user 'root'@'localhost' identified with mysql_native_password by '新密码';
-
退出验证新密码
5、使用navicat验证登录
安装版的5.5mysql服务
解压版的msyql8.0.17的mysql2