原因是mysql中区分大小写的参数:lower-case-table-names=1
默认是区分大小写的,程序中代码可能是大小写混合的,其中访问数据库的sql是大小写混合的。所以找不到数据库中的表 tis.platform_user
解决方法:设置mysql忽略数据库表名大小写
通过设置 lower-case-table-names=1 实现忽略表名大小写
<wiz_code_mirror>
[root@tisdb ~]# cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It‘s a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
?
[mysqld]
?
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
?
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
#log_bin
?
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /mydata/mysql
# port = .....
# server_id = .....
# socket = .....
?
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
?
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
max_allowed_packet=16M
character-set-server=utf8
collation-server=utf8_general_ci
lower-case-table-names=1
log_bin = mysql-bin
server_id = 10
?
[client]
default-character-set=utf8
[root@tisdb ~]#
<wiz_code_mirror>
mysql> show variables like ‘%lower%‘;
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 1 |
+------------------------+-------+
2 rows in set (0.00 sec)
?
mysql>
重启服务后配置生效,应用程序可以正常访问到mysql中的数据表。
(漫兮网 - 服务于区块链创业者、技术人和站长的网站http://www.manxinet.com)
原文地址:https://www.cnblogs.com/moonfans/p/11367541.html
时间: 2024-11-05 14:52:11