Articles of mysql

在MySQL复制中可以做些什么来防止“无法刷新主信息”?

我有两个MySQL 5.1服务器设置与主/从复制。 我以前使用5.1.41几年没有问题。 但是,由于我已经升级到5.1.72(并做了一些其他的调整,例如启用INNODB HA插件),我经历了奴隶I / O线程在从属服务器上死亡的经常性问题。 这是被logging的消息: 140506 21:18:33 [ERROR] Failed to flush master info file 140506 21:18:33 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.010913', position 38278270 有谁知道什么触发master.info文件的刷新? 任何想法,为什么它可能无法被刷新? 我看到后来的MySQL版本有sync_master_infovariables,这在这里可能会有所帮助,但是我不认为它在5.1.72中被支持。 每当发生这个问题(每隔一天大约一次),我必须连接到从站并发出从站; 从属开始; 并且复制将恢复,并logging以下消息: 140507 9:46:22 [Note] Error reading relay log event: slave SQL thread was killed 140507 9:46:24 [Note] Slave SQL […]

Server 2012计划任务CMD mysqldump没有做什么打算

我正在运行一个batch file来备份2012年web服务器上的一些mysql数据库。 该batch file创build一个文件夹,然后为每个数据库运行以下内容: mysqldump -u *username* -p*Password* *db_name* > C:\folder&filename-%date:~-2,4%-%date:~-7,2%-%date:~-10,2%.sql 这工作正常,当我手动运行浴文件,但是当我在任务调度程序中运行相同的batch file时,我得到0KB数据库没有内容。 这个文件夹和xyz.sql文件一样,但是多数民众赞成它。 完全相同的脚本在我的08服务器上正常工作。 有任何想法吗? 谢谢

服务器重新启动或apt-get更新后,Apache2和MySQL无法重新启动

有谁知道为什么Apache2和MySQL在服务器重启或apt-get更新后不能运行? 我目前正在运行Ubuntu 12.04 LTS服务器 在/etc/init.d/中有对应于apache2和mysql的文件,但是它们只能通过手动启动/重启来工作。 他们从不自动运行。 理想情况下,我希望他们不断地运行,因为网站运行需要他们不断。 apache2的头文件与我见过的其他文件并没有什么不同: #!/bin/sh ### BEGIN INIT INFO # Provides: apache2 # Required-Start: $local_fs $remote_fs $network $syslog $named # Required-Stop: $local_fs $remote_fs $network $syslog $named # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # X-Interactive: true # Short-Description: Start/stop apache2 web server ### END INIT INFO 如果任何人可以帮助我在哪里看或以前见过这个问题,请欣赏帮助。 […]

suPHP和Apache DBD:仅更改GID

(注意:如果您熟悉suPHP设置,并且想要跳过问题的详细信息,可以在最后find我想要实现的内容的快速解释) 我目前正在设置一台机器来承载几个网站,属于几个用户。 为了方便起见,这些用户存储在MySQL数据库中。 libnss-mysql和pam-mysql用来连接这个后端和Linux,因此允许这些用户login和使用机器的服务。 存储在MySQL数据库中的每个用户都属于users组。 这些用户中的每一个都在/home/users下被提供一个主目录。 例如,用户test的文件可以在/home/users/test下find。 该目录具有以下所有权/权限: drwx–x— test www-data /home/users/test 同样,网站索引(和其他文件)显示以下权限: -rw-r—– test www-data /home/users/test/index.php -rw-r—– test www-data /home/users/test/robots.txt 为了允许访问这些网站,在Apache中使用DBD并依靠MySQL后端来configuration以下VirtualHost。 <VirtualHost *:80> ServerName * DBDriver mysql DBDParams host=localhost,user=user,pass=pass,dbname=db DBDocRoot "SELECT document_root FROM users WHERE domain=%s" HOSTNAME </VirtualHost> 如果与test相关的域是example.com,Apache将使用DBD将该域与/home/users/test匹配并提供其内容。 例如, example.com/index.php会将索引传递给PHP解释器,而example.com/robots.txt将使Apache将该文件作为静态内容传递。 现在,为了保护我的用户,我想限制他们的PHP脚本的权限。 通过上面的设置,PHP脚本通过Apache,并由mod_php解释。 事情是:由www-data:www-data运行的Apache进程,可以访问任何脚本的所有家庭 。 为了防止这种情况,我决定安装suPHP,但这里是我的问题:suPHP和DBD MySQL查询实际上没有很好的配合: 如果我以偏执模式编译suPHP,我必须为所有请求设置一个静态用户和组。 但是, /home/users/test脚本必须以test:users身份运行,而/home/users/othertest必须以其他/home/users/othertest运行。 这是configuration中发生问题的地方: <VirtualHost *:80> ServerName […]

OpenLDAP与MySQL的工作,但需要架构的build议

