diff --git a/plugins/mysql/conf/my.cnf b/plugins/mysql/conf/my.cnf index 5f0d241b9..13dba2e84 100644 --- a/plugins/mysql/conf/my.cnf +++ b/plugins/mysql/conf/my.cnf @@ -1,135 +1,55 @@ -# Example MySQL config file for large systems. -# -# This is for a large system with memory = 512M where the system runs mainly -# MySQL. -# -# 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 = /tmp/mysql.sock -# Here follows entries for some specific programs -# {$ROOT_PATH} -# The MySQL server [mysqld] -log-error = mysql.log -pid-file = mysql.pid port = 3306 socket = /tmp/mysql.sock -skip-external-locking #skip-locking -key_buffer_size = 256M -max_allowed_packet = 1M -table_open_cache = 256 -sort_buffer_size = 1M -read_buffer_size = 1M -read_rnd_buffer_size = 4M -myisam_sort_buffer_size = 64M -thread_cache_size = 8 -query_cache_size= 16M -# Try number of CPU's*2 for thread_concurrency -thread_concurrency = 8 -lower_case_table_names = 2 - -# 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 -# (via the "enable-named-pipe" option) will render mysqld useless! -# +datadir = {$SERVER_APP_PATH}/data +default_storage_engine = MyISAM +#skip-external-locking +#loose-skip-innodb +key_buffer_size = 8M +max_allowed_packet = 100G +table_open_cache = 32 +sort_buffer_size = 256K +net_buffer_length = 4K +read_buffer_size = 128K +read_rnd_buffer_size = 256K +myisam_sort_buffer_size = 4M +thread_cache_size = 4 +query_cache_size = 4M +tmp_table_size = 8M #skip-networking +#skip-name-resolve +max_connections = 500 +max_connect_errors = 100 +open_files_limit = 65535 -# Replication Master Server (default) -# binary logging is required for replication -#binlog-format=mysql-bin - -# binary logging format - mixed recommended -#binlog_format=mixed - -# required unique id between 1 and 2^32 - 1 -# defaults to 1 if master-host is not set -# but will not function as a master if omitted +log-bin=mysql-bin +binlog_format=mixed server-id = 1 +expire_logs_days = 10 +slow_query_log=1 +slow-query-log-file={$SERVER_APP_PATH}/data/mysql-slow.log +long_query_time=3 +#log_queries_not_using_indexes=on -# Replication Slave (comment out master section to use this) -# -# To configure this host as a replication slave, you can choose between -# two methods : -# -# 1) Use the CHANGE MASTER TO command (fully described in our manual) - -# the syntax is: -# -# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=, -# MASTER_USER=, MASTER_PASSWORD= ; -# -# where you replace , , by quoted strings and -# by the master's port number (3306 by default). -# -# Example: -# -# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, -# MASTER_USER='joe', MASTER_PASSWORD='secret'; -# -# OR -# -# 2) Set the variables below. However, in case you choose this method, then -# start replication for the first time (even unsuccessfully, for example -# if you mistyped the password in master-password and the slave fails to -# connect), the slave will create a master.info file, and any later -# change in this file to the variables' values below will be ignored and -# overridden by the content of the master.info file, unless you shutdown -# the slave server, delete master.info and restart the slaver server. -# For that reason, you may want to leave the lines below untouched -# (commented) and instead use CHANGE MASTER TO (see above) -# -# required unique id between 2 and 2^32 - 1 -# (and different from the master) -# defaults to 2 if master-host is set -# but will not function as a slave if omitted -#server-id = 2 -# -# The replication master for this slave - required -#master-host = -# -# The username the slave will use for authentication when connecting -# to the master - required -#master-user = -# -# The password the slave will authenticate with when connecting to -# the master - required -#master-password = -# -# The port the master is listening on. -# optional - defaults to 3306 -#master-port = -# -# binary logging - not required for slaves, but recommended -#log-bin=mysql-bin - -# Uncomment the following if you are using InnoDB tables -#innodb_data_home_dir = /usr/local/mysql/data -#innodb_data_file_path = ibdata1:10M:autoextend -#innodb_log_group_home_dir = /usr/local/mysql/data -# You can set .._buffer_pool_size up to 50 - 80 % -# of RAM but beware of setting memory usage too high -#innodb_buffer_pool_size = 256M -#innodb_additional_mem_pool_size = 20M -# Set .._log_file_size to 25 % of buffer pool size -#innodb_log_file_size = 64M -#innodb_log_buffer_size = 8M -#innodb_flush_log_at_trx_commit = 1 -#innodb_lock_wait_timeout = 50 +default_storage_engine = InnoDB +innodb_data_home_dir = {$SERVER_APP_PATH}/data +innodb_data_file_path = ibdata1:10M:autoextend +innodb_log_group_home_dir = {$SERVER_APP_PATH}/data +innodb_buffer_pool_size = 16M +innodb_additional_mem_pool_size = 2M +innodb_log_file_size = 5M +innodb_log_buffer_size = 8M +innodb_flush_log_at_trx_commit = 1 +innodb_lock_wait_timeout = 120 +innodb_max_dirty_pages_pct = 90 +innodb_read_io_threads = 1 +innodb_write_io_threads = 1 [mysqldump] quick @@ -137,14 +57,12 @@ 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 = 128M -sort_buffer_size = 128M +key_buffer_size = 20M +sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] -interactive-timeout +interactive-timeout \ No newline at end of file diff --git a/plugins/mysql/index.py b/plugins/mysql/index.py index b9eb7ded9..121d740ba 100755 --- a/plugins/mysql/index.py +++ b/plugins/mysql/index.py @@ -4,6 +4,7 @@ import sys import io import os import time +import subprocess sys.path.append(os.getcwd() + "/class/core") import public @@ -104,23 +105,22 @@ def status(): def myOp(method): init_file = initDreplace() - data = public.execShell(init_file + ' ' + method) - if data[1] == '': + cmd = init_file + ' ' + method + if method == 'start': + subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, + bufsize=4096, stderr=subprocess.PIPE) return 'ok' - return data[1] + else: + data = public.execShell(cmd) + if data[1] == '': + return 'ok' + return data[1] def start(): return myOp('start') -# def stop(): -# data = public.execShell( -# "ps -ef|grep mysql |grep -v grep |grep -v python |awk '{print $2}' | xargs kill -9") -# if data[0] == '': -# return 'ok' -# return 'fail' - def stop(): return myOp('stop') diff --git a/plugins/mysql/init.d/mysql.tpl b/plugins/mysql/init.d/mysql.tpl index 40851b6e7..6bc948f4b 100644 --- a/plugins/mysql/init.d/mysql.tpl +++ b/plugins/mysql/init.d/mysql.tpl @@ -256,7 +256,7 @@ else esac fi -ulimit -s unlimited +#ulimit -s unlimited case "$mode" in 'start') # Start daemon