Articles of mysql

尝试通过pam-mysql更改密码时出现令牌错误

我目前正在准备一台虚拟主机服务的机器,并决定使用MySQL来存储我们所有的用户(因为我们的其他服务已经使用了它)。 为此,我使用libnss-mysql和pam-mysql 。 但是,即使大多数设置正在运行,但在尝试使用passwd更改用户密码时遇到问题。 目前,可以创build一个用户( INSERT INTO )并使用su以该用户身份login。 机器不提示input密码,直接访问用户的shell。 但是,一旦我以这个用户身份login, passwd结束于: $ passwd myuser passwd: Authentication token manipulation error passwd: password unchanged 根据MySQL日志,在调用passwd时会进行查询,因此与MySQL的连接不成问题。 此外,当我尝试与一个未知的用户调用passwd ,我得到一个合适的passwd: user 'doesnotexist' does not exist 。 passwd确实find了一个用户,但是不能修改它的信息。 auth.log日志文件说: pam_unix(passwd:chauthtok): user "myuser" does not exist in /etc/passwd pam_mysql – option verbose is set to "1" pam_mysql – pam_sm_chauthtok() called. pam_mysql – […]

在将数据目录同步到tmpfs后启动mysql服务

hej在那里! 我正在维护8个Pandaboards的networking。 其中之一是作为服务器托pipe一个基于php的浏览器游戏,其他人则是运行该游戏的客户端。 服务器从SD卡运行Debian Wheezy,速度很慢。 为了提高客户端的游戏性能,我将mysql数据目录和tmp目录移到了tmpfs,并相应地更改了my.cnf。 数据不需要同步回SD,因为它没有改变,只有临时的游戏统计被写入到数据库。 现在这是通过添加到rc.local来完成的: # mount tmpfs sudo mount -t tmpfs tmpfs /var/tmpfs # put a fresh copyy of mysql data there sudo rsync -a /var/lib/mysql/ /var/tmpfs/mysql/ # restart mysql service sudo service mysql restart 此解决scheme正在工作,但我想这不是最优雅的一个,因为mysql启动修改my.cnf,将不会findtmpfs中的数据,并在第一次启动时产生错误。 我通过延迟客户的初始游戏页面请求3秒来解决这个问题。 如何在所有数据同步到tmpfs之后启动mysql? 添加一个脚本,它挂载和rsync到所有/etc/rc*.d哪里有一个Sxxmysql? 是只有服务的rc * .d目录吗? 任何帮助表示赞赏。

MySql成员资格提供程序 – 缺less或不正确的模式

我们有一个使用.net连接器在IIS 7.5上运行的带有MySQL数据库的ASP.NET站点,会员/angular色提供程序正确设置在web.config中,并且可以正常工作 – 但只是暂时的。 从历史上看(.net连接器6.7.4.0及之前的版本),在恢复站点备份(包括成员资格表)后,我们总是遇到问题,页面上会显示错误信息,说明我们对成员资格提供者有“缺失或不正确的模式”是无稽之谈,因为我们可以在DB中清楚地看到表格。 为了解决这个问题,我们只需从数据库中删除成员表,在web.config中设置autogenerateschema = true,让angular色提供者再次自动生成表。 然后,我们可以从我们的备份(相同的备份!)恢复,并用我们现有的帐户覆盖新的空白表,一切工作正常。 我们认为这只是一个与.net连接器的怪癖,因为它只发生在从备份中恢复数据库之后,我们并没有太多的困扰。 现在我们已经升级到.net连接器6.9.4.0我们遇到同样的问题,只是更糟,因为现在如果应用程序池重新启动该网站,它会触发相同的“缺less或不正确的模式”的消息,我们已经应用以上修复。 做一些改变web.config的操作会触发一个应用程序池周期,这意味着我们无法在不下载站点的情况下对web.config进行更改! 这是来自web.config的angular色提供者,省略了一些细节,除了手动更新版本号以外,从来没有改变。 <roleManager defaultProvider="MySQLRoleProvider" enabled="true"> <providers> <clear /> <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.9.4.0, Culture=neutral, PublicKeyToken=xxxxxx" applicationName="xxxxx" connectionStringName="xxxxxx" autogenerateschema="True" /> </providers> </roleManager> 需要注意的是,在触发该错误并应用我们的修复程序之后,我们从完全相同的备份恢复成员表,这意味着修复前后的表是相同的,所以它不是数据库的问题,它是一些内部IIS的状态。

