Articles of mysql

随机缓慢的MySQL查询

我知道这类问题经常出现。 但是我做了大量的研究,尝试了很多不同的设置,但是仍然有相同的问题:通常非常快的查询可能会随机地花费3到5秒。 该服务器是一个i7-3770(8核心)与32GB内存。 CPU使用率约为50%,而不是CPU高峰。 没有交换使用,可用内存平均约10GB。 我在CentOS 6上运行mysql 5.5.32。 已经为MySQL分配了9GB的RAM,它使用了大约2GB。 所有的数据都应该适合内存(600MB的数据,700MB的索引)。 平均每秒查询次数(无实际秒数): 1.5select 0.2更新 0.05 INSERT 这是一个查询的例子,只需要几毫秒,但有时超过3秒: # Query_time: 4.337884 Lock_time: 0.050146 Rows_sent: 1 Rows_examined: 1 SELECT me.id, me.url, me.filename, me.instance_id, me.virtual_id, me.status, me.user_id, me.time_added, me.time_finished, me.priority, me.size, me.delay, me.flash_delay, me.tries, me.details, me.json_file, me.html, me.shots, me.shot_interval, me.screen_width, me.screen_height FROM Screenshots me WHERE ( me.id = '5992705' […]

Mysql Master到主configuration步骤

在我们的项目中目前我们使用的是Mysql Master来进行Master的复制,这两个mysql的服务器版本都是mysql 5.1。 我们要升级复制,那么我们的要求是一个MySQL服务器应该是MySQL 5.1和另一个应该是MySQL 5.5。 那是我们必须做的。 如果我们这样做,我们可以面对的问题是什么? 当我们将要这样做的时候,应该避免的是什么? 如果你已经这样做了,请给我们一些build议。

GitLab,安装Gems时出错,libmysqlclient-dev可能丢失但不可移动

所以,当我正式安装GitLab之后,我在Gems安装中遇到了一个错误。 Gem files will remain installed in /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/mysql2-0.3.11 for inspection. Results logged to /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/mysql2-0.3.11/ext/mysql2/gem_make.out An error occurred while installing mysql2 (0.3.11), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.3.11'` succeeds before bundling. 在网上看,他们说,这个问题经常出现,当一些lib丢失..和一个评论确认我害怕… 问题解决了,input这个命令 sudo apt-get install libmysqlclient-dev sudo apt-get install mysql 然后运行gem install mysql2 问题是,我试图安装它,但.. sudo apt-get install libmysqlclient-dev Reading […]

遇到joomla和mysql崩溃

我目前正在将joomla网站从共享主机移到专用主机。 我面临的问题是,我正在经历缓慢的页面加载,我认为这与MySQL有关。 我告诉你,因为有时(从昨天开始的3次:S)mysql守护进程closures,我必须再次联机(login/ var / log / mysql /不报告任何内容,不知道为什么)。 我打开慢querys日志,它报告这一点: /usr/sbin/mysqld, Version: 5.5.35-0+wheezy1-log ((Debian)). started with: Tcp port: 3306 Unix socket: /var/run/mysqld/mysqld.sock Time Id Command Argument # Time: 140213 15:42:22 # User@Host: debian-sys-maint[debian-sys-maint] @ localhost [] # Query_time: 5.542592 Lock_time: 0.000729 Rows_sent: 0 Rows_examined: 643 SET timestamp=1392302542; select count(*) into @discard from `information_schema`.`PARTITIONS`; /usr/sbin/mysqld, Version: […]

如何在FreeBSD 10上编译mysql56-client到USE_OLD_FUNCTIONS?

编辑:我解决了我的问题 – 我正在编辑错误的包含文件。 看到这个post的结尾的修复。 我正在将一些旧的FreeBSD 4.3服务器的应用程序迁移到新的FreeBSD 10服务器上。 这些是使用MySQL C API的C应用程序。 它们非常古老,使用mysql_connect函数(在较新版本的MySQL中不推荐使用)。 从我所能看到的MySQL源代码中,我们需要使用USE_OLD_FUNCTIONS编译MySQL客户端API。 不幸的是我不知道如何做到这一点。 我试图用FreeBSD ports系统安装MySQL 5.6。 我做了以下,我认为应该工作: cd /usr/ports/databases/mysql56-client make fetch make extract make configure 然后我编辑了work/mysql-5.6.16/include/config.h并在最后添加了以下行: #define USE_OLD_FUNCTIONS 然后我编译并安装了客户端: make make install mysql_config显示如下: # mysql_config –libs -L/usr/local/lib/mysql -lmysqlclient -pthread -lm # mysql_config –cflags -I/usr/local/include/mysql -pipe -fno-strict-aliasing -g -DNDEBUG 当我试图编译一个非常简单的testing客户端,如下所示,我得到一个链接器错误,说undefined reference to 'mysql_connect' 。 testing客户端代码如下: #define […]

Apache MySQL服务器崩溃 – 来自本地主机的大量连接

