Articles of mysql

使用Nagios监控mysql数据库的数量

我想用Nagios监视MySQL数据库的数量。 我已经安装了官方的Nagios插件。 我正在使用'check_mysql_query': ./check_nrpe -H 192.168.1.10 -c check_mysql_query Nagios代理: command[check_mysql_query]=/usr/lib64/nagios/plugins/check_mysql_query -d mysql -q "select count(*) from information_schema.SCHEMATA where schema_name not in ('mysql','information_schema');" -w 100 -c 150 我不得不将客户端凭据添加到“my.cnf”文件。 问题: 有没有更好的/安全的解决scheme呢? 运行此命令所需的最低MySQL权限是多less? select count(*) from information_schema.SCHEMATA where schema_name not in ('mysql','information_schema');

无法通过套接字/var/run/mysqld/mysqld.sock连接到本地MySQL服务器

我遇到了这个错误与安装在lucid lynx 10.04上的MySQL数据库工作正常。 在这个问题出现之前进行的最后一项活动是使用phpmyadmin导出数据库。 现在,无论是从命令行,phpmyadmin工具还是php脚本,尝试连接都会导致此错误。 大多数类似发布的问题的答案涉及到findmysqld.sock文件的创build位置,并修改my.cnf文件指向它的位置。 但是我看不到mysqld.sock文件的创build位置。 我已经validation了mysql是作为服务运行的,并且遵循一个论坛的build议,inputps -fea | grep mysqld ps -fea | grep mysqld结果如下: rich 10796 8900 0 08:13 pts/1 00:00:00 grep –color=auto mysqld mysqld显示为红色。 给出的其他build议是使用上面的输出行来定位文件并相应地修改my.cnf文件。 然而,我不知道如何解释上述信息 – 这是一个Ubuntu的noobie我处于不幸的位置,通常不理解命令行的目的(通常build议没有解释)是什么,他们的结果应该是什么所以我们可以从各种类似的论坛问题中随意地input,希望最终能够在不破坏整个过程的情况下达到预期的效果。 任何人都可以build议一步一步的问题解决这个问题的指导? Ubuntu的文件应该放在哪里? /etc/mysql/my.cnf文件中的path是/var/run/mysqld/myslqd.sock。 我认为这一定是之前创build文件的地方,除非my.cnf文件被某种自动更新所改变,我不会这么想,因为在Ubuntu之前通常需要密码这样的改变。 感谢Richard

使用Amazon RDS(或类似的)作为奴隶

正式情况下 ,RDS实例不能直接设置为从属非RDS数据库。 我的生产大师是在Hetzner上运行的MySQL,我希望RDS实例能够紧跟其后,用于备份目的,包括在灾难恢复的情况下实际使用RDS作为临时主服务器的能力(例如,通过创build完整生产的脚本在Hetzner发生重大故障的情况下,在AWS上进行设置)。 时间点恢复能力也非常重要。 我们可以在生产主数据和RDS备份之间持续5-10分钟的时间。 我正在寻找一些关于如何通过使用一些附加工具和/或中间过程来达到或多或less相同的效果的想法。 我也开放给一个非RDS解决scheme,可以提供类似的好处(但不是在一个更高的价格)。

Amazon RDS每个实例有多个数据库的优点/缺点

我运行了两个完全独立的网站。 我正在将他们的MySQL数据库移动到Amazon RDS。 我不打算做多A / Z部署 – 让我们从这个问题中删除该variables。 我不确定是使用两个数据库创build单个RDS实例,还是使用单个数据库创build两个Amazon RDS实例。 忽略这个问题的成本。 我不会达到1 TB的数据限制,所以让我们忽略这一点。 但是,其中一个网站崩溃不会影响另一个网站是非常重要的。 基于这个文档 – http://docs.amazonwebservices.com/AmazonRDS/latest/UserGuide/Concepts.DBInstance.html 我假设,如果我写一个可怕的代码,在给定的RDS实例中的一个数据库崩溃,它可能会把整个RDS实例(并因此不经意地影响其他数据库)。 那是对的吗? 为了回应这个评论,我们绝对有趣的是两个RDS实例,每个都有自己的数据库。 我只是想确保这样做实际上有一个好处 – 我假设好处是这些数据库在不同的实例上时不会相互影响。 我认为即使在同一个例子中,也有一个镜头不能互相影响,但听起来并非如此。 – EDIT Hop3less – 感谢您的答案 – 但是,当我说一个单一的数据库的两个RDS实例,我的意思是每个有一个单一的数据库。 只是想确保你意识到我不是指两个EC2实例。 我认为单个RDS实例仍然是单点故障?

Mysql服务器无法启动

自两个小时以来谷歌search,我需要你的帮助。 我在Debian虚拟机上,并克隆它。 唯一的变化是它有新的IP地址。 Mysql不再启动: Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed! 没有一个叫做mysql的进程。 / var / log中的所有mysql日志文件都是空的。 这里是my.cnf文件: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port […]

MySQL Master – Master Broken

