小编Rol*_*DBA的帖子

Web 管理员的替代数据库工具

我目前使用 phpmyadmin 进行大部分数据库管理。它工作得很好,但我对其他可能工作得更快/更有效/等的工具感兴趣......

在 *nix 机器上用于 MySQL 的最佳和/或替代管理工具是什么?

mysql tools

8
推荐指数
1
解决办法
1566
查看次数

为什么在列上运行 ALTER TABLE 会导致它从 NOT NULL 变为 NULL?

我正在批量更新 SQL Server 数据库。我将所有numeric(38,0)列更改为int (是的,SQL Server 脚本是从 Oracle 脚本创建的)。使用 SMO 和 C# (我是一名软件工程师),我设法生成了非常好的脚本,就像SQL Server Management Studio那样。除了一个特定问题外,一切都非常好:

对于少数表格,当我调用ALTER TABLE [myTable] ALTER COLUMN [columnA] INT它时,它决定还将列从NOT NULL to NULL. 这当然是一个大问题,因为我需要为那些特定列上的大多数表重新生成主键。

显然,我有很多选择使用 SMO 来找出哪些列是主键,并在我更新数据类型之后或同时强制它们为 NOT NULL,但我真的很好奇是什么导致了这种情况。

sql-server-2005 sql-server-2008 sql-server

8
推荐指数
1
解决办法
460
查看次数

MySQL 使用什么机制在 Windows Server 2008 上安排备份?

在 Windows Server 2008 上运行的 MySQL Server (v5.1.45-community) 上调度数据库备份时,使用什么机制来触发备份运行?我认为它正在使用 Windows 任务计划程序,但我没有看到这些备份的任何明显任务。SQL Server 使用单独的代理服务。MySQL中有类似的东西吗?

附加信息:备份是使用 MySQL Administrator 设置的。我知道如何安排备份,但它们没有运行,我正在寻找有关从哪里开始排除故障的见解。

mysql backup windows mysql-5.1

8
推荐指数
1
解决办法
1867
查看次数

每当 phpMyAdmin 加载时,InnoDB 上的 COUNT(*)

innodb 运行缓慢是一个已知问题

SELECT count(*) FROM Table
Run Code Online (Sandbox Code Playgroud)

因此我避免了这一点。但是我注意到,每当我登录到 phpmyadmin 时,它都会自动count(*)为我的 innodb 表执行19k 行,这可能需要长达一分钟的时间来执行。然而它并没有启动这样的count(*)为另一个有 400 万行的 innodb 表的操作。

另一个线索,在 phpmyadmin 中,在 Records 列下,19k 行表的记录数显示精确值,而 400 万行表显示约

我知道 innodb 表给出了行数的估计。但似乎对于较小的表,在这种情况下有 19k 行,phpmyadmin 决定做一个count(*)而不是仅仅给出一个估计。

问题是,有没有办法阻止 phpmyadmin 对我的 innodb 表进行此类计数?每当我刷新我的 phpmyadmin 屏幕时,只给出一个估计而不是进行昂贵的行计数是可以的。

mysql innodb

8
推荐指数
1
解决办法
5813
查看次数

MySQL 和 PostgreSQL 许可证问题

我们公司希望将 MySQL 用于一种软件产品。该产品不是开源的。自由使用它是否合法?

如果没有,PostgreSQL 怎么样?这符合我们的目的吗?

mysql postgresql license

8
推荐指数
3
解决办法
9248
查看次数

“逻辑差异”的定义?

我目前正在阅读CJ Date 的“SQL 和关系理论”。虽然我在书中讲得很远,但我还是有一些基本问题。我想知道“逻辑差异”这个词是什么意思,这本书确实试图用例子解释这个词,但并没有真正解释它的意思(或者我可能理解错了??)

这是书中的一小部分:

我说过关系和关系的图片之间存在逻辑差异。逻辑差异的概念源自维特根斯坦的格言:

  • 所有的逻辑差异都是很大的差异。

我直观地知道逻辑差异意味着什么,我知道关系和关系图片之间的区别是什么。我想要的是“逻辑差异”概念的正式定义,所以我很清楚它的含义。

database-design relational-theory

8
推荐指数
1
解决办法
1208
查看次数

