数据库表的字符集操作
1.更改表的字符集
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2.查看表的数据集
SELECT TABLE_SCHEMA, TABLE_NAME, CCSA.character_set_name
FROM information_schema.TABLES T,
information_schema.COLLATION_CHARACTER_SET_APPLICABILITY CCSA
WHERE CCSA.collation_name = T.table_collation
AND T.table_schema = 'data' -- 替换为你的数据库名
AND T.table_name = 'customer_recharge_info'; -- 替换为你的数据表名
数据库解决死锁问题
查找死锁进程ID
show processlist
杀死死锁进程
kill id
mysql 8.x通过JDBC进行数据写入相差13个小时问题解决;
原因:mysql8.x的jdbc升级了,增加了时区(serverTimezone)属性,并且不允许为空。如果我们不手动制定serverTimezone属性,那么默认采用UTC时间,UTC表示世界标准时间,用于协调世界时间,UTC时间会比北京时间少8小时,所以数据库连接会直接出现时区错误。
解决方案,在JDBC连接上加上 serverTimezone=UTC ,TimeZone = Asia/Shanghai