目前我正在使用 mysqldump 进行备份,这很慢,但还可以。最大的问题是恢复数据库,这需要几天时间。转储大约 7GB gzip,所以它不是一个小数据库,但它不应该超出 mysql 的合理范围。
那么我的其他选择是什么?像 mysqlhotcopy 这样的东西会很完美。
我有一个很大的 InnoDB 表,我想通过向其中添加一个小列来更改它。我准备等待一段时间,但我想知道该ALTER TABLE命令在运行时会消耗多少磁盘空间?我的磁盘上是否需要足够的空间来容纳表的两个完整副本?
在我们的一个 mysql 数据库上,磁盘大小(28GB)比实际数据(~5GB)大得多,所以我仔细查看了 mysql-data 中包含的文件
我看到以下文件
12K #sql-5254_eaa3.frm
8.9G #sql-5254_eaa3.ibd
12K #sql-537f_8d5b.frm
11G #sql-537f_8d5b.ibd
Run Code Online (Sandbox Code Playgroud)
即使在 mysql 重启、服务器重启等之后,上述内容仍然存在
知道这些是在崩溃中幸存下来的临时表吗?在生产系统上删除它们是否安全,还是需要以不同的方式处理它们?
顺便说一下,我们确实将 file_per_table 设置为 true。
提前感谢您的任何提示!
只是一些关于迁移到 XtraDB 的问题,我在任何地方都找不到。
我的团队一直在使用 MyISAM dbs 进行生产,并且想知道迁移到 Percona 的 XtraDB 有多难,您将如何进行?
我必须先将 MyISAM 迁移到 InnoDB 还是可以直接迁移到 XtraDB?
我在我的 Fedora 机器上安装了带有 XtraDB 包的 Percona 服务器,但文档对如何使用它不是很有帮助,所以我想知道 Percona 只是搭载在标准的 MySQL 安装上还是一个单独的实体?
关于如何解决我的问题的文档链接会很棒。
在query_cache_size一个通常会希望能像那种环境看起来这使我迷惑不解,因为它默认为0。然后我从 MySQL 文档中阅读了有关query_cache_wlock_invalidate设置的以下内容
通常,当一个客户端在 MyISAM 表上获取 WRITE 锁时,如果查询缓存中存在查询结果,则不会阻止其他客户端发出从表中读取的语句。将此变量设置为 1 会导致获取表的 WRITE 锁,从而使查询缓存中引用该表的任何查询无效。这会强制尝试访问该表的其他客户端在锁定生效时等待。
它没有提及 InnoDB 引擎。当 Innodb 对行/表有写锁时,此设置是否也阻止从缓存读取?
Percona 的 xtrabackup 实用程序有一个 --throttle 选项来减少备份作业的 IO 负载。
文档说传递的值是每秒读/写对的数量。1000/sec 在现代硬件上是一个合适的值吗?5个怎么样?我找不到这些值的任何有意义的参考框架。
供参考 - 我正在读取和写入同一个驱动器阵列 (10k SAS)。--throttle=20 的 55gb 备份作业在大约一个小时内运行,在非高峰时段对系统没有明显的压力。但老实说,我不知道这是油门的高值还是低值。
具体来说,我有一组 InnoDB 表,我们将它们备份到 MyISAM 表中以提供全文搜索。从数据库通常落后于主数据库。我正在寻找有关可用于跟踪滞后的诊断或命令的建议。两台机器在同一个网络上。非常感谢。
我正在使用大约 90/10 的读/写拆分的社交网站。试图决定一个 MySQL 引擎。我感兴趣的是:
对于我的用例,它们的优缺点是什么?
几个具体问题:
PBXT 使用基于日志的结构来避免双重写入。这听起来很优雅,但我所看到的基准测试并没有显示出比 XtraDB 任何/太多的优势。你有什么使用 PBXT/XtraDB 的经验可以分享吗?
TokuDB 听起来很有趣。但是我见过的所有基准测试都是关于单线程批量插入的——例如插入 100M 行。这与 OLTP 不太相关。在多个内核上同时运行大量并发线程写入和读取时,它的性能如何?有人试过吗?
我们使用 MySQL 5.5 运行服务器。95% 的表设置为 InnoDB 引擎。
但是,每当我查看 mysqld 部分下的 my.ini 文件(使用 MySQL Workbench)时,都会取消选中 innodb 并在下拉列表中选择 OFF。使用记事本查看时,我没有看到此行添加到 my.ini 文件中。
我应该检查此设置并将其设置为 ON 以便我们可以使用启用的 innodb 设置(缓冲区和日志文件等)还是这无关紧要?
我正在尝试设置这些值:
#skip-bdb
#skip-locking
#skip-innodb
Run Code Online (Sandbox Code Playgroud)
当我将它们添加到时/etc/mysql/my.cnf,即使我打开 of,它们在我重新启动服务后 mysql 无法启动,并且没有打印错误消息。
sudo service mysql restart
[ ok ] Stopping MySQL database server: mysqld.
[FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!
Run Code Online (Sandbox Code Playgroud)
之前我确保没有 InnoDB 表,并且该类型的所有文件都被删除。
我尝试查找错误文件,但找不到它:
/var/log/mysql.err是一个0字节文件/var/log/mysql文件夹没有文件rsyslog过去已更改inetutils-syslogd,这可能更改了日志文件,这可能是我看不到任何错误日志的原因,并且我陷入了如何查看或继续前进的困境。