这是我做毕业设计时候,用Spring MVC + MySQL时出现的一些问题,错误的地方还请大家指正。

Mysql安装的时候可以选择msi安装和zip解压缩两种安装方式。msi安装是通过安装包安装,我采用的是zip解压缩方式。1、

1、下载压缩包

地址:https://dev.mysql.com/downloads/mysql/

进入下载地址后  DOWNLOADS--->Community--->MySQL Community Server  然后往下面翻得到下图


mysql 安装docker compose MySQL 安装包错initializing_MySQL_02


mysql 安装docker compose MySQL 安装包错initializing_MySQL_03


mysql 安装docker compose MySQL 安装包错initializing_解压缩_04


my.ini需要自己加上去 其中的内容

[mysqld]

#设置

port=3306

#设置mysql的安装目录

#basedir=C:\Program Files\MySQL

#设置mysql数据库的数据的存放目录

datadir=C:\Program Files\MySQL\Data

#允许最大连接数

max_cnotallow=200

#允许连接失败的次数。

max_connect_errors=10

#服务端使用的字符集默认为UTF8

character-set-server=utf8

#创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

#默认使用“mysql_native_password”插件认证

#mysql_native_password

default_authentication_plugin=mysql_native_password

[mysql]

#设置mysql客户端默认字符集

default-character-set=utf8

[client]

#设置mysql客户端连接服务端时默认使用的端口

port=3306

default-character-set=utf82、配置环境变量

打开编辑系统环境变量

mysql 安装docker compose MySQL 安装包错initializing_解压缩_05


mysql 安装docker compose MySQL 安装包错initializing_解压缩_06

3、安装
用管理员的身份运行cmd

mysql 安装docker compose MySQL 安装包错initializing_解压缩_07


进入bin目录后,输入mysqld --install安装服务,因为我已经安装过了,所以显示已经存在

然后初始化日志 mysqld --initialize --console 这一步可以得到初始密码,后面用得上 密码在 root@localhost后面 先复制下来保存。这一步可能会出现没用C:\Program Files\MySQL\Data这个路径不存在的错误,创建一个即可。

mysql 安装docker compose MySQL 安装包错initializing_MySQL_08


4、启动服务

net start mysql

5、登录

mysql -uroot -p

p后面就是刚刚保存的密码

输入密码本以为就可以用了,可是出现错误Access denied for user ‘root’@‘localhost’ (using password: YES)

mysql 安装docker compose MySQL 安装包错initializing_mysql_09


下面就来解决这个问题

1、关闭服务

net stop mysql

2、输入

mysqld --defaults-file=“D:\mysql-8.0.15-winx64\my.ini” --console --skip-grant-tables

上面的my.ini路径是自己的路径

3、重启服务

net start mysql

4、登录

mysql -uroot -p

p后面就是刚刚保存的密码

mysql 安装docker compose MySQL 安装包错initializing_解压缩_10


5、登录后需修改密码

alter user ‘用户名’@‘登录主机’ identified by ‘密码(自定义)’;

mysql 安装docker compose MySQL 安装包错initializing_MySQL_11


然后大功告成。

我迫不及待的在自己搭的Spring MVC环境上试了一下结果出现Could not retrieve transation read-only status server

这是因为我的MySQL是8.0,而我的驱动包是5.1,改成8.0即可。

然后又出现The server time zone value ‘???ú±ê×??±??’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

这还是由于版本问题 将url改成

url=jdbc:mysql://localhost:3306/项目名useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimeznotallow=UTC

然后运行,没有问题了。