Articles of mysql

innodb表已满并自动展开

您好,我使用bacula和其中一个表是满的: JobId 8946: Fatal error: sql_create.c:860 Fill File table Query failed: INSERT INTO File (FileIndex, JobId, PathId, FilenameId, LStat, MD5, DeltaSeq) SELECT batch.FileIndex, batch.JobId, Path.PathId, Filename.FilenameId,batch.LStat, batch.MD5, batch.DeltaSeq FROM batch JOIN Path ON (batch.Path = Path.Path) JOIN Filename ON (batch.Name = Filename.Name): ERR=The table 'File' is full 然后我运行: mysql> show table status from current_bacula like […]

Mysql内存不足

我在一台小机器上吃太多的内存时遇到了很多麻烦,我正在寻找一些帮助,弄清楚它为什么吃这么多。 我有一个运行Debian Wheezy的256MB内存的小型虚拟机。 在这台服务器上,我安装了apache2和mysql。 我在这个服务器上做的不多,只有一些使用简单的网站和一个邮件服务器。 出于某种原因,一天几次,我的MySQL服务器崩溃。 当我检查我的系统日志时,我发现以下错误: 内核:[3323593.630722]内存不足UB:OOM杀死进程9471(mysqld)得分0 vm:327824kB,rss:37080kB,swap:0kB 所以据我所知,mysql开始消耗太多的内存,并被系统杀死。 我logging缓慢的查询,并保持我的mysql.err日志上的选项卡,但我没有看到任何东西,会告诉我为什么MySQL开始吃这么多的内存太多的价值。 我my.cnf文件有这些选项设置: key_buffer = 8M max_allowed_packet = 16M thread_stack = 128K thread_cache_size = 8 query_cache_limit = 512K query_cache_size = 8M 另一件事是,当我检查正在使用的内存量,当我启动MySQL,甚至在运行的白天,我通常有大约128MB的空闲。 我看不出mysql将如何最终吃掉那么多。 我能做些什么来追踪这个问题?

MySQL不会启动后更新(似乎是一个apparmor问题)

我只是更新MySQL服务器到5.5.35-0ubuntu0.12.04.1和MySQL不会重新启动。 dmesg显示以下错误: [ 832.490460] type=1400 audit(1392612759.575:31): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=16498 comm="apparmor_parser" [ 832.543672] type=1400 audit(1392612759.627:32): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=16532 comm="apparmor_parser" [ 833.740580] init: mysql main process (16544) terminated with status 1 [ 833.740615] init: mysql main process ended, respawning [ 834.687079] init: mysql post-start process (16545) terminated with status 1 [ 834.695901] type=1400 audit(1392612761.779:33): apparmor="STATUS" […]

HAProxy mysql写故障转移

我有一个HAProxy服务器负载平衡两个主服务器在master-master /主动 – 被动模式。 我可以看到,我已经成功地将所有的READS扩展到了我的两个数据库节点,但是如果当前的写入主控closures,我怎样才能轻松地将主控切换为写操作? 现在,我在每个App服务器上都有一个configuration文件,用于写入的DB_HOST_W和用于读取的DB_HOST_R。 DB_HOST_R指向HAProxy服务器。 DB_HOST_W指向其中一个主节点。 HAProxy自动处理READ操作的故障转移,但是如果发生故障,必须更新configuration文件并更改4个以上App Server的DB_HOST_W值将非常耗时。 有没有更好的办法? 我在这里错过了什么? 我想指出,我有以下configuration: server primary 10.152.142.184:3306 check server secondary 10.152.142.185:3306 check backup 但我不喜欢它,因为虽然它将所有WRITE操作发送到主要,但它也会将ALL READ操作发送到主要,并删除可伸缩性。

monit mysql服务器因为连接太多而被阻塞

是否有任何调整监控是否有一台服务器可以访问另一台服务器上的MySQL? 我尝试了monit,但是正如你可能知道的那样,10次尝试之后,mysql会阻塞服务器。 check host db1.server with address db1.server if failed port 3306 protocol mysql then alert 。 mysqli: host <host> is blocked because of many connection errors; unblock with mysqladmin flush-hosts