所以,我已经下载了最新的OpenLDAP源代码,使用—-enable-sql编译,与slapd.conf ,configuration了odbc文件,将表格添加到我的当前数据库中,花了一个星期的时间debuggingslapd -d -1 ,现在MySQL用户已经成为LDAP用户并且能够login。 我需要一些帮助来理解LDAP对象的基本结构。 从我读的所有东西,我假设每个对象都需要属于一个structuralObjectClass ,然后每个对象可以属于许多其他objectClasses ? 我需要这个LDAP服务器做的唯一事情就是validation用户。 用户不需要编辑他们的信息。 所以我首先制定了如下结构: Institute dn: dc=example,dc=org dc: example structuralObjectClass: dcObject objectClass: organization o: example description: Example Company Groups Dn: ou=Groups,dc=example,dc=org Ou: Groups structuralObjectClass: organizationalUnit dn: ou=Users,dc=example,dc=org ou: Users structuralObjectClass: organizationalUnit dn: ou=marketing,ou=Groups,dc=example,dc=org cn: marketing gidNumber: 1554 structuralObjectClass: posixGroup memberUid: user1 memberUid: userN dn: ou=administration,ou=Groups,dc=example,dc=org cn: administration […]

我如何使用Augeas来pipe理MySQL的`!includedir`指令?

我有一个带有!includedir指令的MySQLconfiguration文件。 该指令似乎在镜头检查文件时正确显示: $ sudo augtool print /files/etc/my.cnf | fgrep includedir /files/etc/my.cnf/!includedir = "/etc/mysql/conf.d/" 但是,当检查/etc/my.cnf时,augtool会打印出path,如果我尝试打印或检查实际节点,它会一直抱怨pathexpression式无效。 例如: $ sudo augtool augtool> print /files/etc/my.cnf/!includedir error: Invalid path expression error: empty name /files/etc/my.cnf/|=|!includedir 我如何使用Augeas 1.0.0来pipe理/etc/my.cnf文件中的!includedir指令?

使用mysql数据库将传出邮件拖放到以前不可用的邮箱中

我们有一个更大的社区门户网站,这个门户网站多年来越来越大,但也有一些死亡账户。 最近,服务器的IP被列入黑名单,因为用户的许多邮件地址不再可用(550),服务器向他们发送通讯。 为了避免这种情况,我在发送php脚本中筛选出已知不可用的邮箱,但是我想让exim接pipe这个工作,因为它更通用。 我的计划是使用MySQL数据库列出不可用的邮箱。 我想使用一个简单的脚本来遍历日志文件,并将不可用的邮箱电子邮件地址保存到数据库。 我不确定一些提供商是否只假装邮箱因为服务器位于黑名单而不可用, 但是,一旦有40%的邮件被拒绝,我无法想象有这么多的用户删除了他们的邮件账户。 此外,我必须考虑到,删除的帐户可能会(重新)在某个时间创build。 所以随着地址我会存储一个时间戳,可以说,在未来4周。 在这段时间内,地址的所有邮件都必须被删除。 如果在这4周后的第一封邮件可以发货,一切都很好。 否则,这段时间应该延长(指数退避等)。 我可以用脚本覆盖所有这些,我甚至已经知道如何一个SQL查询,给出一个阻塞的地址列表将如下所示: SELECT blocked FROM maildrop WHERE name=${localpart}@${domain} and timestamp<UNIX_TIMESTAMP() 但问题是,我如何正确地将其整合到eximconfiguration中? 起初我以为我可以使用虚拟别名,并将邮件redirect到devnull @ localhost用户的邮件pipe道到/ dev / null。 我使用以下configuration对其进行了testing mysql_sys_aliases: debug_print = "R: mysql_sys_aliases for $local_part@$domain" driver = redirect allow_fail allow_defer data = ${lookup mysql{SELECT login FROM aliases WHERE alias='${local_part}@${domain}'}} 顺便说一句:我也testing了mysql_aliases而不是mysql_sys_aliases 和以下数据库条目:别名:[email protected] | login名:devnull @ […]

MySQL复制减慢主

我们目前正在运行MySQL 5.1 快速概览 我们使用全部连接到云上托pipe的1个DB服务器(MySQL)的5个Web服务器(Apache)。 在云(Master)上运行的数据库服务器在我们的办公室复制到本地数据库服务器(从属)。 问题 我们已经注意到,当从设备打开时,主设备进程列表开始加载未经authentication的用户。 不久,当我们停止奴隶主进程列表慢慢地回落到正常。 RAM / SWAP看起来很好,没有缓慢的查询运行来解释在MySQL进程列表中的积累。 这可能是一个networking瓶颈? 我认为这可能是一个缓慢的硬盘,但它似乎并没有关系,当它运行缓慢bin-log的大小。

错误在AWS服务器上缺lesssystemd

我似乎无法弄清楚如何安装systemd。 我正在尝试将AWS上的MySQL服务器从5.5升级到5.6。 尝试安装时出现以下错误 – “需要:systemd” 任何想法可能是什么问题或如何得到这个安装,我试过sudo yum install systemd 。 $ sudo yum install mysql-community-server Loaded plugins: priorities, update-motd, upgrade-helper 4 packages excluded due to repository priority protections Resolving Dependencies –> Running transaction check —> Package mysql-community-server.x86_64 0:5.6.21-2.el7 will be installed –> Processing Dependency: systemd for package: mysql-community-server-5.6.21-2.el7.x86_64 –> Processing Dependency: systemd for package: mysql-community-server-5.6.21-2.el7.x86_64 […]

按客户分割MySQL一般查询日志

我想知道一个解决scheme来分裂非常大的MySQL通用查询日志访问服务器的特定客户端。 理想情况下,将为每个客户创build一个单独的日志。 谢谢