相关疑难解决方法(0)

可以让 MySQL 使用多个核心吗?

我已经看到一些专用的 MySQL 服务器,它们只使用一个内核。我比 MySQL 的 DBA 更擅长开发,所以需要一些帮助

设置

服务器非常庞大,具有 OLAP/DataWarehouse (DW) 类型的负载:

  • 主要:96GB RAM,8 核 + 单个 RAID 10 阵列
  • 测试:32GB RAM,4核
  • 最大的 DB 是 540 GB,总共大约 1.1TB,主要是 InnoDB 表
  • Solaris 10 Intel-64
  • MySQL 5.5.x

注意:最大的 DB 是从 OLTP DR 服务器复制的 DB,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 分钟)

问题

  1. 需要什么设置或补丁才能允许使用多个内核?
    也就是说,为什么 …

mysql innodb performance tuning mysql-5.5

140
推荐指数
5
解决办法
22万
查看次数

MySQL - 大表的 MySQLDump 问题

我有一个 10.6GB 的 MySQL 数据库——它有 MyISAM 和 InnoDB 表。一个特定的表(称为“响应”)是 8Gb - 该表是 InnoDB。

实时数据库被复制到另一台服务器,我使用 MySQLDump 从复制服务器进行备份……实时服务器运行 Windows,但复制服务器运行 CentOS。

MySQLDump 命令是:

mysqldump --verbose --lock-tables=true --max-allowed-packet=1024M --host=192.168.1.182 --user=myusername --password=mypassword --opt --databases databasename > databasename.sql
Run Code Online (Sandbox Code Playgroud)

该命令运行到“响应”表的一半 - 当我们得到:错误 2013 - 查询期间在第 12891212 行转储表响应时丢失与 MySQL 服务器的连接

经过一番谷歌搜索后,我尝试将以下命令添加到 MySQLDump(独立和同时):

--net-buffer-length=32704
Run Code Online (Sandbox Code Playgroud)

--skip-extended-insert
Run Code Online (Sandbox Code Playgroud)

错误仍然发生在同一个地方。

为了完整起见,我尝试在 NaviCat 和 MySQL Workbench 中转储数据库 - 两者都返回相同的错误。

所以,我想知道这是否是腐败问题。我尝试运行以下(在复制服务器上):

CHECK TABLE responses;
Run Code Online (Sandbox Code Playgroud)

CHECK TABLE responses EXTENDED;
Run Code Online (Sandbox Code Playgroud)

两者都返回以下内容:错误 2013 - 查询期间与 MySQL 服务器的连接丢失。

实时数据库非常忙,所以我有点担心......我在实时表上启动了CHECK TABLE,但不出所料,它导致应用程序停止,所以我不得不停止它。

这里欢迎任何建议......最终目标是使用 MySQLDump 进行备份。

谢谢

更新:我尝试使用 NaviCat 将表(在复制服务器上)复制到另一台服务器上的新数据库 …

mysql mysqldump backup

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×2

backup ×1

innodb ×1

mysql-5.5 ×1

mysqldump ×1

performance ×1

tuning ×1