应用程序不了找到mysql中的表,客户端可以正常打开表

原因是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

应用程序不了找到mysql中的表,客户端可以正常打开表的相关文章

MySQL 中 You can&#39;t specify target table &#39;表名&#39; for update in FROM clause错误解决办法

背景 在MySQL中,写SQL语句的时候 ,可能会遇到 You can't specify target table '表名' for update in FROM clause 这样的错误 错误含义 它的意思是说,不能先 select 出同一表中的某些值,再 update 这个表(在同一语句中),即不能依据某字段值做判断再来更新某字段的值. 解决问题 将select出的结果再通过中间表select一遍,这样就可以解决错误了 MySQL 中 You can't specify target ta

【3.3】mysql中的Federated存储引擎,远程表,相当于sql server的linked server

MySQL中针对不同的功能需求提供了不同的存储引擎.所谓的存储引擎也就是MySQL下特定接口的具体实现. FEDERATED是其中一个专门针对远程数据库的实现.一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件. 但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中(这一点很重要). 通过这个引擎可以实现类似Oracle 下DBLINK的远程数据访问功能. 1.使用show engines 命令查看数据库是否已支持FED

Mysql中使用存储过程返回查询多个表的数据信息

-- 测试手机号 call P_Base_CheckLogin('15584463676'); -- 测试登录名 call P_Base_CheckLogin('sch000001') -- 测试身份证号 call P_Base_CheckLogin('080428402304032042') -- 测试学生手机号 call P_Base_CheckLogin('13019212198') drop PROCEDURE IF EXISTS P_Base_CheckLogin; create pr

MySQL中创建用户、创建数据库、表并付给用户权限

---创建数据库 CREATE DATABASE zdb_mysql; ---创建用户: CREATE USER 'zdb_mysql'@'localhost' IDENTIFIED BY 'zdb_mysql'; #本地登录 ---附权限: grant all privileges on zdb_mysql.* to 'zdb_mysql' @'localhost' identified by 'zdb_mysql'; flush privileges; #刷新系统权限表 ---创建表 cre

mysql中索引,触发器,事务,存储引擎的理解

1.索引:作用于表中的某列,并将其进行排序,有助于快速地进行查询. 索引是对数据库表中一个或多个列的值进行排序的数据结构,是用于提高在数据库表中访问数据的速度的数据库对象.其实索引相当于一本书的目录,如果没有索引,要想在数据库中查找某一特定的值就需要遍历整个数据库表,但是有了索引之后就可以在索引当中查找,有助于更快地获取信息: 索引可分为聚集索引和非聚集索引: 聚集索引:是按照数据存放的物理位置为顺序的: 非聚集索引中,表数据存储顺序与索引顺序无关:一张表上只能创建一个聚集索引,因为真实数据的物

MySql中启用InnoDB数据引擎的方法

1.存储引擎是什么? Mysql中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能.这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型).MySql默认配置了许多不同的存储引擎,可以预先设置或者在MySql服务器中启用. 2.MYSQL支持的数据引擎 MyISAM:默认的MySQL插件式存储引擎,它是

MySql中启用InnoDB数据引擎简介 以及 InnoDB与 MYISAM的区别和联系

1.存储引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能.这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型).MySql默认配置了许多不同的存储引擎,可以预先设置或者在MySql服务器中启用. 2.MYSQL支持的数据引擎 MyISAM:默认的MySQL插件式存储引擎,它是

详细解读MySQL中的权限

一.前言 很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话.因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪 些权限. 现在很多mysql用着root账户在操作,并不是大家不知道用root权限太大不安全,而是很多人并不知道该给予什么样的权限既安全又能保证正常运行. 所以,本文更多的是考虑这种情况下,我们该如何简单的配置一个安全的mysql.注:本文测试环境为mysql-5.6.4 二.Mysql权限介绍 mysql中存在4个控制权限的表,分别为use

如何查看MySQL中每张表占用的空间大小

如题,找到MySQL中的information_schema表,这张表记录了所有数据库中表的信息,主要字段含义如下: TABLE_SCHEMA : 数据库名 TABLE_NAME:表名 ENGINE:所使用的存储引擎 TABLES_ROWS:记录数 DATA_LENGTH:数据大小 INDEX_LENGTH:索引大小 如果需要查询所有数据库占用空间大小只需要执行SQL命令: mysql> use information_schema Database changed mysql> SELECT