几天前我从MySQL数据库得到以下错误:
线程堆栈溢出:用于196608字节堆栈的68744字节,需要128000字节.使用'mysqld -O thread_stack =#'指定更大的堆栈.
我发现的所有文档都说:
MySQL 4.0.10之前的默认值为64KB,之后为192KB.如果线程堆栈大小太小,则会限制服务器可以处理的SQL语句的复杂性,存储过程的递归深度以及其他消耗内存的操作.
我将变量thread_stack设置为256K,但它只是一个随机值.现在它解决了这个问题,但我真的想知道它应该有多大,得到一些示例值或用法.例如:
我下载了使用MySQL的Web应用程序的VM映像.
如何监控其空间消耗并知道何时必须添加额外空间?
我有一个开发数据库(MYSQL),我想在某些时候加载新数据.我想删除所有表的内容.删除所有表(包括具有外键约束的表)的内容的最佳方法是尽可能自动化.是否有截断全部/丢弃所有等效约束?
谢谢
我的开发人员和我在共享的MySQL开发数据库上有自己的开发模式.我的任务要求我在我的模式中创建触发器,但到目前为止我还没有成功.
CREATE TRIGGER myTrigger AFTER DELETE on myTable
FOR EACH ROW BEGIN
-- DO STUFF
END;
Run Code Online (Sandbox Code Playgroud)
MySQL说:错误1419(HY000):您没有启用SUPER权限并且启用了二进制日志记录(您可能希望使用安全性较低的log_bin_trust_function_creators变量)
我检查了MySQL手册(http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html):
TRIGGER权限使您可以创建和删除触发器.您必须拥有此表的权限才能为该表创建或删除触发器.MySQL 5.1.6中添加了此权限.(在MySQL 5.1.6之前,触发操作需要SUPER权限.)
我们正在运行"5.1.32-enterprise-gpl-advanced-log",因此TRIGGER权限应该足够; 但是,DBA授予我TRIGGER特权mySchema.*我可以在我做SHOW GRANTS时看到它;但是我仍然得到关于需要"SUPER"特权的这个错误.我们不想让所有的开发者都超赞.
有什么建议?
作为我在这里的第一条消息,我不知道是否必须回复或发布新消息.我有同样的问题,这里唯一给出的答案对我没有帮助(除非文档不正确)."你可以让OPTIMIZE TABLE在其他存储引擎上工作",但我的引擎是InnoDB.谢谢你的帮助.S.
我正在我的网络应用程序注入压力测试,连接到mysql服务器,我正在监视mysql的show processlist.
当负载很高(高交换i/o)时,我会得到很多这样的过程:
| 97535 | db| localhost | userA | Sleep | 515 | | NULL
| 97536 | db| localhost | userA | Sleep | 516 | | NULL
| 97786 | db| localhost | userA | Sleep | 343 | | NULL
| 97889 | db| localhost | userA | Sleep | 310 | | NULL
Run Code Online (Sandbox Code Playgroud)
但是我不明白他们为什么还在那里而且没有被杀?这最终导致我的应用程序使用所有max_connections并停止处理传入的请求...
知道那些流程是什么,他们在那里做什么:)?
例如:
SELECT * FROM table_1 LIMIT 5
LEFT JOIN table_2 AS table_1.id = table_2.id
WHERE 1
Run Code Online (Sandbox Code Playgroud)
否则,引擎会在应用连接之前占用所有table_1,然后限制哪些可以大大减慢查询速度(使用大量表).
我的MySql DB上有主/从复制.
我的奴隶数据库已经停机了几个小时并且又重新启动(主机一直在运行),当发出时show slave status我可以看到奴隶在主人后面X秒.
问题是,奴隶似乎没有赶上主人,主人身后的X秒似乎没有下降......
关于如何帮助奴隶赶上的任何想法?
我最近将一个数据库从一个Windows框转移到了一个linux框.这些表在小写和大写名称之间混合.我需要一种方法将所有表和列重命名为小写.那可能吗?
我在这个SO回答中看到了表格的可能性,但是没有找到任何处理列名的东西.
在我的公司,我们偶尔会导入大型客户MySQL数据库(40GB +),这可能需要一天时间才能加载到我们的开发人员计算机上.虽然我们接受这个加载时间,因为它是在后台完成的,但我们缺乏任何可靠的估算进口何时完成的能力.这阻止我们安排适当的时间来对其采取行动.这就像等待有线电视的家伙出现一样.
现在我最好的策略是快速show tables命令,看看已经加载了多少百分比的表.但是,由于桌子尺寸彼此之间以及与每个顾客之间的差异很大,因此这甚至不可靠.
有没有人有一个好的技术或工具可以用来获得MySQL导入的可靠百分比?