patternsqlMinor
my.cnf values not applying - Optimizing MySQL in CentOS LAMP
Viewed 0 times
centoscnflampmysqloptimizingvaluesapplyingnot
Problem
I have checked for other occurences of my.cnf and I have found only one occurrence of /etc/my.cnf.
Then, I went ahead to fix in my values, e.g. query_cache_size etc.
After saving and literally rebooting, the values in my.cnf have not been applied. I'm using CentOS 5.6, LAMP on Apache 2, MySQL 5.0.77
Any help?
i ran also
here is the content of /etc/init.d/mysqld
``
if [ -z "$result" ]; then
# not found, use default
result="$3"
fi
}
get_mysql_option mysqld datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option mysqld socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option mys
Then, I went ahead to fix in my values, e.g. query_cache_size etc.
After saving and literally rebooting, the values in my.cnf have not been applied. I'm using CentOS 5.6, LAMP on Apache 2, MySQL 5.0.77
Any help?
i ran also
[root@veepiz ~]# ps aux | grep mysql
root 16202 0.0 0.1 61220 704 pts/0 D+ 03:17 0:00 grep mysql
root 32054 0.0 0.1 63888 536 ? S Jul24 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --user=mysql
mysql 32096 6.0 1.6 250592 8352 ? Sl Jul24 19:14 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sockhere is the content of /etc/init.d/mysqld
``
#!/bin/bash
#
# mysqld This shell script takes care of starting and stopping
# the MySQL subsystem (mysqld).
#
# chkconfig: - 64 36
# description: MySQL database server.
# processname: mysqld
# config: /etc/my.cnf
# pidfile: /var/run/mysqld/mysqld.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
prog="MySQL"
# extract value of a MySQL option from config files
# Usage: get_mysql_option SECTION VARNAME DEFAULT
# result is returned in $result
# We use my_print_defaults which prints all options from multiple files,
# with the more specific ones later; hence take the last match.
get_mysql_option(){
result=/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1`if [ -z "$result" ]; then
# not found, use default
result="$3"
fi
}
get_mysql_option mysqld datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option mysqld socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option mys
Solution
You can force-feed mysqld whatever my.cnf you want by using the --defaults-file flag.
E.g. On Red Hat-ish systems:
E.g. On Red Hat-ish systems:
/usr/bin/mysqld_safe --defaults-file=/etc/my_alt.cnf &Code Snippets
/usr/bin/mysqld_safe --defaults-file=/etc/my_alt.cnf &Context
StackExchange Database Administrators Q#4076, answer score: 2
Revisions (0)
No revisions yet.