当前位置:网站首页>liunx下mysql遇到的简单问题
liunx下mysql遇到的简单问题
2022-08-02 14:04:00 【王永俊】
安装报keyID的错误
CentOS安装rpm安装MySQL时爆出警告:
warning: MySQL-server-5.6.32-1.linux_glibc2.5.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5:
原因:这是由于yum安装了旧版本的GPG keys造成的
解决办法:后面加上
--force --nodeps
如:
rpm -ivh MySQL-server-5.5.46-1.linux2.6.x86_64.rpm --force --nodeps
如果提示: warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID*****
这是由于yum安装了旧版本的GPG keys造成的,解决办法就是
rpm --import /etc/pki/rpm-gpg/RPM*
再安装软件就不会有这个错误提示了。
表名区别大小写
需要改 MySQL 的配置文件,Linux 下 MySQL 的配置文件可能是 /etc/my.cnf,或 /etc/mysql/my.cnf,这依赖于你的安装方式。假如是 /etc/my.cnf,那么执行
sudo vi /etc/my.cnf
在 [mysqld] 节中添加:
lower_case_table_names=1
然后保存,用 sudo /etc/init.d/mysql restart
或者service mysqld start
重启 MySQL 服务。Linux 系统对表名大小写不敏感了。
lower_case_table_names参数详解:
lower_case_table_names=0
其中0:区分大小写,1:不区分大小写。
其实准确来说不是说 Linux 对于 MySQL 表名忽略大小写,而是应用上面的配置后,MySQL 服务程序会来自于应用程序里的请求的表名转换为小写,如你查询 select * from NAME,MySQL 会认为是查询的 select * from name,所以在加入lower_case_table_names=1之前时你必须把表名都改为小写。也就是在创建表时都用小写名字,如果创建的表名为 NAME,那么程序中无论是执行 select * from NAME 还是执行 select * from name都会碰到类似下面的错误:
Invocation of init method failed; nested exception is org.quartz.JobPersistenceException: Couldn’t retrieve trigger: Table ‘name’ doesn’t exist [See nested exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘name’ doesn’t exist]
因为 MySQL 服务程序认为表名就是小写的 name,而在数据库中的表名不是这样子的。
而且此时在 MySQL 客户端都无法把 NAME改成 name 因为表名的大小写是与文件系统中的数据目录下的 frm 文件相对应的。
OPTIONSQL_SELECT_LIMIT=DEFAULT错误
**原来:**mysql驱动jar版本低造成的;以前使用的mysql驱动是mysq-connector-java-5.1.10-bin.jar,现在安装的是mysql5.6.35的版本,所以会报错。驱动跟不上就出现了错误;解决方法很简单,就是更新驱动的jar程序到最对应版本,我更新的是mysq-connector-java-5.1.34-bin.jar
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax错误
原因是:实体类的字段包含了sql语句的关键字比如:desc或者describe。
边栏推荐
- The 2nd China Rust Developers Conference (RustChinaConf 2021~2022) Online Conference Officially Opens Registration
- Unit 7 ORM table relationships and operations
- 字符串的小知识
- uniapp小程序禁止遮罩弹窗下的页面滚动的完美解决办法
- jwt (json web token)
- 初识c语言指针
- C语言初级—判断一个数是不是素数(函数封装)
- [ROS] (01) Create ROS workspace
- C语言日记 1“Hello world“
- 【Camera2】由Camera2 特性想到的有关MED(多场景设备互动)的场景Idea
猜你喜欢
随机推荐
C语言日记 1“Hello world“
8580 Merge linked list
什么是闭包?闭包的作用?闭包的应用?有什么缺点?
How does Apache, the world's largest open source foundation, work?
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十章)
Unit 4 Routing Layer
uniCloud 未能获取当前用户信息:30205 | 当前用户为匿名身份
Raj delivery notes - separation 第08 speak, speaking, reading and writing
线性代数期末复习存档
利用c语言实现对键盘输入的一串字符的各类字符的计数
使用云GPU+pycharm训练模型实现后台跑程序、自动保存训练结果、服务器自动关机
什么是 Web 3.0:面向未来的去中心化互联网
Hands-on OCR (1)
drf source code analysis and global catch exception
Steps to connect the virtual machine with xshell_establish a network connection between the host and the vm virtual machine
C语言一维数组练习——将一个字符串中的某个字符替换成其它字符
ng-style:动态控制样式
C语言一维数组练习——将m个元素移动到数组尾部
我的第一篇博客
c语言用scanf出错不安全的解决办法