Questions tagged «mysql»

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


15
MySQL可以合理地对数十亿行执行查询吗?
我正计划将来自质谱仪的扫描结果存储在MySQL数据库中,并想知道是否可以远程存储和分析这一数量的数据。我知道性能会因环境而异,但是我正在寻找一个大致的数量级:查询需要5天还是5毫秒? 输入格式 每个输入文件都包含一个光谱仪。每次运行都由一组扫描组成,并且每次扫描都有一个有序的数据点数组。有一些元数据,但是文件的大部分由32位或64位int或float数组组成。 主机系统 | ---------------- + ------------------------------- | | 操作系统| Windows 2008 64位| | MySQL版本| 5.5.24(x86_64)| | CPU | 2个Xeon E5420(共8核)| | 内存 8GB | | SSD文件系统| 500 GiB | | 硬盘RAID | 12 TiB | | ---------------- + ------------------------------- | 使用可忽略的处理器时间在服务器上运行其他一些服务。 文件统计 | ------------------ + -------------- | | …


11
如何监视大.sql文件的导入进度?
我正在导入7 GB的空间foobar.sql以还原本地数据库中的表。 $ mysql -h localhost -u root 'my_data' < foobar.sql $ mysql --version /usr/local/mysql/bin/mysql Ver 14.12 Distrib 5.0.96, for apple-darwin9.8.0 (i386) using readline 5.1 如何监控进度?
204 mysql  mysqldump  import 

7
如何优化大型数据库的mysqldump?
我有一个Symfony应用程序,其中有一个带有57个表的〜2GB InnoDB数据库。数据库的大部分大小都驻留在单个表中(约1.2GB)。我目前正在使用mysqldump每晚备份数据库。 由于使用comcast连接,通常,如果我手动运行转储,则在转储完成之前,我与服务器的连接会超时,导致不得不重新运行转储。[我目前运行一个每天晚上进行转储的cron,这仅用于我手动运行的转储。] 有没有一种方法可以加快转储以解决连接超时问题,还可以限制服务器占用此过程的时间? 顺便说一句,我目前正在努力减少整个数据库的大小,以解决此问题。

4
mysql innodb_buffer_pool_size应该多大?
我有一个仅包含InnoDB表的繁忙数据库,其大小约为5GB。该数据库在使用SSD磁盘的Debian服务器上运行,并且我已将max connections设置为800,这有时会饱和并使服务器停止运行。每秒平均查询量约为2.5K。因此,我需要优化内存使用量,以便为最大可能的连接空间。 我已经看到有关innodb_buffer_pool_size最多应占总内存的80%的建议。另一方面,我从Tuning-primer脚本收到此警告: Max Memory Ever Allocated : 91.97 G Configured Max Per-thread Buffers : 72.02 G Configured Max Global Buffers : 19.86 G Configured Max Memory Limit : 91.88 G Physical Memory : 94.58 G 这是我当前的innodb变量: | innodb_adaptive_flushing | ON | | innodb_adaptive_hash_index | ON | | innodb_additional_mem_pool_size | …
169 mysql  innodb 



5
可以使MySQL使用多个内核吗?
我看到了一些专用的MySQL服务器,它们从未使用过多个内核。我比MySQL的DBA开发人员更多,因此需要一些帮助 设定 这些服务器非常繁重,并带有OLAP / DataWarehouse(DW)类型的负载: 主:96GB RAM,8核心+单个RAID 10阵列 测试:具有4核的32GB RAM 最大的数据库为540 GB,总容量约为1.1TB,大部分为InnoDB表 Solaris 10 Intel-64 MySQL 5.5.x 注意:最大的数据库是从OLTP DR服务器复制的数据库,而DW就是从中加载的。它不是完整的DW:仅持续6个月到6周,因此它比OLTP DB小。 在测试服务器上的观察 3个独立的连接 每个都有一个并发的(并且不同) ALTER TABLE...DROP KEY...ADD INDEX 这3个表格分别有2.5、3.8和450万行 CPU使用率上升至25%(一个核心已满),并且没有更高 3个ALTER需要12-25分钟(最小的一个需要4.5分钟) 问题 要使用多个内核需要什么设置或补丁? 也就是说,为什么MySQL不使用所有可用的内核?(与其他RDBMS一样) 是复制的结果吗? 其他注意事项 我了解RDBMS“线程”和OS“线程”之间的区别 我不是在问任何形式的并行性 InnoDB和线程的一些系统变量不是最优的(寻找快速的胜利) 短期而言,我无法更改磁盘布局 可以根据需要调整操作系统 最小的桌子上的单个ALTER TABLE需要4.5分钟(震惊IMO) 编辑1 两者的innodb_thread_concurrency都设置为8。是的,这是错误的,但不会使MySQL使用多个内核 innodb_buffer_pool_size在主数据库上为80GB,在测试中为10GB(另一个实例已关闭)。现在可以了。 innodb_file_per_table =开 编辑2 innodb_flush_log_at_trx_commit = …

