Questions tagged «mysql»

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

3
UNION很慢,但是两个查询在单独的情况下都很快
邓诺(Dunno)对此还有什么可做的。我有一个具有开始和停止列的表,我想返回通过开始和停止连接的表的结果,我希望两者之间有明显的区别。现在,这两个查询分别快速运行: SELECT UNIX_TIMESTAMP(CONVERT_TZ(start_dev, '+00:00', GetCarrierTimezone(a0.carrier_id))) AS alertStart, NULL AS alertStop, c0.name AS carrier_name, carrier_image, l0.Latitude, l0.Longitude FROM carriers AS c0 INNER JOIN start_stop AS a0 ON a0.carrier_id = c0.id INNER JOIN pcoarg AS l0 ON a0.startLogId = l0.id WHERE FIND_IN_SET(a0.carrier_id, '89467,1,64578,222625,45013') > 0 AND start_dev > '2013-03-11 11:46:48' AND start_dev …
11 mysql 

1
每列值选择限制1?
可以说我有下表 ----------------------------- | user_id | comment | ----------------------------- | 2 | thats cool | | 2 | awesome | | 3 | i hate this | | 3 | okay | | 6 | this is weird | | 6 | hello? | | 6 | what is it | …

2
如何记录mysqldump的详细输出?
通常,您可以像这样保存Linux命令的详细输出: # command > output.txt 但是,当您使用诸如之类的命令时mysqldump,该>选项会将数据库表的转储输出到所需的文件: # mysqldump --username=whatever --password=whatever -h localhost database > dump.sql 如果将-v(详细)选项添加到中mysqldump,它将输出有关该命令正在执行的帮助信息。由于该>选项用于将数据库表信息输出到文件,因此如何将这些详细输出保存到文件中? 更具体地说,我将一个数据库的输出转储到另一个数据库中,如下所示: mysqldump -alv -h 123.123.123.123 --user=username --password=p@ssw0rd --add-drop-table databasename | mysql --user=username --password=p@ssw0rd -h localhost localdatabase 我尝试了以下操作,但最终输出文件为空 mysqldump -alv -h 123.123.123.123 --user =用户名--password = p @ ssw0rd --add-drop-table数据库名| mysql --user =用户名--password = p @ …

1
在子查询中使用外部别名
| payments | | transactions | | transaction_items | |:--------------:| |:------------:| |:-----------------:| | id | | id | | id | | date | | number | | transaction_id | | amount | | date | | description | | transaction_id | | val | | price | | discount …
11 mysql  mysql-5.5 

4
在全新的mysql 5.7安装中设置root密码
我正在尝试将mysql安装在服务中CentOS Linux release 7.2.1511。看一下流程安装: # sudo yum install mysql-server 输出: Dependencies Resolved =========================================================================================================================================================================================================== Package Arch Version Repository Size =========================================================================================================================================================================================================== Removing: mysql-community-client x86_64 5.7.10-1.el7 @mysql57-community 109 M mysql-community-server x86_64 5.7.10-1.el7 @mysql57-community 652 M Transaction Summary =========================================================================================================================================================================================================== 我运行了mysql damon: # sudo service mysqld start 检查服务: # ps -ef|grep mysql mysql 1371 1 …
11 mysql  linux  centos 

2
如何在MySQL中向用户授予数据库创建特权
以下命令为用户“ admin”提供所有数据库中的所有特权。但是它不允许'admin'创建数据库。 GRANT ALL ON * . * TO 'admin'@'localhost'; 如何为“管理员”提供访问权限以创建数据库? 当我尝试创建数据库时,出现以下错误- 错误1044(42000):用户'admin'@'localhost'对数据库'newdb'的访问被拒绝
11 mysql 

2
查询“创建排序索引”上的MySQL配置文件,使用总时间的75%
我们正在尝试弄清楚如何优化查询(大约100毫秒),并运行我们看到的Creating Sort Index使用75%总时间的配置文件。首先,创建排序索引的确切效果是什么?是磁盘/ IO吗? 其次,我们可以对查询本身进行任何优化吗? SELECT r.`id`, r.name, r.public_uri, rv.version, rv.interpreter, rv.notes, rv.content, r.added, r.added_by, r.modified, r.modified_by, r.public, r.public_by FROM recipe_heads rh, recipes r, recipe_versions rv WHERE rh.recipe = r.`id` AND rh.recipe_version = rv.`id` AND r.`id` = rv.recipe ORDER BY r.added DESC 说明:
11 mysql  profiler 