将mySQL(5.6)数据库从MyISAM更改为InnoDB

我最近将我的CPanel服务器从mySQL 5.5升级到了mySQL 5.6,因为它现在支持对InnoDB进行全文search。 现在,我对mySQL并不是很了解,所以我想知道除了运行之外,还有什么特别的东西需要记住 ALTER TABLE my_table ENGINE=InnoDB; 我的几个表都有全文索引。 他们会发生什么事? 索引是否会自动转换? 或者之后我是否必须手动重新构build它们?

keepalived – 没有连接,不听港口?

以下服务器: ….:100::10 mysql1 master ….:100::20 mysql2 master ….:100::30 loadbalancer (keepalived) with virtual ip …:100::40 configuration: vrrp_instance V1 { state MASTER interface eth0 lvs_sync_daemon_inteface eth0 virtual_router_id 51 priority 150 advert_int 1 smtp_alert virtual_ipaddress { …:100::40 } } virtual_server …:100::40 3306 { delay_loop 6 lb_algo wrr lb_kind DR protocol TCP real_server …:100::10 3306 { weight 50 TCP_CHECK […]

让Postfix使用MySQL来检查发件人地址是否被允许

我们正在尝试使用PostFix来检查发件人电子邮件地址是否被允许发送到特定的电子邮件地址。 另一种描述它的方式是我想要特定的电子邮件地址只允许来自特定电子邮件地址的传入消息(不是SMTPlogin)。 会有这样的工作? main.cf: smtpd_recipient_restrictions = [other restrictions here] check_sender_access mysql:/etc/postfix/restricted_senders_to_recipents.cf restricted_senders_to_recipents.cf: user = uname password = pword hosts = 127.0.0.1 dbname = dbname #!!!PSEUDOCODE!!! query = SELECT allowed FROM members WHERE sender = %sender AND recipent = %recipent; 这可能吗? 如果那么如何? 我知道MySQL的别名是这样工作的,因为我们已经在使用它了。 ( http://www.postfix.org/mysql_table.5.html )

不能在centos 6.5上安装mysql-devel

我需要在运行Percona 5.5的CentOS 6.5上安装mysql-devel软件包(已安装并正在运行)。 当我尝试像这样安装devel软件包时: yum –enablerepo=remi install mysql-devel 我得到以下错误: Error: Package: mysql-devel-5.5.37-1.el6.remi.i686 (remi) Requires: real-mysql-libs(x86-32) = 5.5.37-1.el6.remi Available: mysql-libs-5.5.36-1.el6.remi.i686 (remi) real-mysql-libs(x86-32) = 5.5.36-1.el6.remi Available: mysql-libs-5.5.37-1.el6.remi.i686 (remi) real-mysql-libs(x86-32) = 5.5.37-1.el6.remi Error: Package: mysql-5.5.37-1.el6.remi.i686 (remi) Requires: real-mysql-libs(x86-32) = 5.5.37-1.el6.remi Available: mysql-libs-5.5.36-1.el6.remi.i686 (remi) real-mysql-libs(x86-32) = 5.5.36-1.el6.remi Available: mysql-libs-5.5.37-1.el6.remi.i686 (remi) real-mysql-libs(x86-32) = 5.5.37-1.el6.remi Error: mysql conflicts with Percona-Server-client-55-5.5.37-rel35.0.el6.i686 以下是我的服务器上目前安装的内容: […]

获取错误2002后无法重新启动mysql服务无法连接到本地mysql服务器

从昨天开始,连接到mysql时出现这个错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 我还没有碰到我的设置〜1个月,所以我不相信它是由我试图做的任何改变的驱动。 当我尝试重新启动mysql服务 service mysqld restart 我得到这个错误: Stopping mysqld: [ OK ] touch: cannot touch '/var/log/mysqld.log': Permission denied chown: changing ownership of '/var/log/mysqld.log': Operation not permitted chmod: changing permissions of '/var/log/mysqld.log': Operation not permitted chown: changing ownership of '/var/lib/mysql': Operation not permitted […]