我已经inheritance了一个Mysql master master系统,我注意到第二个master(从现在开始称它为奴隶,因为它运行在一个“奴隶”机器上)停止获取其数据库的更新。 我看到了 主: Slave_IO_Running: Yes Slave_SQL_Running: Yes 奴隶:(我有一个错误截断) Slave_IO_Running: Yes Slave_SQL_Running: No Last_Errno: 1062 Last_Error: Error 'Duplicate entry '3' for key 'PRIMARY'' on […] 我不知道是什么导致它处理,考虑到我们不能在那里重复。 重要的是恢复正常的操作。 现在我已经stop slave; 在主上stop slave; 在奴隶,因为我看到,如果我改变logging在奴隶的变化得到传播到主,这是积极使用。 我如何:强制同步一切从主机到从机而不影响主机上的数据? 那么希望像往常一样从机拾取复制? 更新 OK我试图删除所有表上的奴隶,然后抱怨在错误部分,'表'不存在。 所以我做了一个没有数据转储的硕士,并确保我只有在辅助(奴隶)空表。 我start slave; 在奴隶,但现在它抱怨血腥的alter table语句,例如: Last_Errno: 1060 Last_Error: Error 'Duplicate column name […] Query: 'ALTER TABLE […] 如何跳过fracking […]

错误2013:执行CHECK TABLE FOR UPGRADE时,在查询期间丢失与MySQL服务器的连接

我刚把Ubuntu从11.10升级到12.04。 我的Rails应用程序现在返回(乘客)错误“无法通过套接字连接到本地MySQL服务器”/var/run/mysqld/mysqld.sock“(111)(Mysql2 :: Error)”。 当我尝试使用mysql -u root -p在我的Ubuntu服务器的命令行上访问mysql时,出现类似的错误。 我有安装mysql-server 5.5。 我检查和MySQL不运行。 当我尝试重新启动它时,它失败。 以下是尝试重新启动后/ var / log / syslog尾部的一些重要行: dean@dgwjasonfried:/etc/mysql$ tail -f /var/log/syslog Mar 7 08:55:27 dgwjasonfried /etc/mysql/debian-start[5107]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck Mar 7 08:55:27 dgwjasonfried /etc/mysql/debian-start[5107]: Running 'mysqlcheck' with connection arguments: '–port=3306' '–socket=/var/run/mysqld/mysqld.sock' '–host=localhost' '–socket=/var/run/mysqld/mysqld.sock' '–host=localhost' '–socket=/var/run/mysqld/mysqld.sock' Mar 7 08:55:27 dgwjasonfried /etc/mysql/debian-start[5107]: Running 'mysqlcheck' […]

奇怪的IO问题与Ubuntu 12.04

Ubuntu 12.04和MySQL有一个非常奇怪的IO问题。 目前该机器只是一个复制的奴隶偶尔读取查询击中它。 磁盘利用率随机增加,似乎与MySQL的使用无关。 机器只运行MySQL,没有其他服务。 本来机器使用的是ext4,它遇到了MySQL的IO问题,我把它擦干净,然后用ext3重新安装。 复制后恢复磁盘利用率再次随机飙升,保持高点几个小时,并再次下降。 MySQL的使用情况每天都遵循相同的模式,但是磁盘利用率没有任何变化,随机激增,在几个小时或者几分钟内就可以保持高点。 凌晨1点,每秒钟都有一次,这是我们的MySQL备份(mysqldump)运行并且一致的情况。 我的下一步是降级到Ubuntu 10.04,这台机器以前运行的是Debian 5,没有任何问题。 我们有第二台同样的机器,在我的脑海里,排除了一个单一的硬件问题。 磁盘利用率图: 下午5点的初始峰值是在重新安装后的复制追赶,上午1点的峰值是我们的备份。 这个问题在凌晨4点出现,并且一直保持到12点之后才出现大幅下降。 MySQL Weekly Graph 这是我们平均每周使用MySQL的次数。 每天同样的模式,从上午9点到晚上11点最繁忙,从这里安静到上午9点,每天凌晨4点左右再降到最低点。 发生问题时Iostat输出: http://pastebin.ca/2336462 的/ proc /坐骑: http://pastebin.ca/2336464 df -h: http://pastebin.ca/2336465

mysql每天在同一时间变得没有响应

我的服务器每天都在同一时间停机。 我发现这个问题是由于MySQL。 我试过显示进程列表; 并发现数据库正在进入睡眠模式。 我看到log_url表中有如此多的插入,如下所示 mysql> show processlist; +——-+—————+———–+——————+———+——+————–+——————————————————————————————————+ | Id | User | Host | db | Command | Time | State | Info | +——-+—————+———–+——————+———+——+————–+——————————————————————————————————+ | 72962 | sonicsense_db | localhost | sonicsense_db | Query | 1 | Sending data | SELECT `log_url`.* FROM `log_url` LIMIT 2381 OFFSET 2992917 | | 74069 | […]

MySQL复制错误:Error_code:1032

我设置只读的MySQL只读副本。 主从机都运行MySQL 5.6。 奴隶永远不会被直接写入,但我似乎无法保持同步了一个多小时。 经过一段时间后,我经常遇到这种types的错误: Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log 然后,我必须经历从MySQL转储重新创build奴隶的过程,但不pipe我做什么,我再次得到这个错误。 有没有人有一个线索,为什么这可能会发生?