1、quartz服务报错
- 问题描述
quartz 报错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS‘ doesn‘t exist
- 思路
首先我的数据库的表是没问题的 表名是qrtz_locks 那么问题就出在表名大小写问题上,顺着这个我就查了下,在我们本地电脑上mysql是不区分大小写的, 但是本次部署我把mysql部署在了linux上,在linux上的mysql默认是区分大小写的
- 解决办法
- 方法一:改表名就可以了(快,但不建议)
- 方法二:修改mysql服务使其忽略大小写
sql
# 先执行sql查看lower_case_table_names
show variables like '%lower_case_table_names%';
# 修改/etc/my.cnf文件,在文件末尾加lower_case_table_names=1
vim /etc/my.cnf
# 末尾加上lower_case_table_names=1 保存退出
service mysqld restart2、解决MYSQL中文乱码问题
2.1、更改MySQL服务器字符集
- 查看MySQL服务器当前的字符集设置。:
shell
mysql> show variables like ‘character%’;- 如果发现MySQL使用的不是UTF-8字符集,那么您需要更改它。您可以通过编辑MySQL配置文件my.cnf或my.ini文件来实现这一点。
python
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'- 其中,character-set-server和collation-server配置项用于设置MySQL服务器的字符集和校对规则。init-connect配置项用于在每个新连接上设置字符集。
- 需要重启MySQL服务以使更改生效。