我正在使用标准的LAMP设置运行一个2GB的Centos 5.9服务器。 我正在运行一个WordPress的网站,所以没有什么要求性能明智的。 然而,当我尝试访问我的WordPress的网站时,MySQL服务器似乎不断崩溃,因为我得到一个错误连接到数据库。 我检查了CPU,它运行在100%,RAM也是100%。 我试过了 服务mysqld重启 一切恢复正常约10分钟,然后再次崩溃。 我也试过调整my.cnf文件和httpd.conf文件,但是这并没有解决它。 当我跑步 netstat -ntu | awk'{print $ 5}'| cut -d':'-f1 | grep“^ [0-9]”| sort -g | uniq -c 我得到以下输出: 1 31.222.135.11 1 50.56.142.152 1 50.57.61.11 1 78.136.44.13 2 78.19.241.93 201 127.0.0.1 为什么我的环回地址上有201个连接? 感谢您的帮助提前。

PAM将不会使用mysql进行身份validation(不build议使用make_scrambled_pa​​ssword)

我花了一些时间寻找这个,似乎我是唯一有问题的PAM没有通过MySQLauthentication,由于目前的更新,所以我想我会在这里发布我的问题,如果我find解决scheme,我会在这里发布以及别人跟随。 总之 – 我用saslauthd和dovecot运行postfix。 两者都通过使用mysql作为凭据源的pam进行身份validation。 一切正常工作,直到今天更新 – 我无法再连接到邮件服务器,这是我在日志中看到的: PAM unable to dlopen(/usr/lib/security/pam_mysql.so): /usr/lib/security/pam_mysql.so: undefined symbol: make_scrambled_password PAM adding faulty module: /usr/lib/security/pam_mysql.so DEBUG: auth_pam: pam_authenticate failed: Module is unknown do_auth : auth failure: [user=xxxx] [service=smtp] [realm=xxxx] [mech=pam] [reason=PAM auth error] 所以我可能是错的,但对我的理解pam_mysql.so是使用不再支持MySQL的弃用的make_scrambled_pa​​ssword。 我不知道解决scheme是什么,如果有人可以build议,将不胜感激。 我检查了项目页面上的源代码,可以看到不赞成使用的函数。 所以这似乎是pam_mysql中的一个错误,需要更新([在pam_mysql sourceforge页面上报告的错误] [1]以及arch community bug tracker( https://bugs.archlinux.org/task/39083?project = 5&pagenum = 1 )) 我已经看到了一些围绕互联网的解决方法补丁( […]

在损坏ibdata1之后重buildMySQL

我有一个MySQL服务器,服务于包括Magento电子商务商店在内的几个数据库。 我们已经在ibdata1文件中腐败了一段时间,但现在已经到了一个关键的地步。 唯一使用innodb表的数据库是Magento网店的后端。 我有一个最新的整个magento数据库的SQL提取。 我认为我可以closuresMySQL,重命名ib *文件,重新启动MySQL并从SQL文件重新创build数据库 – 但是在重命名ib *文件后,重新启动MySQL时遇到了一个主要问题。 我一直得到'不能连接到MySQL ….. mysql.sock'。 看起来好像ib *文件都是按照我的预期重新创build的,但我无法重新启动,然后连接到服务器… 有任何想法吗??

排除来自mysql的内存不足错误消息

我们有一个networking应用程序(机架表),这给我们的生产箱上的悲伤。 每当用户尝试运行search,它会给出以下错误: Pdo exception: PDOException SQLSTATE[HY000]: General error: 5 Out of memory (Needed 2057328 bytes) (HY000) 我无法在我们的备份服务器上重新创build问题。 服务器匹配,除了在生产中,我们有16GB的内存,我们的备份,我们有8GB的事实。 这是一个有争议的问题,因为两者都运行32位的操作系统,所以只能使用4GB的内存。 我们也build立了一个交换分区… 下面是我从生产中的“free -m”命令中得到的结果: prod:/etc# free -m total used free shared buffers Mem: 3294 1958 1335 0 118 -/+ buffers: 1839 1454 Swap: 3817 109 3707 prod:/etc# 我已经检查,以确保两个盒子上的my.cnf匹配。 生产的数据库被复制到备份服务器上…所以数据也匹配。 我想我们的select是: A) convert the o/s to 64 bit […]

同一台机器上的VPN和MySQL服务器

我有一个运行MySQL的远程服务器,LAMP服务器在同一个位置。 大部分时间,LAMP服务器都可以连接到MySQL服务器(通过本地networking)。 我也有一个VPN服务器的MySQL框(只有这样我可以得到一个静态的IP为我的家庭连接)。 我可以很好地连接到VPN,通过它浏览网页,通过SSH等等。 但是,当我连接到我的VPN服务器时,PHP不能再连接到MySQL服务器。 一旦断开连接,PHP可以再次连接到MySQL服务器。 我甚至不知道从哪里开始解决这个问题。 这是VPN的问题吗? 防火墙问题? Apache的问题? 它闻起来像一个VPN问题,因为它断开时,它会消失,但我无法find任何迹象表明,当我连接到VPN时,为什么会发生这种情况。