2
获取联接表中聚合值的增量计数
我在MySQL 5.7.22数据库中有两个表:posts和reasons。每个帖子行都有并且属于许多原因行。每个原因都有一个相关的权重,因此每个帖子都有一个相关的总权重。 对于10个重量点的每个增量(即0、10、20、30等),我希望获得总权重小于或等于该增量的帖子数。我希望这样做的结果看起来像这样: weight | post_count --------+------------ 0 | 0 10 | 5 20 | 12 30 | 18 ... | ... 280 | 20918 290 | 21102 ... | ... 1250 | 118005 1260 | 118039 1270 | 118040 总权重大致呈正态分布,有一些非常低的值和一些非常高的值(当前最大值为1277),但大部分位于中间。大约有120,000行posts,而大约有120 行reasons。每个帖子平均有5或6个原因。 表格的相关部分如下所示: CREATE TABLE `posts` ( id BIGINT PRIMARY …

2
将整数强制转换为上限(十进制)的问题
我有这种情况,看起来MySQL正在采用最大的十进制值,并尝试将其他值转换为该值。 问题是此查询是由外部库生成的,因此至少在此级别上我无法控制此代码。您知道如何解决此问题吗? SELECT 20 AS x UNION SELECT null UNION SELECT 2.2; +------+ | x | +------+ | 9.9 | -- why from 20 to 9.9 | NULL | | 2.2 | +------+ 预期结果 +------+ | x | +------+ | 20 | -- or 20.0, doesn't matter really in my …

3
关系数据库中的完整性约束-我们应该忽略它们吗?
我正在与我工作的公司的开发人员进行永久性讨论,因为他们说最好摆脱关系数据库中的关系强制(通过FOREIGN KEY约束定义),以便加快大型查询并获得更好的结果。性能。 所考虑的平台是MySQL 5.x,并且尚未设置FOREIGN KEY,甚至缺少相关表的一些PRIMARY KEY约束,至少对于我来说,这是不合理的。也许他们是对的,但我是错的,但我没有足够的论点来讨论这种情况。 三年来,这一直是首选方法。我是这家公司的新手(只有一个月),但是随着产品的“上市”,人们在犹豫是否要增强数据库。话说回来,我注意到的第一件事是一页需要1分钟的加载时间(是的,需要60秒!)。 当前事务状态背后的一种说法是,“非规范化”数据库比规范化数据库要快,但我认为那不是真的。 大多数相关查询都包含JOIN操作,这使它们在处理大量数据(数据库包含数百万行)时非常非常非常慢地运行。 通常,“ CRUD”操作的处理是在应用程序代码级别实现的;例如,为了删除一些数据自,例如TableA: 必须首先即时检查TableA和的行之间是否存在某种关系TableB, 如果上述关系被“检测到”,则应用程序代码将不允许删除相关行,但是 如果由于某种原因该应用程序代码失败,则无论涉及的行和表是否存在任何关系,DELETE操作都将“成功”进行。 题 您能帮我拟定一个良好,准确而可靠的答案以丰富辩论的内容吗? 注意:也许以前有人问过(并回答过)类似的问题,但是我无法通过Google找到任何东西。

4
MySQL-mysql_upgrade-发生错误:无法设置服务器变量
我在官方docker映像中运行MySQL 5.7.11。 当我想要升级时,出现以下错误: mysql_upgrade -uroot -p password: Error occurred: Cannot setup server variables. 我四处搜寻,没有发现任何提示。我试着跑了--verbose,但没有运气。 供参考,这是我启动数据库时的日志: db_1 | 2016-02-17T11:23:10.453190Z 0 [ERROR] Incorrect definition of table performance_schema.events_waits_current: expected column 'NESTING_EVENT_TYPE' at position 15 to have type enum('TRANSACTION','STATEMENT','STAGE','WAIT', found type enum('STATEMENT','STAGE','WAIT'). db_1 | 2016-02-17T11:23:10.453233Z 0 [ERROR] Incorrect definition of table performance_schema.events_waits_history: expected column …
10 mysql  upgrade 

3
如何避免3个表之间的循环依赖关系(循环引用)?
我有3张桌子: 人 发布 喜欢 当我设计ER模型时,它具有循环依赖性: 1:N 人-------- <帖子 1:N 发表---------- <喜欢 1:N 人-------- <喜欢 逻辑是: 1人可以发表很多帖子。 1个帖子有很多赞。 1个人可以喜欢许多帖子(创建的人不能喜欢自己的帖子)。 如何删除这种循环设计?还是我的数据库设计错误?

2
有没有一种方法可以优化按联接表的列排序?
这是我的慢查询: SELECT `products_counts`.`cid` FROM `products_counts` `products_counts` LEFT OUTER JOIN `products` `products` ON ( `products_counts`.`product_id` = `products`.`id` ) LEFT OUTER JOIN `trademarks` `trademark` ON ( `products`.`trademark_id` = `trademark`.`id` ) LEFT OUTER JOIN `suppliers` `supplier` ON ( `products_counts`.`supplier_id` = `supplier`.`id` ) WHERE `products_counts`.product_id IN (159, 572, 1075, 1102, 1145, 1162, 1660, 2355, …
10 mysql  order-by 

5
计算表的行大小和最大行大小
问题: 有什么方法可以计算表创建所占用的字节数,我知道您可以从information_schema.tables中获取一些信息,但是该信息不够准确。 实际需要的是根据表定义(仅针对innodb的字节数),归类也可以视为utf-8-general-ci 例如表测试如下 创建表测试 ( col1 varchar(25), col2 int, col3 varchar(3), col4 char(15), col5 datetime ); 现在需要根据表中的列类型知道一行中可以累积的总行大小。 在MSSQL中找到了某种类似的解决方案,但需要其MySQL版本 用于估算任何表的行大小的脚本 任何帮助深表感谢。

2
MySQL安装问题
首先,请原谅,这个职位很长,需要一些背景,第二;我很难从噪声中分辨出信号,如果其中一些与噪声无关,请忍受: 几周前,我自愿选择升级到Windows10。这样做之后,我最终决定删除不再需要的Python安装。删除最新的2.7(并仅保留3.4.3)后,一切似乎都可以正常工作,直到我的计算机意外崩溃。从那时起,Windows 10就再也不一样了,极其不可靠。 在启动时,我不得不再次降级到Windows 7。我收到了两条错误消息:一条说找不到python dll,另一条说: 在动态链接库RPCRT4.dll中找不到过程入口点RpcImpersonateClientContainer 我认为第二个错误至关重要。粗略的搜索指向this,它表示这是Windows 10唯一的进程。 我设法多次重新安装和卸载python 2.7和3.4.3,并且不再出现python dll错误(因此,我目前拥有3.4.3作为计算机中唯一的Python版本)。 但是,第二个错误仍然存​​在。我尝试卸载计算机中的所有MySQL服务,除以下两个以外,我大部分都成功了: MySQL Connector 6.9.5和MySQL for Excel 1.3.3,无论我做什么,都无法卸载。我在此答案中尝试了解决方案,但收到以下错误: OpenService失败1060: 指定的服务不存在为已安装的服务。 现在,我正尝试通过Microsoft安装程序(扩展名为msi)重新安装MySQL社区版本5.6.26.0。我单击它,然后显示在显示“收集相关信息...”之类的窗口中,然后它消失了。 注意:当我尝试通过网络社区进行安装时。我设法进入以下屏幕(您是否希望该程序进行更改...?),然后它再次消失。 在Windows进程中都找不到这两者。 但是,在运行Web社区几次后,MySQL Installer -Community在我的列表中显示为已安装程序以进行更改/卸载。如果我尝试更改它,什么也不会发生,但是如果我尝试将其卸载: 在动态链接库RPCRT4.dll中找不到过程入口点RpcImpersonateClientContainer 同样,第二个错误(但设法将其卸载)。 另一个谷歌搜索后来,这个法语线程弹出。我的法语充其量不过是草率的,但唯一的回答似乎表明DLL损坏了,也许是全新安装了? 也许是不相关的注释:我的计算机在每次启动时都要求我进行更新。几分钟后,熟悉的徽标将弹出“关闭”选项。每次我选择安装更新时,它显然都安装了,并在启动时配置了更多内容。但是每次,它再次发生。 我进行了更彻底的检查,并一遍又一遍地安装了KB3083186,因此我修复了.NET 4.6,禁用了自动更新,现在看来还不错。 我的机器的相关详细信息如下: 操作系统:Windows 7家庭高级版,Service Pack 1。 系统: HP Pavilion dm4笔记本电脑 处理器: 英特尔酷睿i5-3210 CPU 2.50GHz 内存: 6 GB 我的理想结果是避免重新安装(对于我来说似乎是一个核选项),删除所有MySQL服务,正确安装它们以及能够使用Workbench(以及其他与MySQL相关的产品)。 …

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.