1. 提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。
1.关闭mysql
# service mysqld stop
2.屏蔽权限
# mysqld_safe --skip-grant-tables &
3.新开起一个终端输入
# mysql -uroot mysql
mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
mysql>
GRANT ALL PRIVILEGES ON *.* TO dbuser@"%" WITH GRANT OPTION; mysql>
UPDATE user SET PASSWORD=PASSWORD('123456') , HOST='%' WHERE USER='root'; mysql> delete from user where USER='';
mysql>
\q
2. MySQL错误:Got error 28 from storage engine
现象是:
MySQL 执行语句
SELECT DISTINCT field_report_name_value FROM content_type_product_line_report ;
报错
Got error 28 from storage engine
user warning: Got error 28 from storage engine query: select distinct(field_report_name_value) from content_type_product_line_report where field_report_product_line_nid='39'
产生该错误的原因是:
临时空间不够,无法执行此SQL语句。
解决办法:
清空/tmp目录,或者修改my.cnf中的tmpdir参数,指向具有足够空间目录。
3. The user specified as a definer (''@'') does not exist的解决办法
从公司用Navicat导出sql脚本的数据库,回去后再倒入,运行项目时控制台报的错误如下:
Caused by: java.sql.SQLException: The user specified as a definer (''@'') does not exist
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2113)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2275)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
... 73 more
以上的出错是上传新工程到服务器上时出的错。出错的意思是数据库访问时没有‘@’这个用户.这主要是在新建视图和存储过程时,直截在mysql可视图形工具里copy代码到服务器上去运行,mysql里会自动生成一些代码,比如copy出来的视图语句:
-- ----------------------------
-- View structure for `sys_teacher_role_view`
-- ----------------------------
DROP VIEW IF EXISTS `sys_teacher_role_view`;
CREATE ALGORITHM=UNDEFINED DEFINER=``@`` SQL SECURITY DEFINER VIEW `sys_teacher_role_view` AS select `tea_teacher`.`teaid` AS `teaid`,`sys_user_role`.`employee_nember` AS `employee_nember`,`tea_teacher`.`staffnumbers` AS `staffnumbers`,`tea_teacher`.`teachername` AS `teachername`,`sys_user_role`.`role_id` AS `role_id`,`tea_teacher`.`identity_card` AS `identity_card` from (`tea_teacher` left join `sys_user_role` on((`sys_user_role`.`employee_nember` = `tea_teacher`.`teaid`)));
应该改为:
-- ----------------------------
-- View structure for `sys_teacher_role_view`
-- ----------------------------
DROP VIEW IF EXISTS `sys_teacher_role_view`;
CREATE VIEW `sys_teacher_role_view` AS select `tea_teacher`.`teaid` AS `teaid`,`sys_user_role`.`employee_nember` AS `employee_nember`,`tea_teacher`.`staffnumbers` AS `staffnumbers`,`tea_teacher`.`teachername` AS `teachername`,`sys_user_role`.`role_id` AS `role_id`,`tea_teacher`.`identity_card` AS `identity_card` from (`tea_teacher` left join `sys_user_role` on((`sys_user_role`.`employee_nember` = `tea_teacher`.`teaid`)));
存储过程也是一样的,往往就会忽略这个问题而导致上面的错误.
4. MySQL异常:
ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes。
这是因为没有调整mysql的默认配置,默认最大只能处理16M的文件,而我要导入的伪造数据有50M的一个SQL。在命令行下也可以查看一下这个配置项的值:
show VARIABLES like '%max_allowed_packet%';
返回结果是字节数,比如1048576,就是1M。
于是调整配置文件: /etc/my.cnf
修改mysql的最大允许包大小
在[mysqld]部分(不在这部分没用)添加一句:
max_allowed_packet=50M
重启mysql服务就可以了。
分享到:
相关推荐
mysql安装问题总结 mysql安装问题总结 mysql安装问题总结 mysql安装问题总结 mysql安装问题总结
在这个“mysql数据库总结”中,我们将深入探讨MySQL的关键概念、操作以及最佳实践。 首先,让我们了解MySQL的基础知识。MySQL基于SQL(结构化查询语言),它允许用户通过简单的命令进行数据的查询、更新和管理。当...
本文档将mysql经常出现的错误进行一个比较全面的总结,有了他你就可以很快速的查询到所写的代码出现的是什么错误了。
### MySQL的语句总结 本篇文章旨在为初学者提供一份简明扼要的MySQL语句指南,涵盖了数据库管理和操作的基本方面。以下将详细介绍文件中提到的一些关键知识点。 #### 1. 检查MySQL服务状态 ```bash sudo service ...
2. **错误日志(log-error)**:记录MySQL服务器的错误和警告信息,帮助诊断问题。 3. **查询日志(log)**:记录所有执行的SQL语句,但开启后可能会影响性能。 4. **数据文件**:包括表结构(FRM),表数据(MYD)...
本篇文章将深入探讨由大牛总结的MySQL常见错误,并提供解决策略。 1. 错误1045: Access denied for user 'username'@'localhost' (using password: YES/NO) 这个错误通常表示用户名或密码不正确,或者是用户没有...
根据Janos Ruszo在percona live上分享的资料,以下总结了MySQL常见的10个典型错误及其避免方法。 1. 文件打开限制错误 MySQL数据库服务器在处理大量连接和查询时可能会遇到文件打开限制问题。默认情况下,Linux...
MySQL 性能优化总结 MySQL 性能优化是数据库管理和开发人员需要掌握的重要技能。性能优化的目标是让查询更快,减少查询所消耗的时间。为了达到这个目标,我们需要从每一个环节入手,包括连接、配置优化、索引优化、...
以下是对标题“Mysql注入总结1”和描述中涉及的知识点的详细解释: 1. **UNION SELECT 注入**: 当一个Web应用程序将用户输入的数据直接拼接到SQL查询中时,攻击者可以利用`UNION SELECT`来合并两个或多个查询结果...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,用于存储和管理数据。在本文中,我们将深入探讨MySQL中的SQL语句,包括其基本概念、编程、操作、查询、定义和控制语言,以及事务处理。 首先,让我们从SQL的基础...
在CentOS7上安装MySQL和mysqlclient可能会遇到一些挑战,本文将总结这些常见的问题和解决方案。首先,我们需要为系统添加MySQL的Yum源以便能够安装MySQL的社区版本。可以通过访问MySQL官方网站的DOWNLOADS部分,找到...
在MySQL中,一次ALTER TABLE语句可以删除多个分区,所以选项A是错误的。正确答案是,这个语句会删除分区p1和p3,并且所有在这些分区内的数据都会被一并删除。这不会影响其他分区,也不会限制在同一时间只能删除一个...
### MySQL 使用总结 #### MySQL 目录结构及配置选项 MySQL 的安装目录通常包含了几个重要的子目录: - **bin**:存储 MySQL 可执行文件,例如 `mysqld` 和 `mysql`。 - **data**:存储 MySQL 数据库的数据文件。 ...
MySQL教程详细总结 引言 MySQL是一款开源、免费的关系型数据库管理系统,被广泛应用于Web应用程序中,因其高效、稳定和易用性而受到青睐。本教程将深入探讨MySQL的各个方面,帮助初学者和进阶者全面理解其核心概念...
- MySQL的日志文件通常在`/var/log/mysql`目录下,包括错误日志和查询日志。 - 使用`SHOW VARIABLES LIKE '%log%'`查看当前的日志设置。 - 监控工具如`pt-query-digest`可以帮助分析慢查询日志并提供优化建议。 ...
总结来说,MySQL错误代码是数据库管理员在日常工作中经常需要解读的一套规范语言。通过学习和熟悉这些错误代码的含义,DBA可以更快地定位问题、采取措施,并且维护数据库的健康稳定运行。在实际操作中,了解错误代码...
总结,MySQL 8.0的编译安装涉及多个步骤,包括系统准备、源码下载、解压、配置、编译、安装、初始化、启动和安全设置。每个步骤都需要细心操作,确保每个依赖库都已正确安装,以避免编译或运行时出现错误。这个过程...