我有一个 MySQL 数据库服务器,它接受大量移动应用程序数据进行分析。我想知道出于优化原因,以下架构是否有意义且合适:
我想将 MySQL 数据库服务器拆分为两个单独的服务器,如下所示:
关系黑白服务器将是主-主。
如果我的推理是正确的,你能解释一下我如何准确地做到这一点吗?
我在数据库管理方面很新。我现在公司的数据库架构是主从复制。我们使用的是 MySQL 5.0.86 版。
几周前,我们升级了公司的主应用程序。此升级为其数据库的所有表添加了一列。升级前,我们的 ibdata 大小约为 3.1GiB。升级后是~5.2GiB。
今天,我已经用 mysqldump 完成了一个完整的备份恢复测试。恢复后,ibdata 大小约为 3.6 GiB。标准选择在恢复中显示与原始数据库中相同的数据。
我已经通过 select to information_schema 检查了数据大小(CUSTODIA 是我们主应用程序的名称):
select SUM(DATA_LENGTH+INDEX_LENGTH) from TABLES where TABLE_SCHEMA='CUSTODIA';
Run Code Online (Sandbox Code Playgroud)
这是主数据库中的结果:
+-------------------------------+
| SUM(DATA_LENGTH+INDEX_LENGTH) |
+-------------------------------+
| 5683345068 |
+-------------------------------+
Run Code Online (Sandbox Code Playgroud)
这是恢复数据库的结果:
+-------------------------------+
| SUM(DATA_LENGTH+INDEX_LENGTH) |
+-------------------------------+
| 3735748608 |
+-------------------------------+
Run Code Online (Sandbox Code Playgroud)
我的问题:
对此的任何想法将不胜感激。谢谢你。
我检查了 my.cnf 的其他出现,但我只发现了 /etc/my.cnf 出现了一次。
然后,我继续修复我的值,例如 query_cache_size 等。
保存并重新启动后,未应用 my.cnf 中的值。我正在使用 CentOS 5.6、Apache 2 上的 LAMP、MySQL 5.0.77
有什么帮助吗?
我也跑了
[root@veepiz ~]# ps aux | grep mysql
root 16202 0.0 0.1 61220 704 pts/0 D+ 03:17 0:00 grep mysql
root 32054 0.0 0.1 63888 536 ? S Jul24 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --user=mysql
mysql 32096 6.0 1.6 250592 8352 ? Sl Jul24 19:14 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
这是/etc/init.d/mysqld的内容
#!/bin/bash
#
# mysqld This shell …Run Code Online (Sandbox Code Playgroud) 我有 2 台带有 SQL Server 2008 R2 的物理服务器。– SQL Server 1(主动)和 SQL Server 2(被动)Web 应用程序是使用 .Net 4.0 框架开发的。
我想知道具有高可用性并具有用于报告的 SSRS 的最佳解决方案。
计划的解决方案:故障转移的镜像,SSRS 的事务复制作为镜像数据库只能用于故障转移场景。SSRS 将在被动服务器上,以减少主动服务器上的负载。
让我知道解决方案是否正确。还建议替代方法。
我正在寻找一个便携式示例数据库
我知道那里有 Adventureworks、Northwind 和 pubs 示例数据库,但我正在寻找更小的东西。
知道在哪里可以找到这种数据库吗?
我有 RHEL 5 平台和 8G RAM 和 MySQL 版本 14.12 distrib 5.0.86。我想在一个 InnoDB 表中创建索引,但是需要很长时间:
Time | State | Info
2291 | copy to tmp table | create index index_test
Run Code Online (Sandbox Code Playgroud)
该表有 8,000,000 行,在 /etc/my.cnf
innodb_buffer_pool_size = 4G
Run Code Online (Sandbox Code Playgroud)
但还是太慢了。
如何使 innodb 表中的创建索引更快?
我已经有了这些变量:
read_buffer_size = 2M
sort_buffer_size = 8M
tmp_table_size = 64M
Run Code Online (Sandbox Code Playgroud)
显示创建 user_t\G
CREATE TABLE `user_t` (
`t_id` mediumint(8) unsigned NOT NULL auto_increment,
`user_id` varchar(50) NOT NULL default '',
`event_time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`user_A` double(11,2) NOT …Run Code Online (Sandbox Code Playgroud) 当在线阅读有关 innodb_log_file_size 时,它说
日志文件的总大小必须小于 4GB
那么如果它需要更大呢?
在书籍和网上,它说将 innodb_log_file_size 设置为至少一个小时的写入值。
目前我有 2 个 1GB 的日志文件,在计算Innodb_os_log_written1 小时时,至少需要 10GB。2GB 的日志文件只能在我们的峰值负载下进行 20 分钟的写入。
蒂亚!
我有一个 MySQL 开发服务器,它在某些数据库中使用 InnoDB 表。它最初是使用默认值设置的,因此所有数据都进入系统表空间(例如主表空间)ibdata1文件)。一路上,我启用了innodb_file_per_table以便新的数据库表进入它们自己的文件。
我现在想通过删除一些开发数据库来回收磁盘空间。我知道我必须 mysqldump 并重新导入系统表空间中的那些数据库。确定重点关注哪些的最佳方法是什么?
我没有看到任何明显的东西 information_schema数据库中。我可以使用 SSH shell 手动浏览服务器,但我正在寻找一种更自动化或更优雅的方式来做到这一点。
在一些较旧的数据库中,我只看到.frm数据库目录中的文件,在较新的数据库中我看到.frm并.ibd文件。这似乎是知道数据在哪里的关键......
健全性检查:是否可以通过 mysqldump 一半的数据库来回收空间,或者你真的必须对每个数据库都做?该服务器中有 54 个使用 InnoDB 表的数据库。
注意:在 UNIX 上使用 MySQL v5.1。
mysql服务器系统变量差不多有277个。在这些变量中,有些变量是动态的,而很少是动态的。
我不明白只读变量背后的原因是什么。为什么mysql系统变量很少是只读的。如果他们使这些变量动态化将会发生什么。
只读变量有什么深层原因吗?
现在我们可以考虑:
我们还可以在http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html找到许多其他变量
当然,我知道我们不能像这样改变变量version。但许多其他变量log-bin都不是动态的。general_log对我来说,如果和是动态的就没有意义log_slow_queries。为什么 log-bin 不是动态的?同样,还有许多其他变量。
无论使用的实际 SQL 数据库系统如何,是否有统一的方法来检查给定列的 INDEX 是否存在?
例如,对于 MySQL,可以使用SHOW CREATE TABLE mytable. 如果列mycolumn有一个索引,结果会是这样的:KEY 'Index_1' ('mycolumn')。
这个指标KEY是所有SQL数据库系统统一的吗?
有没有更好的方法来检查索引?
mysql ×8
innodb ×4
index ×2
mysqldump ×2
sql-server ×2
aggregate ×1
backup ×1
mysql-5.5 ×1
optimization ×1
replication ×1
size ×1
tuning ×1