第二周——1.项目中MySQL版本问题
1.版本升级
经组长推荐,本地安装的是mysql-8.0.11,而主项目用的还是版本5.6,
因此需要升级版本。
- 首先,更新驱动:
下载mysql-connector-java-8.0.11,将E:\Project\wizdom-urban-v14\develop\app\target\egova-app\WEB-INF\lib\mysql-connector-java-5.1.30.jar
替换成mysql-connector-java-8.0.11.jar - 然后,修改E:\Project\wizdom-urban-v14\develop\app\src\main\webapp\WEB-INF\classes\jdbc.properties
将所有的驱动名更换:driverClassName=com.mysql.cj.jdbc.Driver
2.版本不同导致的问题
- 在mysql安装目录下要手动创建my.ini配置文件,因为解压之后没有这个配置文件,所以要自己添加,如下:
8版本的my.ini 配置项 键值对中的值,即等号右边的值可以省略引号
1 [mysqld] 2 #skip-grant-tables 3 # 设置3306端口 4 port=3306 5 # 设置mysql的安装目录 6 basedir=D:\Program Files\mysql-8.0.18-winx64\mysql-8.0.18-winx64 7 # 设置mysql数据库的数据的存放目录 8 datadir=D:\Program Files\mysql-8.0.18-winx64\mysql-8.0.18-winx64\data\ 9 # 允许最大连接数 10 max_connections=200 11 # 允许连接失败的次数。防止有人从该主机试图攻击数据库系统 12 max_connect_errors=10 13 # 服务端使用的字符集默认为UTF8 14 character-set-server=utf8 15 # 创建新表时将使用的默认存储引擎 16 default-storage-engine=INNODB 17 # 默认使用“mysql_native_password”插件认证 18 default_authentication_plugin=mysql_native_password 19 # sql模式,这里如果没有设置,5版本支持的SQL语句在8版本可能会报错 20 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION 21 [mysql] 22 # 设置mysql客户端默认字符集 23 default-character-set=utf8 24 [client] 25 # 设置mysql客户端连接服务端时默认使用的端口 26 port=3306 27 default-character-set=utf8
3. 在jdbc.properties配置文件中
url要加
serverTimezone=GMT%2B8&useSSL=false,否则报错
biz.jdbc.url=jdbc:mysql://127.0.0.1:3306/cgdb?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false