标签: mysql-management

MySQL服务器的thread_stack参数 - 它是什么?它应该有多大?

几天前我从MySQL数据库得到以下错误:

线程堆栈溢出:用于196608字节堆栈的68744字节,需要128000字节.使用'mysqld -O thread_stack =#'指定更大的堆栈.

我发现的所有文档都说:

MySQL 4.0.10之前的默认值为64KB,之后为192KB.如果线程堆栈大小太小,则会限制服务器可以处理的SQL语句的复杂性,存储过程的递归深度以及其他消耗内存的操作.

我将变量thread_stack设置为256K,但它只是一个随机值.现在它解决了这个问题,但我真的想知道它应该有多大,得到一些示例值或用法.例如:

  • 使用96KB(x KB)的线程堆栈可以做什么,不能做什么?
  • 如何计算我需要多大的线程堆栈?

mysql configuration mysql-management

14
推荐指数
1
解决办法
3万
查看次数

如何监控MySQL空间?

我下载了使用MySQL的Web应用程序的VM映像.

如何监控其空间消耗并知道何时必须添加额外空间?

mysql mysql-management database-administration

13
推荐指数
1
解决办法
1万
查看次数

截断所有表(大多数表都有约束).如何暂时放弃它们

我有一个开发数据库(MYSQL),我想在某些时候加载新数据.我想删除所有表的内容.删除所有表(包括具有外键约束的表)的内容的最佳方法是尽可能自动化.是否有截断全部/丢弃所有等效约束?

谢谢

mysql mysql-management

13
推荐指数
2
解决办法
7114
查看次数

无法使用5.1.32的TRIGGER权限创建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"特权的这个错误.我们不想让所有的开发者都超赞.

有什么建议?

mysql sql triggers mysql-management

12
推荐指数
1
解决办法
2万
查看次数

无法优化innoDB表

作为我在这里的第一条消息,我不知道是否必须回复或发布新消息.我有同样的问题,这里唯一给出的答案对我没有帮助(除非文档不正确)."你可以让OPTIMIZE TABLE在其他存储引擎上工作",但我的引擎是InnoDB.谢谢你的帮助.S.

mysql mysql-management

12
推荐指数
1
解决办法
3万
查看次数

Mysql show processlist列出了许多进程sleep和info = null?

我正在我的网络应用程序注入压力测试,连接到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并停止处理传入的请求...

知道那些流程是什么,他们在那里做什么:)?

mysql mysql-management

12
推荐指数
1
解决办法
3万
查看次数

你可以在LEFT JOIN另一个之前在MySQL上应用LIMIT吗?

例如:

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 mysql-management

12
推荐指数
1
解决办法
5705
查看次数

MySql Replication - 奴隶落后于主人

我的MySql DB上有主/从复制.

我的奴隶数据库已经停机了几个小时并且又重新启动(主机一直在运行),当发出时show slave status我可以看到奴隶在主人后面X秒.

问题是,奴隶似乎没有赶上主人,主人身后的X秒似乎没有下降......

关于如何帮助奴隶赶上的任何想法?

mysql replication mysql-management

11
推荐指数
2
解决办法
3万
查看次数

Mysql - 将所有表和列重命名为小写?

我最近将一个数据库从一个Windows框转移到了一个linux框.这些表在小写和大写名称之间混合.我需要一种方法将所有表和列重命名为小写.那可能吗?

我在这个SO回答中看到了表格的可能性,但是没有找到任何处理列名的东西.

mysql mysql-management

10
推荐指数
2
解决办法
1万
查看次数

我的MySQL转储输入到底有多远?

在我的公司,我们偶尔会导入大型客户MySQL数据库(40GB +),这可能需要一天时间才能加载到我们的开发人员计算机上.虽然我们接受这个加载时间,因为它是在后台完成的,但我们缺乏任何可靠的估算进口何时完成的能力.这阻止我们安排适当的时间来对其采取行动.这就像等待有线电视的家伙出现一样.

现在我最好的策略是快速show tables命令,看看已经加载了多少百分比的表.但是,由于桌子尺寸彼此之间以及与每个顾客之间的差异很大,因此这甚至不可靠.

有没有人有一个好的技术或工具可以用来获得MySQL导入的可靠百分比?

mysql mysql-management mysqldump

10
推荐指数
1
解决办法
5295
查看次数