MySQL和SSL与-sha256

我试图创build一些证书使用MySQL和一切正常,如果我使用sha1algorithm。 如果我添加-sha256开关或-sha384我不能连接到MySQL! 我得到这个错误: 错误2026(HY000):SSL连接错误:ASN:坏的其他签名确认 我在这里发现了一个类似的问题,但接受的解决scheme是使用-sha1。 我想使用sha2,因为微软,谷歌和Firefox不推荐使用sha1了。 这是我用来创build密钥的。 如果我删除了-sha256开关它使用sha1工作正常。 我也尝试了与2048位密钥,同样的问题 openssl genrsa 4096 > ca-key.pem openssl req -sha256 -new -x509 -nodes -days 10000 -key ca-key.pem -out ca-cert.pem openssl req -sha256 -newkey rsa:4096 -days 10000 -nodes -keyout server-key.pem -out server-req.pem openssl rsa -in server-key.pem -out server-key.pem openssl x509 -req -sha256 -in server-req.pem -days 10000 -CA ca-cert.pem -CAkey […]

低负载平均值,但高%用户和%系统CPU使用率

总结问题: 为什么我们看到一组服务器与其他数据库和工作负载相比,性能明显变差? 除了较长的执行时间之外的其他症状是较低的(接近零)平均负载,较高的CPU使用率以及特别高的系统使用率。 长描述:我有几个服务器位于托pipe合作伙伴,运行MySQL 5.1.67和5.1.73,我们在高峰时间观察性能问题。 我们看到的是负载平均值从通常的水平下降到接近0(0.10-0.20),或许可以用New Relic的这个图像来描述 如果我在我们的testing和生产服务器上并行运行它,但是没有其他任何其他服务器,我可以重现捕获的工作负载(以及数据库转储)的问题。 我已经build立了一个与testing相同的my.cnf的Amazon实例(详细信息在文章末尾),并尝试了另一台可用的Linux服务器(LXC容器),甚至是我的台式电脑。 testing和生产上的执行时间是4分钟,其他时间大概在1分30秒左右,并且在负载平均值低但%user和%system高的情况下不显示此行为。 Vmstat在工作负载运行时显示高运行队列和大量的上下文切换,但只在有问题的机器上显示,sar显示没有iowait: testing: $ ./workload.sh&vmstat 1 10 -w procs ——————- memory —————— — swap– —– io —–system– —– cpu ——- rb swpd free buff cache si so bi bo in cs us sy id wa st 1 0 168896 3218240 447004 12226164 0 0 9 75 […]

200 OK空白页面设置恢复testing虚拟机上的WordPress

我正在testing一个坦率而过时的(遗留的,你能做什么?)CentOS / Apache / MySQL / PHP / WordPress服务器的一个部分备份,通过一个新的相关软件包复制到一个虚拟机。 在经历了许多考验和磨难之后,我已经到了能够成功从http://<site-domain-name>/ (通过主机文件shenanigans进入本地主机)的好的200 OK响应的地步。 不幸的是,身体是零长度的,日志基本上是空的。 phpinfo()报告display_errors , display_startup_errors和log_errors全部打开,并且error_log被设置为/var/log/php_error ,它不存在; error_reporting是一个不错的整洁32767.报告的MySQL,PHP和Apache版本或多或less是预期的:5.0.95,5.3.29,2.2.23; WordPress的是3.9.2。 /etc/httpd/logs/error_log , /etc/httpd/logs/defSite_error_log (特定于虚拟主机)和/etc/httpd/logs/defSite_access_log (也是虚拟主机 -具体)都存在,并间隔写入; 虽然错误日志被设置为debugging级别,但是无论是在时间上还是在内容方面,都没有真正感兴趣的东西出现。 目录(和子目录)中的所有PHP文件都由apache用户拥有,我已经validation了httpd工作进程正在运行,并且都是-rwxr–r– 。 我已经validation了MySQL连接信息在wp-config.php中是正确的。 mysql,mysqli和pdo_mysql都是在phpinfo()输出中启用的。 xdebug + WinCacheGrind表示,PHP在wp-blog-header.php中花费了2001ms,它在wp-settings.php和friends中花费了1830ms,这对于静态页面来说似乎有些过分,尽pipe其中一个在一台慢速笔记本电脑的虚拟机上渲染; 没有什么叫die() 。 /wp-admin/options.php 302-redirect到/wp-admin/upgrade.php ,然后表示不需要升级(?),并有一个指向站点根目录的继续链接。 另一方面,/ /wp-login.php看起来似乎是合理的,除了它使用活动站点的IP地址。 基于此,我进入数据库,并将数字IP切换到域名(即,在wp_options siteurl和home )。 现在/wp-admin/upgrade.php表示在继续之前需要更新数据库。 我可能错误地排除了一些东西,但让我知道我应该运行什么其他检查,我会看看我能做些什么。

