Questions tagged «mysql»

MySQL的所有版本(不是Microsoft SQL Server)。如果与此问题相关,还请添加特定于版本的标记,例如mysql-5.7。

2
监视每个数据库的MySQL活动?
监视服务器上每个数据库活动的最佳方法是什么? 我尝试了mtop / mytop,它实时显示活动,但是查看在其上执行的所有查询不是很实际。 我激活了MySQL日志,但是没有选择按数据库拆分它们。 您正在使用哪些工具来监视MySQL服务器?

2
如何断开客户端与MySQL的连接?
我需要一种有效的方法来从MySQL断开具有给定用户名的所有客户端的连接。我考虑过更改用户密码,但我认为只有在建立连接后才能检查。 有想法吗?
9 mysql 

4
在MySQL DBA面试中我应该问什么?
我是一名软件开发人员,正在帮助我的团队雇用MySQL DBA。我们面临的核心挑战是: 由于休眠,查询和性能变慢。 数据库管理(备份,调整,补丁,安全性)。 由于来自新数据源的数据增加和旧数据的积累,因此具有可伸缩性。 我们计划在将来开始数据挖掘和数据仓库。不确定如何,但这就是方向。 通常,在编程案例中,我们要求开发人员为面试构建一些东西,但是以相同的方式进行DBA面试有点困难。 您能对面试提供一些建议吗?

2
这是一组普通的MySQL特权吗?
在本地测试Wamp设置上使用phpmyadmin以及几乎所有的标题状态,有3个用户标记为user = ANY,密码= NO,例如: USER | HOST | Password | Global Priv | Grant -----+---------+----------+-------------+------ Any | % | No | USAGE | No Any | Local | No | USAGE | No Any | Domain | No | USAGE | No -----+---------+----------+-------------+------ 这3个用户中的任何一个都没有对任何表具有任何特定特权,因此看来他们不能做太多事情。这是某种通用的安全措施,以明确声明不属于任何其他用户组的“任何”用户都没有特权吗?

3
MySQL高性能,适用于许多SELECT / INSERT / UPDATE / DELETE
我正在创建一个模块,其中每个用户经常在10到300秒内将记录插入表中。 时间到时,记录将被删除。情况是:会有很多用户,记录会经常更改-这将如何影响此表的应用程序性能,因为记录会经常更改,我想知道mysql是否适合呢?就像索引会来来去去一样,此特定表的数据更改速度约为200次/秒。也许我正在为这种工作选择一个不好的解决方案。有什么建议么 ? 谢谢!

3
有关将更新和插入查询合并到mysql中的单个查询的查询
我想跟踪用户的更改历史记录,以便每当他更改个人资料时,我都需要获取旧数据并存储在历史记录中,并使用新数据进行更新。 我可以使用select获取旧数据,使用insert历史记录,最后使用update更改数据。 我可以在不使用存储过程,触发器等的情况下,在mysql的单个查询中拥有所有这些功能吗?例如使用锁等。
9 mysql 

1
在MySQL DB Server中运行OPTIMIZE TABLE查询的好处
我想知道OPTIMIZE TABLE tbl_name在MySQL Server中运行查询可以带来的[真正实用]好处。 我检查了一次,发现运行此命令后,下一个数据库命中可能花费很长时间,可能是由于碎片的重定位所致,但是随后的命中表现出某种性能,我不确定查询缓存是否能做到这一点与优化或仅优化一起完成此技巧。 如果可能的话,任何人都可以用一些实际的性能差异值来指导我,以便随着MySQL的使用在我们的项目中日益受到重视,我可以继续做下去。

3
用户抱怨当mysqldump进行时系统运行缓慢
MYSQL数据库(ibdata1)的大小为73 GB,并配置为在Windows 2008 O / S上作为INNODB表的专用数据库服务器运行。我们正在使用mysqldump运行备份mysqldump --skip-opt --quick --single-transaction --create-options --extended-insert --disable-keys --add-drop-table --complete-insert-设置字符集-压缩--log-error = Proddb0635.err -u根-pjohndoe Proddb> \ devNas \ devNas \ sqlbackup \ LIVE \ db \ Proddb0635.sql 备份文件Proddb0635.sql存储在与数据库服务器不同的服务器上。RAM是12 GB。INNODB缓冲池大小为6 GB。额外的mem.pool为32 MB。查询缓存大小为2 GB,净缓冲区长度为最大16M。数据包大小1 GB。 mysql版本是5.0.67。 当备份未运行时,用户会对性能感到满意。 备份运行时,INNODB缓冲池命中率很高,接近100%。没有挂起的读取或挂起的写入。innodb free free等待时间为0。CPU使用率不高,最低9%到最高15%,无论是否运行mysqlbackup,查询缓存命中率都较低,约为40%。当前,Windows任务管理器显示正在使用10GB的RAM。是否应该仅使用2GB RAM来增加查询缓存?mysqlld-nt占用9.2 GB的RAM,而mysqldump占用5 MB的RAM。Alos注意到,存在--compress选项时,转储文件的大小是相同的。 我应该减少iNNODB缓冲池的大小吗? 谢谢

