Questions tagged «mysql»

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

3
在数据库中存储时间(以毫秒为单位)
关于在数据库中存储“时间”的一个简单问题。我正在记录用户运行时间,其格式为00:00:00:00(小时,分钟,秒,毫秒)。 我本来打算将其存储为,TIME但是后来我意识到MySQL不支持这种类型的毫秒。 我将存储从用户秒表获取的实际时间,而不是他们运行并完成的时间(这将在插入之前进行计算)。 最好使用哪种字段类型?我在想double或者float,但是我不确定是否行得通?

1
在繁忙的主从复制系统上恢复单个mysql数据库
在繁忙的复制系统中寻找一种策略或工具来将单个数据库恢复到某个时间点。 我有12个数据库以主从复制配置在2个MySQL 5.0.77服务器上运行。每天对只读从属服务器进行一次完全转储,并且有可用的增量SQL转储,这些备份不在现场并监视复制状态。 编辑:表是InnoDB和myISAM的混合,因此引擎特定的解决方案不可用。 因此,考虑到主服务器完全故障,我可以中断复制并升级从服务器,也可以选择重建新服务器并从越过FULL备份进行配置,然后应用每小时从从服务器获取的差异。 但是,我担心如何处理部分故障或单个数据库的故障。我可以想到两种可能的情况; 例如,数据库7损坏,继续处理一些请求,直到有人注意到它已损坏,或者来自日志文件的警报... 某些查询,例如放置数据库,放置表,“更新位置...”类型的查询,将使单个数据库或其中的某些子集失效。 目前,我有一堆完整的转储文件,例如FULL- $ DATE-all-databases.sql.gz文件,以及可以应用于DIFF- $ DATE-all-databases.sql.gz的差异文件 要将数据库7恢复到某个时间点,将需要通过FULL和DIFF文件进行grep,并手动应用该sql。 为了使能够恢复到以前的DIFF转储到master数据库之一的状态,我应该如何进行? 我是否需要备份到单个数据库文件,即 mysqldump --databases "database1" | gzip > database1.sql.gz mysqldump --databases "database2" | gzip > database2.sql.gz mysqldump --databases "database3" | gzip > database3.sql.gz 而不是.. mysqldump --master-data --lock--all-databases --all-databases | gzip > all-databases.sql.gz 如果我要查找单独的mysqldump文件,那么主数据二进制日志会如何处理,我甚至应该为主服务器恢复转储设置--master-data吗?

1
为什么mysql 5.5慢于5.1(linux,使用mysqlslap)
my.cnf(5.5和5.1相同): back_log=200 max_connections=512 max_connect_errors=999999 key_buffer=512M max_allowed_packet=8M table_cache=512 sort_buffer=8M read_buffer_size=8M thread_cache=8 thread_concurrency=4 myisam_sort_buffer_size=128M interactive_timeout=28800 wait_timeout=7200 MySQL 5.5: ..mysql5.5/bin/mysqlslap -a --concurrency=10 --number-of-queries 5000 --iterations=5 -S /tmp/mysql_5.5.sock --engine=innodb Benchmark Running for engine innodb Average number of seconds to run all queries: 15.156 seconds Minimum number of seconds to run all queries: 15.031 seconds …

3
如何对SQL Server进行压力测试?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为数据库管理员Stack Exchange 的主题。 3年前关闭。 我的任务是对我们的MSSQL Server和MySQL Server进行压力测试。我想知道是否可以在当前系统和新系统上使用任何工具或脚本来比较性能? 我想衡量对磁盘和处理器性能的读/写。其他可能有用的东西也将很好。 谢谢!

3
查询问题:只能有一个自动列
有人可以告诉我此表定义有什么问题吗? mysql版本是5.1.52-log root@localhost spoolrdb> create table spoolqueue ( queue int, idx bigint not null auto_increment, status smallint, querystring varchar(2048), contenttype varchar(255), characterencoding varchar(16), body text, primary key(queue,idx) ); ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
10 mysql  query 

3
如何在mysql中最佳实现最近邻居搜索?
简而言之, 纬度和经度的数据类型应该是什么? 例如,我应该调用哪个SQL命令来获取前100个最近的餐馆? 详情: 我有10万张biz记录,分别包含经度和纬度。我看到MySQL实际上支持一种称为point的数据类型。我应该改用它吗? MySQL是否支持KDTree存储系统http://en.wikipedia.org/wiki/File:KDTree-animation.gif 最好是使用点数据类型而不是常规浮点数据类型来存储纬度和经度? 最终,我想查找例如最接近点105,6的前100家餐厅,而我的数据库包含很多biz和点。显然,对每个记录和每个点一一计算距离将是O(n),因此很糟糕。 请注意,我知道如何像Yelp这样的应用程序中描述的更简单的解决方案,可以有效地从数据库检索距离信息,并且一开始也将实现我的自我。这是一个很好的答案。 但是,我认为最好的答案应该是超越该权利吗?实际上,基于纬度和经度存储位置并查找距离它最近的东西是一个非常普遍的问题,我希望mysql为此具有特殊的设计模式。有吗? 在哪里可以了解更多信息?谢谢。
10 mysql 


