标签: mysql

你如何 mysqldump 特定的表?

如何在不包括其余 db 表的情况下转储特定表或一组表?

mysql mysqldump backup

482
推荐指数
4
解决办法
89万
查看次数

MySQL 能否合理地对数十亿行进行查询?

我计划将质谱仪的扫描结果存储在 MySQL 数据库中,并想知道存储和分析这一数量的数据是否远程可行。我知道性能因环境而异,但我正在寻找粗略的数量级:查询需要 5 天还是 5 毫秒?

输入格式

每个输入文件包含一次光谱仪运行;每次运行都由一组扫描组成,每个扫描都有一个有序的数据点数组。有一些元数据,但文件的大部分由 32 位或 64 位整数或浮点数数组组成。

主机系统

|----------------+---------------------------------------|
| 操作系统 | Windows 2008 64 位 |
| MySQL 版本 | 5.5.24 (x86_64) |
| 中央处理器 | 2x 至强 E5420(共 8 核)|
| 内存 | 8GB |
| SSD 文件系统 | 500 GiB |
| 硬盘RAID | 12 TiB |
|----------------+---------------------------------------|

服务器上还有一些其他服务在使用可忽略的处理器时间运行。

文件统计

|-----------+--------------|
| 文件数| ~16,000 |
| 总尺寸| 1.3 TiB |
| 最小尺寸 | 0 字节 |
| 最大尺寸 | 12 GiB …

mysql performance database-design

289
推荐指数
15
解决办法
17万
查看次数

263
推荐指数
10
解决办法
27万
查看次数

如何监控大型 .sql 文件的导入进度?

我正在导入 7 GBfoobar.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
Run Code Online (Sandbox Code Playgroud)

我如何监控它的进度?

mysql mysqldump import mysql-5.0

256
推荐指数
6
解决办法
23万
查看次数

mysql innodb_buffer_pool_size 应该有多大?

我有一个繁忙的数据库,只有 InnoDB 表,大小约为 5GB。数据库在使用 SSD 磁盘的 Debian 服务器上运行,我设置了最大连接数 = 800,这有时会饱和并使服务器停止运行。平均每秒查询约 2.5K。所以我需要优化内存使用,为最大可能的连接腾出空间。

我已经看到建议 innodb_buffer_pool_size 应该高达总内存的 %80。另一方面,我从调整引物脚本中收到此警告:

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
Run Code Online (Sandbox Code Playgroud)

这是我当前的 innodb 变量:

| innodb_adaptive_flushing                          | ON                                                                                                                     |
| innodb_adaptive_hash_index                        | ON                                                                                                                     |
| innodb_additional_mem_pool_size                   | 20971520                                                                                                               |
| innodb_autoextend_increment                       | 8                                                                                                                      |
| innodb_autoinc_lock_mode                          | 1                                                                                                                      |
| innodb_buffer_pool_instances                      | 1 …
Run Code Online (Sandbox Code Playgroud)

mysql innodb database-recommendation

217
推荐指数
5
解决办法
37万
查看次数

如何优化大型数据库的mysqldump?

我有一个带有 InnoDB 数据库的 symfony 应用程序,它有 57 个表,大约 2GB。数据库的大部分大小驻留在单个表中(~1.2GB)。我目前正在使用 mysqldump 每晚备份数据库。

由于我的 comcast 连接,通常如果我手动运行转储,我与服务器的连接将在转储完成之前超时,导致我不得不重新运行转储。[我目前运行一个每晚执行转储的 cron,这仅适用于我手动运行的转储。]

有没有办法加快连接超时问题的转储,同时也可以限制服务器被这个进程占用的时间?

顺便说一句,我目前正在努力减少整个数据库的大小来解决这个问题。

mysql innodb mysqldump performance backup

198
推荐指数
6
解决办法
25万
查看次数

使用字符集 UTF-8 创建 MySQL 数据库

我是 MySQL 的新手,我想知道:

如何utf-8像在 navicat 中那样创建带有字符集的数据库?

create mydatabase;
Run Code Online (Sandbox Code Playgroud)

...似乎正在使用某种默认字符集。

mysql collation utf-8

194
推荐指数
2
解决办法
42万
查看次数

如何将数据库从一台服务器移动到另一台服务器?

如何将 MySQL 表从一台物理服务器移动到另一台物理服务器?

例如这个确切的场景: 我有一个使用 innodb 表的 MySQL 服务器,大小约为 20GB。

我想将其移至新服务器,最有效的方法是什么?

mysql mysqldump backup migration

153
推荐指数
8
解决办法
28万
查看次数

可以让 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万
查看次数

使用 ENUM 与 Integer 类型的优缺点?

假设在某个随机表中,您有一个名为status的列。它的实际值将是enableddisabled

此列的数据类型是 int/bool(1 或零)还是ENUM与值为enabledand一起使用更好disabled?有什么优点或缺点?

假设您有 4 个或 10 个甚至更多,而不仅仅是两个有效状态?随着所需值数量的增加,优势和劣势会向一侧倾斜还是向另一侧倾斜?

mysql database-design datatypes

136
推荐指数
3
解决办法
7万
查看次数