我们公司的服务器目前托管在 VPS 上,我们决定迁移到专用服务器。
在为数据库服务器选择最佳硬件时,我们应该投入更多资源:更好的 CPU(更多内核)?或更多的内存?
最佳投资回报率在哪里?
有什么建议?
我们有一个 MySQL 5.0 服务器,以 MyISAM 的形式运行所有表。我们有两个奴隶,在上个月,我们已经升级到 MySQL 5.5。他们的表也仍然是 MyISAM。
我原来的计划是把5.0的master升级到5.5,然后转成InnoDB。现在我想知道,在升级之前开始是否更有意义?我一直很谨慎,因为我听说 5.5 下的 InnoDB 比 5.0 下的 InnoDB 快得多。这是没有根据的,我现在应该开始吗?
我想在 2 个 InnoDB 表之间迁移数据。
目前我正在运行这个查询:
INSERT INTO table_a SELECT * FROM table_b;
Run Code Online (Sandbox Code Playgroud)
如果数据集增长,避免 CPU 过载的最佳方法是什么?
谢谢
特别是双 CPU 32 核 - 128RAM - RAID 10 SSD。Ubuntu 64 服务器。
有时 Innodb 负载很重 - 每秒约 2000 多个查询。重读和写。
目前我们在默认的 write_io_threads 上运行 4。
我们是否“削弱”了我们服务器的能力?在 max write_io_threads=64 和 read_io_threads = 64 上运行它是否安全?
这个数字是如何确定的?
我在 MySQL 5.0.15 上创建了一个数据库。我有一个查询,当我在这个 MySQL 版本上运行这个查询时,我得到 0.9 秒的运行时间。当我将此数据库导入到另一个具有相同硬件的 MySQL 服务器并运行相同的查询时,我得到了 120 多个,有时 MySQL 挂起。
5.0 和 5.1 或 5.5 有什么区别?我已经测试了 5.1 和 5.5 版本。
在较新版本中查询是否可能需要更长的时间(例如 mysql 结构更改)?
对不起,我不能把这个查询放在这里,但查询是这样的:
SELECT fl_passenger_ticket. *,
fl_aganc.name AS agancname,
fl_pnr.remark AS remark,
fl_pnr.reservetime AS reservetime,
fl_pnr.cancelpnr,
fl_flight_date.fromcity AS fromcity,
fl_flight_date.tocity AS tocity,
fl_flight_date.flightdate AS flightdate,
fl_flightdate_capacity.adultper AS adultper,
fl_flightdate_capacity.childper AS childper,
fl_flightdate_capacity.infantper AS infantper,
fl_flightdate_capacity.cancel AS cancelsegment,
fl_flightdate_capacity.tax1adultpric,
fl_flightdate_capacity.tax1childpric,
fl_flightdate_capacity.tax1infantpric,
fl_flightdate_capacity.tax2adultpric,
fl_flightdate_capacity.tax2childpric,
fl_flightdate_capacity.tax2infantpric,
( fl_flightdate_capacity.tax3adultpric +
fl_flightdate_capacity.tax4adultpric +
fl_flightdate_capacity.tax5adultpric ) AS taxxtadultpric,
( fl_flightdate_capacity.tax3childpric + …Run Code Online (Sandbox Code Playgroud) 我的客户不小心从测试数据库中删除了一个表的所有记录。此测试数据库位于 SQL Server 2005 Express 中,我们没有备份。
是否可以从事务日志 (.ldf) 文件中恢复已删除的行?如果是,如何?
我有一个数据库,由于一些问题,我需要将一些表从 MyISAM 转换为 InnoDB。
我基本上是这样做的:
set sql_log_bin = 0;
set sql_mode = 'STRICT_ALL_TABLES';
ALTER TABLE `table1` ENGINE = INNODB;
ALTER TABLE `table2` ENGINE = INNODB;
ALTER TABLE `table3` ENGINE = INNODB;
ALTER TABLE `table4` ENGINE = INNODB;
ALTER TABLE `table5` ENGINE = INNODB;
ALTER TABLE `table6` ENGINE = INNODB;
Run Code Online (Sandbox Code Playgroud)
它工作正常,但据我所知,我现在应该重新配置 my.cnf 然后重新启动 mysql 服务器,对吗?
如果服务器同时包含 MyISAM 和 InnoDB 表,我应该如何调整 my.cnf 文件?
我有一个 8 核 MySQL 服务器,32 GB RAM,保存 40 个 MyISAM 表(总计:~4GB 数据)。由于数据库大小比可用内存小几倍,我如何才能充分利用我的服务器资源?
我应该尝试在 my.cnf 中配置哪些设置?
我可以强制数据 + 索引留在内存中吗?
我有一些关于从 5.0.88 升级到最新版本的问题。
我现在正在学习成为一名 DBA,因为我管理着一个非常敏感的大型实时数据库。这是我的专用数据库服务器的当前系统统计信息:
MySQL 5.5.23
top - 18:40:27 up 14 days, 4:43, 1 user, load average: 19.72, 22.62, 24.04
任务:总共183个,3个运行,180个睡眠,0个停止,0个僵尸
Cpu(s): 69.9%us, 0.4%sy, 0.0%ni, 29.2%id, 0.0%wa, 0.1%hi, 0.4%si, 0.0%st
内存:总共 24685224k,已使用 20172096k,4513128k 空闲,343420k 缓冲区
交换:总共 2007284k,已使用 0k,可用 2007284k,缓存 729004k
PID 用户 PR NI VIRT RES SHR S %CPU %MEM TIME+ 命令
5446 mysql 15 0 18.4g 17g 6176 R 765.8 76.2 114437:38 mysqld
我目前正在使用 50gb FusionIO 片中的 43gb。MySQL 平均大约 700 QPS 和 …