2
MySQL 5.1 InnoDB配置/ 24GB RAM-双至强高负载
我正在运行一个Facebook应用程序,该应用程序目前有300-600个并发用户(并且还在不断增长)。为了使硬件为增长做好准备,我将i7 / 12gb ram / 2x 80g intel x25 ssd(debian 5.0 / mysql 5.0 / 64bit)更改为bi-xeon / 24gb ram / 2x 120gb intel 320 ssd(ubuntu 10.10 / mysql 5.1 / 64位)。 现在我面临的问题是,性能要比“小盒子”差。在两台服务器上,我一直在使用nginx / php fcgi来提供内容。 我只使用innodb,读/写大约65%/ 35%。大约800-1000 qps,但是所有查询都很简单,永远不会加入超过1个额外的表。所有索引均已设置,并且慢速日志(> 2s)中不会记录任何查询。目前,我大约有400mb的数据(带索引的数据约为1gb),期望它每月增加一倍。 我很喜欢每个可以给我一个提示的人,告诉他们应该进行哪些更改以使其运行更加流畅。 i7机顶盒上的旧配置是这样的(混合myisam / innodb),最多可容纳800多个用户。 旧的my.cnf key_buffer = 3000M max_allowed_packet = 128M …


3
使字段唯一会使索引吗?
如果unique对字段进行约束,是否还需要在该字段上建立索引才能获得可伸缩的插入时间?或者这是为我完成的(即使它使用的索引不能公开访问?) 具体来说,我正在与Apache Derby一起进行原型设计,尽管我可能会在不久的将来将其移至MySQL。我也希望SQL标准中可能有一些说明。 我将永远不需要按此字段进行搜索,因此我宁愿不要创建无用的索引。但是我宁愿使用无用的索引也不愿使用O(n)插入时间。

2
无法解释的InnoDB超时
我最近看到一些非常基本的更新超时,并且无法确定原因。一个例子: //#查询时间:51锁定时间:0已发送的行数:0已检查的行数:0 UPDATE photos SET position = position + 1 WHERE (photo_album_id = 40470); 同一日志中没有Lock_time> 0的条目。运行show innodb status也不会显示任何相关的锁。根据我的应用服务器日志(显示Mysql::Error: Lock wait timeout exceeded与mysql-slow日志中的每个对应条目相关的错误),此问题似乎正在影响至少5个不同的表。 有什么想法从这里去吗?我四面八方。谢谢。 编辑: 创建表`照片`( `id` int(11)NOT NULL auto_increment, `type` varchar(255)NOT NULL, `photo_album_id` int(11)非空, `user_id` int(11)NOT NULL, `title` varchar(255)默认为'Untitled', `description`文字, `credit` varchar(255)默认为NULL, photo_file_name varchar(255)默认为NULL, `photo_content_type` varchar(255)默认为NULL, `photo_file_size` int(11)默认为NULL, `photo_updated_at`日期时间默认为NULL, `position` …


9
没有负载均衡器的负载均衡MySQL集群
我希望创建一个负载平衡的MySQL群集,但没有实际的负载平衡器,以免增加故障点或复杂性。 我当时想的是: 具有MySQL的主从设置 在每个客户端上,放置一个简单的轮询代理,它将在服务器之间轮换请求。 这可能吗?还是有更好的方法来实现这一目标?
10 mysql 

2
喜欢或投票推荐
我正在制作一个小程序,用户可以在其中编写帖子或撰写博客。在这些帖子上,其他用户可以像在Facebook中那样喜欢或不喜欢该帖子,或者像在stackoverflow中那样对帖子进行赞或不赞成。我想知道一个常用的良好数据库结构,并且该程序可以有效地使用该结构。我有两个选择 第一 发布: id head message datepost likes dislikes 1 ab anchdg DATE 1,2,3 7,55,44,3 以上述方式,id是postid。在“喜欢”列中,1,2,3是喜欢或赞成该帖子或博客的用户的ID。7,55,44,3是不喜欢或不赞成该帖子或博客的用户的ID。 第二 发布: id head message datepost 1 ab anchdg DATE 喜欢: id postid userid 1 1 1 2 2 2 不喜欢: id postid userid 1 1 7 2 1 55 这样,我必须为喜欢和不喜欢创建两个单独的表,以获取帖子的喜欢。这样,表即Likes&Dislikes将被大量填充。这可能会使表沉重,处理速度变慢。 因此,我想知道哪种更好和更标准的方法来完成此任务?

1
时间戳字段的默认值无效(mysql 5.7)
编辑:从mysql 5.6更新现有数据库并执行时: UPDATE phppos_register_log SET shift_end = '2015-01-01 00:00:00' WHERE shift_end = '0000-00-00 00:00:00'; 这将产生: #1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'shift_end' at row 1 #1067 - Invalid default value for 'shift_start' 这在mysql <= 5.7中起作用。我找不到与此相关的任何文档...这是什么问题? CREATE TABLE `phppos_register_log` ( `register_log_id` int(10) NOT NULL AUTO_INCREMENT, `employee_id_open` int(10) NOT …
10 mysql  mysql-5.7 

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.