3
我正在使用MEMORY存储引擎,但MySQL仍会写入磁盘...为什么?
我正在使用MEMORY Engine与特定MYSQL查询关联的所有表,因为访问速度对我的项目至关重要。 由于某种原因,我注意到仍然发生大量磁盘写入。 这是因为Windows将RAM交换到磁盘上吗?如何防止这种情况发生? 编辑:这是我的全局变量: mysql> show global variables; +---------------------------------------------------+-------------------------------------------------------------------------------- ------------------------------+ | Variable_name | Value | +---------------------------------------------------+-------------------------------------------------------------------------------- ------------------------------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | | autocommit | ON | | automatic_sp_privileges | ON | | back_log | 50 | | basedir | C:/Program Files/MySQL/MySQL Server 5.5/ …

4
如何进一步优化此MySQL查询?
我的查询要花特别长的时间(15+秒),并且随着时间的推移,随着数据集的增长,查询只会变得越来越糟。我过去对此进行了优化,并添加了索引,代码级排序和其他优化,但是还需要进一步完善。 SELECT sounds.*, avg(ratings.rating) AS avg_rating, count(ratings.rating) AS votes FROM `sounds` INNER JOIN ratings ON sounds.id = ratings.rateable_id WHERE (ratings.rateable_type = 'Sound' AND sounds.blacklisted = false AND sounds.ready_for_deployment = true AND sounds.deployed = true AND sounds.type = "Sound" AND sounds.created_at > "2011-03-26 21:25:49") GROUP BY ratings.rateable_id 查询的目的是让我获得sound id以及最近发布的声音的平均评分。大约有1500种声音和200万种评级。 我有几个指数 sounds …

4
为什么MySQL会说我内存不足?
我试图INSERT...SELECT用JDBC在MySQL中执行相当大的操作,但出现以下异常: Exception in thread "main" java.sql.SQLException: Out of memory (Needed 1073741824 bytes) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) 由于我实际上没有返回ResultSet对象,因此我认为Java堆空间应该不是问题。但是,无论如何,我都尝试将其调高,但效果不好。然后,我尝试在MySQL Workbench中执行该语句,并且得到了基本上相同的东西: Error Code 5: Out of memory (Needed 1073741816 bytes) 我应该有足够的RAM来完成这些操作(足以容纳要从中选择的整个表),但是我猜测我需要调整各种设置以利用我的所有内存。我正在使用Windows Server 2008 AMI 运行Amazon EC2 高内存双超大实例。我尝试摆弄my.ini文件以使用更好的设置,但就我所知,我可能会使情况变得更糟。这是该文件的转储: [client] port=3306 [mysql] default-character-set=latin1 [mysqld] port=3306 basedir="C:/Program Files/MySQL/MySQL Server 5.5/" datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" character-set-server=latin1 default-storage-engine=INNODB sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" max_connections=100 query_cache_size=1024M …

4
如何提高InnoDB DELETE性能?
因此,我有此审核表(跟踪数据库中任何表上的操作): CREATE TABLE `track_table` ( `id` int(16) unsigned NOT NULL, `userID` smallint(16) unsigned NOT NULL, `tableName` varchar(255) NOT NULL DEFAULT '', `tupleID` int(16) unsigned NOT NULL, `date_insert` datetime NOT NULL, `action` char(12) NOT NULL DEFAULT '', `className` varchar(255) NOT NULL, PRIMARY KEY (`id`), KEY `userID` (`userID`), KEY `tableID` (`tableName`,`tupleID`,`date_insert`), KEY …

1
从MySQL Workbench创建外键时出错
我正在尝试将模式更改从MySQL Workbench同步到我的数据库。尝试创建外键时出现以下错误: Executing SQL script in server ERROR: Error 1005: Can't create table 'tomato.#sql-2730_1b8' (errno: 121) 这是它试图执行的语句: ALTER TABLE `tomato`.`ing_allergy_ingredient` ADD CONSTRAINT `fk_ai_allergy` FOREIGN KEY (`allergy_id` ) REFERENCES `tomato`.`ing_allergy` (`allergy_id` ) ON DELETE NO ACTION ON UPDATE NO ACTION 任何想法这个错误是什么意思?

2
为什么将group_concat_max_len设置为最大值以下?
Ubuntu 12.04上的MySQL 5.5.28 如果结果长于该时间,group_concat_max_len则结果将被优雅地截断。 当前,我有一个脚本,该脚本试图提前检查所需的长度并将其设置group_concat_max_len为足够大。 但是检查增加了额外的查询。设置group_concat_max_len为最大值有什么弊端?好处是更少的查询。

6
MySQL服务器上CPU系统时间占用率高
有点背景了,前段时间我们开始在我们的一个MySQL数据库上经历了很高的CPU系统时间。该数据库还受到磁盘利用率高的困扰,因此我们认为这些东西是连接的。由于我们已经计划将其迁移到SSD,因此我们认为它将解决这两个问题。 它有帮助...但是持续了很长时间。 迁移后的几周内,CPU图形如下: 但是现在我们回到了这一点: 这无处不在,没有在负载或应用程序逻辑上进行任何明显的更改。 数据库统计: MySQL版本-5.7.20 操作系统-Debian DB大小-1.2Tb 内存-700Gb CPU核心-56 窥探负载-大约5kq / s的读取,600q / s的写入(尽管选择查询通常非常复杂) 线程-50个正在运行,300个已连接 它有大约300个表,全部是InnoDB MySQL配置: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.