MySQL 集群 RAM 要求

从 MySQL 5.1 开始,数据不再需要完全在内存中。

我读过索引列(我认为整个索引结构)必须仍在内存中(MySQL High Availability,2010,第 533 页“MySQL Cluster 将所有索引列保留在主内存中”)。

鉴于此,如果没有足够的内存(即,一个巨大的数据库(> 100GB 或 1TB),在具有低内存配置的服务器上运行(例如,2 个数据节点,每个节点具有 1GB 的 RAM))会发生什么情况?

mysql memory ndbcluster

8
推荐指数
1
解决办法
7271
查看次数

大量插入的 InnoDB 表不会使用我所有的 CPU

我有一个几乎从不查询的数据包日志数据库。它只需要快速插入即可。我使用 InnoDB 是因为我想保持 ACID 合规性,因为即使丢失一个数据包也可能对我们的客户造成损害。在性能调优方案中,我通过多个数据库连接向服务器发送 1,000,000 个数据包。但是无论我在 my.cnf 中使用什么设置,我都无法让 mysqld 进程在 12 核的系统上使用超过 900% 的 CPU。(盒子上没有其他东西在运行。)

我设置了以下内容

  • innodb_file_per_table = 1
  • innodb_write_io_threads = 64
  • innodb_read_io_threads = 64
  • innodb_thread_concurrency = 0

如果我使用 MyISAM,我可以在大约 6 秒内写入所有数据包。但是 InnoDB 大约需要 25。我可以让 MySQL 使用剩余的系统资源并更快地插入吗?

编辑:这是表的架构:

+-------+----------------------+------+-----+---------+-------+
| Field | Type                 | Null | Key | Default | Extra |
+-------+----------------------+------+-----+---------+-------+
| t     | bigint(20) unsigned  | YES  |     | NULL    |       |
| a     | char(1)              | YES  |     | NULL    |       |
| sa    | …
Run Code Online (Sandbox Code Playgroud)

mysql innodb myisam optimization mysql-5.5

8
推荐指数
1
解决办法
3589
查看次数

阿拉伯语、希伯来语、英语和法语的 SQL Server 排序规则

我有需要支持 3 种不同语言的新 SQL Server 数据库。

如果我希望我的数据库支持以下内容,我需要选择哪些字符集和排序规则:

  • 希伯来语
  • 阿拉伯
  • 英语
  • 法语

sql-server collation

8
推荐指数
1
解决办法
3万
查看次数

如何在不停机的情况下为60M记录的大表添加索引?

过去几天我们一直在努力解决一个问题。我们要为一个有60M记录的大表添加索引。起初我们尝试使用基本的 mysql 语法添加它。但它堵塞了我们的生产数据库。该表在生产查询中使用非常频繁。所以一切都受苦了。

我们的数据库托管在 AWS RDS 上。它的Mysql 5.7。我们使用 Laravel 作为 PHP 框架

我们读到的下一件事是,我们可以将当前表复制到新表中。然后为新表添加索引。然后移动 laravel 模型以使用新表。我们认为这是有道理的,而且很容易

但是将表数据从一个表复制到新表需要花费相当多的时间。我们的计算表明这需要几天的时间。我们尝试使用 Laravel 以及 SQL 命令。但无论哪种方式都太慢了。

然后我们尝试将数据导出为 CSV 并导入,但还是太慢了。前几百万条记录插入速度很快,但随后表的插入速度会变得非常慢。

最后我们尝试了mysqldump,我们意识到它在插入时也会锁定新表,所以也许这就是它足够快的原因。将表格复制到新表格大约花了 6 个小时。但是我们在这个方法中丢失了 2M 条记录。我们还检查了导出/导入时有多少记录进入现有表,只有大约 100K。因此导出/导入丢失了 190 万条记录,我们无法找出原因。

在经历了所有这些不同的方法之后,我们决定让应用程序停机并在巨大的表上添加索引

我想知道其他人也面临这个问题吗?有没有办法在一个巨大的表上添加索引而不导致生产停机?或者有没有更快的方法来复制大的 mysql 表而不丢失数据?

mysql percona-tools mysql-5.7 online-operations amazon-rds

8
推荐指数
1
解决办法
468
查看次数