Hi there this is making me crazy. Every time I try to enable the module and go to the status screen it is crashing my MySQL server.
I would love to get the extra benefits that I think this module would give for now as well as when I move to a new server however it has me baffled.
Thanks in advance.
My setup is as follows:
Ran Optimizations per http://goo.gl/30yi39
Centos 5.11 i686
MySQL 5.6.23
PHP 5.5.27
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
ereg
filter
ftp
gd
geoip
geos
hash
iconv
imap
json
libxml
mbstring
mcrypt
memcache
mysql
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
sockets
solr
SPL
sqlite3
standard
tokenizer
uploadprogress
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
mysqlnd 5.0.11-dev - 20120503
Loaded plugins mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_sha256_password
API Extensions mysqli,mysql,pdo_mysql
my.cnf
[mysql]
# CLIENT #
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
# GENERAL #
user = mysql
default-storage-engine = InnoDB
socket = /var/lib/mysql/mysql.sock
pid-file = /var/lib/mysql/mysql.pid
# MyISAM #
key-buffer-size = 32M
myisam-recover = FORCE,BACKUP
# SAFETY #
max-allowed-packet = 32M
transaction-isolation = READ-COMMITTED
max-connect-errors = 1000000
skip-name-resolve
sql-mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY
sysdate-is-now = 1
innodb = FORCE
innodb-strict-mode = 1
# DATA STORAGE #
datadir = /var/lib/mysql/
# BINARY LOGGING #
log-bin = /var/lib/mysql/mysql-bin
expire-logs-days = 7
sync-binlog = 1
binlog_format = MIXED
# CACHES AND LIMITS #
tmp-table-size = 32M
max-heap-table-size = 32M
query-cache-type = 0
query-cache-size = 0
max-connections = 100
thread-cache-size = 50
open-files-limit = 65535
table-definition-cache = 4096
table-open-cache = 4096
# INNODB #
innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 2
innodb-log-file-size = 128M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table = 1
innodb-buffer-pool-size = 1456M
innodb_flush_log_at_trx_commit = 2
# LOGGING #
log-error = /var/lib/mysql/mysql-error.log
log-queries-not-using-indexes = 1
slow-query-log = 1
slow-query-log-file = /var/lib/mysql/mysql-slow.log
| Comment | File | Size | Author |
|---|---|---|---|
| #17 | 0001-Change-exec-php-m-to-use-long-option-modules.patch | 995 bytes | Sylense |
Comments
Comment #1
Christopher Riley commentedTo verify that it wasn't a contrib module conflict I disabled all of the contrib modules and still get the same result.
Comment #2
mikeytown2 commentedDoes mysql-error.log provide any details on whats crashing?
Comment #3
Sylense commentedI'm having the same issue. On my local mamp environment I'm running mysql 5.5.42 and it works fine. However, my production server is running mysql 5.6.23 and it crashes when trying to access the status report page.
Comment #4
mikeytown2 commentedI'd guess it's related to MySQL permissions. Going to see what I can do. Any word on what the error message looks like?
Comment #5
Sylense commentedHere's what I get in my mysql-error.log after trying to load the status page
The page idles in loading status for about 3-5 minutes and then returns the Mysql has gone away messages
Comment #6
mikeytown2 commented@Sylense
Using something like phpmyadmin does mysql crash when running
SHOW VARIABLES LIKE 'socket'using the user/pass that drupal uses?Also it looks like the log is only showing the startup, not why is stopped running. I'd check /var/log/syslog, /var/log/mysql.log, and /var/log/mysql.err for any indications as to what might be causing the issue
Comment #7
Sylense commentedI've ran the SHOW VARIABLES query without any problems and I don't see any additional info in the logs. I'm still digging but that's all the information I have right now.
Comment #8
mikeytown2 commentedDoes
SELECT VERSION();work? That's the previous queryComment #9
Sylense commentedYes, it returns
5.6.23-logComment #10
Sylense commentedOk, so this is by no means a solution but merely troubleshooting. I commented out the following section in apdqc.install starting at line 148 (latest dev oct 6 2015)
This allowed the status report page to load. I applied all the suggestions to settings.php and php.ini. However, I get the following messages and am unable to resolve them:
I've checked to be sure mysqli and mysqlnd are enabled by using the command
php -m. I'm wondering if this is tied to why the chunk of code I commented out was crashing MySQL. After all that chunk of code is what is checking for mysqlnd.Comment #11
mikeytown2 commentedIt checks by running these 2 commands in the shell
If this does crash MySQL then that's pretty odd in my book. Does running these on your server cause issues?
Comment #12
Sylense commentedThose commands work fine in shell but it looks like the issue might be
exec()used in PHP.EDIT:
It's only the following exec() command that is crashing
exec('php -m | grep mysqlnd', $mysqlnd);When I comment that out everything else works fine except for it obviously will print the message saying I need to install mysqlnd. Mysqlnd is enabled so I can ignore the message but I'm wondering if there is an alternate way of checking for mysqlnd that doesn't crash.
Comment #13
mikeytown2 commentedDoes this crash for you?
exec('php -m', $mysqlnd);Comment #14
Sylense commentedYes, I've tried that as well figuring maybe grep was causing it to hang but it still crashes.
Comment #15
mikeytown2 commentedOdd that showing complied modules crashes MySQL
http://php.net/manual/en/features.commandline.options.php
I'm guessing this is a bug with PHP or MySQL. Have you thought about re-installing mysqlng?
Comment #16
Sylense commentedAhh, I think I fixed the issue. I changed the command to use the long option and am no longer getting any errors or crashes. Not sure why that makes a difference but re-compiling apache/php didn't even work. It didn't work until I made the change below.
Changing
exec('php -m | grep mysqlnd', $mysqlnd);To
exec('php --modules | grep mysqlnd', $mysqlnd);Comment #17
Sylense commentedHere's a patch for the change above. Not sure if this fixes the issue for the OP or for anyone else that may have issues.
Comment #19
mikeytown2 commentedThanks for debugging this! #17 has been committed