问题
我正在尝试修改我的生产服务器上的my.cnf值但是在sudo服务mysql重新启动后,在我的开发服务器上使用my.cnf(已下载和替换的原始文件)的精确副本,更改未生效从MysqL命令行中的show变量可以看到所做的更改.
my.cnf位于/etc/MysqL/my.cnf
sudo find / -name my.cnf /etc/MysqL/my.cnf
因此整个系统中只存在一个文件..
生产是ubuntu 10.04 LTS 64位
开发是ubuntu 11.10 32bit
MysqL版本是5.1.61&分别为5.1.62.
更新2:
运行MysqL后停止和MysqL状态返回MysqL停止/等待,如果我运行top -b | grep MysqL
27652 root 20 0 4096 424 420 S 0 0.0 0:00.01 MysqLd_safe 27769 MysqL 20 0 392m 57m 7236 S 0 1.5 119116,08 MysqLd
这看起来仍然在运行,时间对我来说看起来并不好,但我现在担心如果我杀了这些/这个过程我不能再让MysqL运行,并且生产这很糟糕:S.
我意识到它可能不是可以回答但杀死这些进程然后运行服务MysqL启动的东西,这会让MysqL再次运行吗? – 另外,上面的过程是否有正常的数字?
更新:
这不意味着它从my.cnf获取设置但不使用它吗?所以现在非常困惑.
最后它获得了innodb_buffer ..设置.
MysqLd --print-defaults MysqLd would have been started with the following arguments: --user=MysqL --socket=/var/run/MysqLd/MysqLd.sock --port=3306 --basedir=/usr --datadir=/var/lib/MysqL --tmpdir=/tmp --skip-external-locking --bind-address=127.0.0.1 --key_buffer=16M --max_allowed_packet=16M --thread_stack=192K --thread_cache_size=8 --myisam-recover=BACKUP --query_cache_limit=1M --query_cache_size=16M --log_error=/var/log/MysqL/error.log --expire_logs_days=9 --max_binlog_size=100M --innodb_file_per_table=1 --innodb_buffer_pool_size=500M --innodb_buffer_pool_size=500M --user=MysqL --socket=/var/run/MysqLd/MysqLd.sock --port=3306 --basedir=/usr --datadir=/var/lib/MysqL --tmpdir=/tmp --skip-external-locking --bind-address=127.0.0.1 --key_buffer=16M --max_allowed_packet=16M --thread_stack=192K --thread_cache_size=8 --myisam-recover=BACKUP --query_cache_limit=1M --query_cache_size=16M --log_error=/var/log/MysqL/error.log --expire_logs_days=9 --max_binlog_size=100M --innodb_file_per_table=1 --innodb_buffer_pool_size=500M --innodb_buffer_pool_size=500M
my.cnf中
[client] port = 3306 socket = /var/run/MysqLd/MysqLd.sock [MysqLd_safe] socket = /var/run/MysqLd/MysqLd.sock nice = 0 [MysqLd] user = MysqL socket = /var/run/MysqLd/MysqLd.sock port = 3306 basedir = /usr datadir = /var/lib/MysqL tmpdir = /tmp skip-external-locking bind-address = 127.0.0.1 key_buffer = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 myisam-recover = BACKUP query_cache_limit = 1M query_cache_size = 16M log_error = /var/log/MysqL/error.log expire_logs_days = 10 max_binlog_size = 100M innodb_file_per_table = 1 [MysqLdump] quick quote-names max_allowed_packet = 16M [MysqL] [isamchk] key_buffer = 16M !includedir /etc/MysqL/conf.d/
/etc/MysqL/conf.d/中有什么有趣的东西吗?你正在使用的MysqL 5.1的版本应该按照配置文件名的顺序解析my.cnf然后解析/etc/MysqL/conf.d/中的任何内容.在以前的版本中,订单可能有些不确定.无论在链中最后设置的值是什么,都应该获胜,这可以解释为什么如果以后的文件覆盖您的设置,my.cnf中的更改不会更新服务器.
如果/etc/MysqL/conf.d/中没有任何内容可以创建一个名为innodb.cnf的文件(不会解析任何不以.cnf结尾的文件),只有这两行,看看你是否重启后innodb设置更新.
[MysqLd] innodb_buffer_pool_size = 500M