I performed a fresh custombuild install of DirectAdmin on Centos 6 64bit, and MySQL will not start.
I tried to manually start MySQL
No luck. So, I checked out the error log.
I notice pthread_create returned 11 and did a little Google search. It can occasionally be related to memory issues. I do have a VPS which currently only has 256mb of RAM. I'm currently using about 150mb.
SO, I installed the default cnf file for small systems.
That file appears as below
I still get the same error.
Now, I'm no expert at OpenVZ, but I saw something about it's limits causing problems with MySQL. So I ran cat /proc/user_beancounters and I found a high failcount for privvmpages
Is this due to low memory? I'm using a very small cnf file, and I have 100mb for MySQL to use.
Thoughts? I'm at wits end at the moment.
I tried to manually start MySQL
Code:
[root@athena etc]# service mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/athena.MYSERVERNAMEHERE.com.pid).
No luck. So, I checked out the error log.
Code:
120519 02:09:01 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120519 2:09:01 [Note] Plugin 'FEDERATED' is disabled.
120519 2:09:01 InnoDB: The InnoDB memory heap is disabled
120519 2:09:01 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120519 2:09:01 InnoDB: Compressed tables use zlib 1.2.3
120519 2:09:01 InnoDB: Using Linux native AIO
120519 2:09:01 InnoDB: Initializing buffer pool, size = 128.0M
120519 2:09:01 InnoDB: Completed initialization of buffer pool
InnoDB: Error: pthread_create returned 11
120519 02:09:01 mysqld_safe mysqld from pid file /var/lib/mysql/athena.MYSERVERNAMEHERE.com.pid ended
I notice pthread_create returned 11 and did a little Google search. It can occasionally be related to memory issues. I do have a VPS which currently only has 256mb of RAM. I'm currently using about 150mb.
SO, I installed the default cnf file for small systems.
Code:
[root@athena mysql]# cp /usr/share/mysql/my-small.cnf /etc/my.cnf
That file appears as below
Code:
[root@athena mysql]# cat /etc/my.cnf
# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# MySQL programs look for option files in a set of
# locations which depend on the deployment platform.
# You can copy this option file to one of those
# locations. For information about these locations, see:
# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
server-id = 1
# Uncomment the following if you want to log updates
#log-bin=mysql-bin
# binary logging format - mixed recommended
#binlog_format=mixed
# Causes updates to non-transactional engines using statement format to be
# written directly to binary log. Before using this option make sure that
# there are no dependencies between transactional and non-transactional
# tables such as in the statement INSERT INTO t_myisam SELECT * FROM
# t_innodb; otherwise, slaves may diverge from the master.
#binlog_direct_non_transactional_updates=TRUE
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/lib/mysql
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout
I still get the same error.
Now, I'm no expert at OpenVZ, but I saw something about it's limits causing problems with MySQL. So I ran cat /proc/user_beancounters and I found a high failcount for privvmpages
Code:
[root@athena mysql]# cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
4789: kmemsize 4078986 17012943 2147483646 2147483646 0
lockedpages 0 1021 999999 999999 0
privvmpages 14014 72197 65536 65536 37534
shmpages 641 3489 32768 32768 6
dummy 0 0 0 0 0
numproc 21 84 999999 999999 0
physpages 2812 58081 0 2147483647 0
vmguarpages 0 0 32768 2147483647 0
oomguarpages 2812 58081 32768 2147483647 0
numtcpsock 4 146 7999992 7999992 0
numflock 2 13 999999 999999 0
numpty 1 2 500000 500000 0
numsiginfo 0 15 999999 999999 0
tcpsndbuf 172992 15357064 214748160 396774400 0
tcprcvbuf 65536 9590304 214748160 396774400 0
othersockbuf 11640 491208 214748160 396774400 0
dgramrcvbuf 0 26728 214748160 396774400 0
numothersock 11 254 7999992 7999992 0
dcachesize 251652 740343 2147483646 2147483646 0
numfile 564 2568 23999976 23999976 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 25 27 999999 999999 0
Is this due to low memory? I'm using a very small cnf file, and I have 100mb for MySQL to use.
Thoughts? I'm at wits end at the moment.