3
使用ENUM和Integer类型的优缺点?
假设在某些随机表中,您有一列名为status的列。它的实际值将被启用或禁用。 将此列的数据类型设置为int / bool(1或零)还是ENUM将值enabled与and 一起使用会更好disabled吗?优点或缺点是什么? 假设您有4个,10个甚至更多个,而不仅仅是两个有效的状态?随着所需值数量的增加,优势和劣势会左右摇摆吗?

5
如何安全地更改MySQL innodb变量'innodb_log_file_size'?
因此,我对调优InnoDB相当陌生。我正在将表(如有必要)从MyIsam缓慢更改为InnoDB。我在innodb中有大约100MB,因此我将innodb_buffer_pool_size变量增加到128MB: mysql> show variables like 'innodb_buffer%'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | innodb_buffer_pool_size | 134217728 | +-------------------------+-----------+ 1 row in set (0.00 sec) 当我去更改innodb_log_file_size值时(例如,mysql的innodb配置页上的 my.cnf 注释将日志文件大小更改为缓冲区大小的25%。因此,现在,my.cnf如下所示: # innodb innodb_buffer_pool_size = 128M innodb_log_file_size = 32M 重新启动服务器时,出现以下错误: 110216 9:48:41 InnoDB:正在初始化缓冲池,大小= 128.0M 110216 9:48:41 InnoDB:已完成对缓冲池的初始化 InnoDB:错误:日志文件./ib_logfile0的大小不同0 5242880字节 InnoDB:与指定的大小不同.cnf文件0 33554432字节! 110216 9:48:41 …
105 mysql  innodb  myisam  logs 

3
ALTER TABLE-重命名列
这真让我发疯! 我想将博客表中的列从read-more重命名为read_more 我尝试了所有这些: ALTER TABLE blog RENAME COLUMN read-more to read_more; ALTER TABLE blog CHANGE COLUMN 'read-more' 'read_more' VARCHAR(255) NOT NULL; 我总是得到这个! ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near …
102 mysql  mysql-5.5  mysql-5 

5
级联(ON DELETE / UPDATE)行为的良好解释
我不是每天都设计架构,但是当我这样做时,我会尝试正确设置级联更新/删除以简化管理。我了解级联的工作方式,但是我不记得哪个表是哪个表。 例如,如果我有两个表- Parent和Child-在Child该引用上具有外键Parent并具有ON DELETE CASCADE,则哪些记录触发级联,而哪些记录被级联删除?我的第一个猜测是Child删除Parent记录后记录会被删除,因为Child记录取决于Parent记录,但是记录ON DELETE不明确。它可能意味着删除Parent记录后删除记录Child,也可能意味着删除Child记录时删除记录Parent。那是什么呢? 我希望语法为ON PARENT DELETE, CASCADE,ON FOREIGN DELETE, CASCADE或类似的东西来消除歧义。有没有人记得这件事的助记符?

5
存储与计算合计值
是否有任何准则或经验法则来确定何时存储合计值以及何时动态计算合计值? 例如,假设我有一些用户可以评价的小部件(请参见下面的架构)。每次我显示一个小部件时,我都可以从Ratings表中计算平均用户评分。或者,我可以在Widget表上存储平均评分。这样可以避免我每次显示窗口小部件时都必须计算评分,但是随后,用户每次对窗口小部件进行评分时,我都必须重新计算平均评分。 Ratings Widgets --------- ------- widget_id widget_id user_id name rating avg_rating <--- The column in question

3
删除mysql-bin文件安全吗?
我有MM复制在MySQL和我想挤在框中一些自由空间是删除不必要的文件,我在这些进来mysql-bin的文件里面/var/db/mysql/有数百这些文件的像mysql-bin.000123,mysql-bin.000223等我已经做检查MySQL复制show master status和show slave status他们在某些位置使用一些mysql-bin文件,但是我想所有其他bin文件都是剩余的,将不再使用。在这种情况下,删除复制当前指向的所有mysql-bin文件是否安全? 如果可以安全删除,那么在不使用这些文件时,我有什么办法可以自动删除这些文件?

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.