HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlMinor

my.cnf values not applying - Optimizing MySQL in CentOS LAMP

Submitted by: @import:stackexchange-dba··
0
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

[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.sock


here 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:

/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.