小编Zim*_*bao的帖子

用于Rails 3应用程序的MySQL集群(NDB)与MySQL复制(InnoDB):优点/缺点?

我们正在对当前系统进行概述,试图弄清楚我们是否可以提高性能和可靠性.

目前我们运行一堆内部Rails应用程序和基于Rails的网站.有些已经是Rails 3,有些正在转换为Rails 3.它们都连接到以下MySQL安装程序.

mysql01 ( master server) => mysql02 (slave) =>(每日数据库备份到驱动器,每天,每周,每月和每半年备份).

所有写入都发生在mysql01上,大多数短读取也会发生,一些"更耗资源的读取"(如每月/每周报告需要3-10分钟才能运行并将数据转储到csv或备份中)转到mysql02服务器.我们每天访问我们的网站大约3-5K,并且有大约20-30个内部用户,每天使用各种应用程序进行库存,订单处理等.因此,除了那些报告之外,这些服务器并不是特别重负荷.无论如何,奴隶的奔跑.

所有服务器都在virtualized XENDebian Lenny VM上的池中运行.

所以我们正在对系统进行审查,有人提出了切换到MySQL Cluster (NDB)设置的建议.我在理论上知道它,但从未实际运行它.任何有过这方面经验的人都知道任何赞成与我们当前的设置,以及涉及Ruby/Rails应用程序时的任何特别警告吗?

mysql ruby-on-rails

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

从Fixnum整数Ruby on Rails中获取每个单独的数字

这是一个真正的超新手问题.

我有一个存储在数据库中的年龄.

当我从数据库中获得年龄时,我想获得每个数字.

例:

User.age = 25
Run Code Online (Sandbox Code Playgroud)

我想得到以下内容:

first = 5
second = 2
Run Code Online (Sandbox Code Playgroud)

我似乎无法从数据中将其作为修复数量来解决这个问题.

任何人都知道干净简单的解决方案.

ruby ruby-on-rails

15
推荐指数
3
解决办法
2万
查看次数

Mysql事务等待锁已经被授予..这导致死锁

如果下面的情况是mysql中的一个bug?

Mysql版本:mysql.x86_64 5.0.77-4.el5_4.1

内核:Linux box2 2.6.18-128.el5#1 SMP Wed Jan 21 10:41:14 EST 2009 x86_64 x86_64 x86_64 GNU/Linux

------------------------
LATEST DETECTED DEADLOCK
------------------------
100125  4:24:41
*** (1) TRANSACTION:
TRANSACTION 0 210510625, ACTIVE 155 sec, process no 28125, OS thread id 1243162944 starting index read
mysql tables in use 1, locked 1
LOCK WAIT 5 lock struct(s), heap size 1216, undo log entries 1
MySQL thread id 162928579, query id 527252744 box22 172.16.11.105 user updating
delete from user_grid_items where user_id = 669786974 …
Run Code Online (Sandbox Code Playgroud)

mysql deadlock database-deadlocks

10
推荐指数
2
解决办法
3155
查看次数

如何确定linux中的可用物理内存

我想弄清楚我的软件是否在运行linux suffers from memory leak.我已经尝试测量可用的物理内存/proc/meminfo(见下文),但可以理解哪个字段代表可用内存以及它们之间的关系MemFree, Cached, Buffers, Active, Inactive.

cat /proc/meminfo
MemTotal:       124128 kB
MemFree:         62872 kB
Buffers:             0 kB
Cached:          15624 kB
SwapCached:          0 kB
Active:          38724 kB
Inactive:        11148 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               0 kB
Writeback:           0 kB
AnonPages:       34272 kB
Mapped:          14640 kB
Slab:             5564 kB
SReclaimable:      424 kB
SUnreclaim:       5140 kB
PageTables:        504 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
WritebackTmp:        0 kB
CommitLimit:     62064 kB …
Run Code Online (Sandbox Code Playgroud)

linux memory

10
推荐指数
2
解决办法
3万
查看次数

处理innoDB死锁

Deadlock found when trying to get lock; try restarting transaction在InnoDB表上遇到错误.这是查询:

UPDATE views 
SET visit_cnt = visit_cnt + 1 
WHERE visit_day = DATE(NOW()) 
AND article_id = '4838'
Run Code Online (Sandbox Code Playgroud)

此查询还通过ON UPDATE触发器触发此操作:

UPDATE articles 
SET views = views + 1 
WHERE id = NEW.article.id
Run Code Online (Sandbox Code Playgroud)

这是我试图修复它的方式:

$attempts_left = 5;
do
{
    mysql_query ($query);

    // if we found a deadlock, we will try this query 4 more times   
    if (mysql_errno () == 1213) { // 1213 - deadlock error
        $deadlocked = true;
        $attempts_left --; …
Run Code Online (Sandbox Code Playgroud)

php mysql deadlock innodb

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

如何从汇编语言制作可执行文件?(在emacs中)

有人能告诉我如何用汇编语言制作可执行文件吗?我的环境是Ubuntu + Emacs + GCC用于学习目的,我写了一些C代码(hello.c)并将其转换为程序集(hello.s)

我想从汇编写入文件中创建一个可执行文件.

我试过了

M-x compile

gcc hello.c -S
Run Code Online (Sandbox Code Playgroud)

从C代码进行汇编

M-x compile

as hello.s 
Run Code Online (Sandbox Code Playgroud)

制作可执行文件

但是只有a.out文件并且无法执行

所以我试过了

as hello.s -o aaa
Run Code Online (Sandbox Code Playgroud)

但文件"aaa"不可执行

linux emacs ubuntu assembly gcc

6
推荐指数
1
解决办法
5281
查看次数

如何知道mysql INSERT何时完成(多个连接)

我有多个这样的数据库连接情况:

db connection 1: INSERT xyz
(very short time passes)
db connection 2: SELECT [looking for xyz]
Run Code Online (Sandbox Code Playgroud)

有时会SELECT发现xyz而有时却找不到(因为它与不在同一个db连接上INSERT)。如果我把sleep(1)INSERT then the SELECT总能找到xyz

对于数据库连接1,如何使其等待,直到INSERT完成并且新行可用于SELECTs另一个数据库连接上运行?

我的桌子是innodb。用例是在连接1上插入一个经过身份验证的会话ID,然后重定向到一个经过身份验证的页面,然后当对经过身份验证的页面的请求进入(在另一个连接上)时,我们会寻找会话ID来对该请求进行身份验证。可以放慢登录速度,直到INSERT完全完成后再登录,这样经过身份验证的会话ID才可用于其他请求,然后再返回。

mysql select insert

5
推荐指数
1
解决办法
2061
查看次数

编写我自己的内核

我需要一些指导来开始学习编写我自己的操作系统内核.

仅供教育用户使用.

我怎样才能编写自己的内核?

linux kernel distro distribution

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

如何列出 Linux 的所有 phpmyadmin 用户/密码

当我忘记数据库密码时,如何列出 Linux 的所有 phpmyadmin 用户/密码?

php java vps phpmyadmin

0
推荐指数
1
解决办法
3252
查看次数