MySQL从数据文件恢复innodb

昨天晚上,我的MySQL服务器崩溃,现在我有几个数据库,我无法恢复的数据。 根据错误日志,表空间中的危险发生在不久前(几个月),但是没有人注意到,昨天,当MySQL崩溃(出于完全不同的原因),它只是没有开始以下错误: 2015-06-09 23:09:23 14642 [Note] InnoDB: Starting crash recovery. 2015-06-09 23:09:23 14642 [Note] InnoDB: Reading tablespace information from the .ibd files… 2015-06-09 23:09:24 14642 [ERROR] InnoDB: Tried to read 16384 bytes at offset 0. Was only able to read 0. 2015-06-09 23:09:24 7f648369a7e0 InnoDB: Operating system error number 2 in a file operation. InnoDB: […]

HAproxy mysql故障转移

我尝试使用Percona xtraDB Cluster for MySQL复制和HAproxy来设置HA集群以实现负载平衡。 HAproxy对于apache非常有效,当apache崩溃或者没有响应时,HAproxy会在另一个节点上进行切换。 我的问题从MySQL开始,我也在相同的HAproxy中设置MySQL,但是当MySQL没有响应时,HAproxy不会切换到另一个节点。 然而,HAproxy看到,MySQL检查HAproxy状态MySQL服务器closures时,不响应原因。 我的问题是,是否有可能在HAproxy中设置两个资源? 他可以检查apache是​​否启动,如果没有启动另一个节点,检查MySQL是否启动,如果没有则启动另一个节点? HAproxy.conf: […] frontend redmine bind 192.168.7.149:80 reqadd X-Forwarded-Proto:\ http default_backend redmine frontend redmineS bind 192.168.7.149:443 ssl crt /etc/ssl/private/quipment.fr.pem reqadd X-Forwarded-Proto:\ https default_backend redmine backend redmine 192.168.7.149:80 redirect scheme https if !{ ssl_fc } mode http balance roundrobin option http-server-close timeout http-keep-alive 3000 option forwardfor cookie […]

是否有可能使用旧密码encryption协议从PHP连接到MySQL?

我正在从事一个遗留系统的前端项目。 我必须访问一个MySQL 5.6.25数据库,它仍然使用旧的4.1之前的密码encryption协议。 特别是我必须写一个PHP / Slim API来实现这个数据库的CRUD操作。 我必须使用PHP 5.3。 是否有可能使用旧密码encryption协议从PHP连接到MySQL数据库? 到目前为止,我尝试了PHP扩展mysql和mysqli,但他们都使用后4.1密码encription。 我知道4.1之前的密码encryption协议很旧,不安全,应该升级。 但是这不是我在这个项目中控制的东西,所以我必须find一个方法来处理这个约束。

什么是一个稳定的,失败的,可扩展的加莱拉群集实现

上下文:我们正在使用MariaDB Gallera集群(仅有)2个主节点用于Web应用程序。 昨天晚上,我们有一个电源故障,现在我们似乎无法恢复数据,发现两个节点上的数据库已损坏。 我们对这个设置的最初印象是,如果一个节点出现故障,另一个节点将很快作为主节点。 我的问题是, 有没有办法设置一个集群,所以总有一个备份节点会自动复制,如果其中一个节点closures? 特别是如果有电源故障。 图库集群的正确实现是什么?