最近,我在一台MySQL机器上通过rpm包安装了openSUSE服务器和客户端5.5.28,并且无法找到my.cnf文件。我查看mysql --verbose --help | grep -C3 my.cnf打印的所有目录,它们是/etc/my.cnf (没有这样的文件)、/etc/mysql/my.cnf(没有mysql目录)、usr/etc/my.cnf (在usr中没有etc )和~/.my.cnf (不存在)。然后我尝试了find / -name *.cnf,它给了我:
/usr/share/doc/MySQL-server-standard-5.0.24a/my-huge.cnf
/usr/share/doc/MySQL-server-standard-5.0.24a/my-innodb-heavy-4G.cnf
/usr/share/doc/MySQL-server-standard-5.0.24a/my-large.cnf
/usr/share/doc/MySQL-server-standard-5.0.24a/my-medium.cnf
/usr/share/doc/MySQL-server-standard-5.0.24a/my-small.cnf
/usr/share/ssl/openssl.cnf
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-huge.cnf
/usr/share/mysql/my-innodb-heavy-4G.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/mysql/my-small.cnf 我想编辑my.cnf文件以练习复制和高可用性。我在某个地方读到,拥有my.cnf文件并不需要很好地使用MySQL,在我的情况下是这样的.因此,我想把这些my-*.cnf重命名为my.cnf,并将其放在MySQL查找my.cnf文件的位置。但我不确定第一,这是否可行,第二,选择哪一个能够练习复制。
我不想让事情变得复杂,所以我想用中间的.我做的对吗?
发布于 2012-12-19 16:33:03
如果您正在进行复制,而您只是在练习,那么您选择的my.cnf就不那么重要了。然而,配置越小越好。例如,如果DB有2GBRAM,则不应该选择my-innodb-heavy-4G.cnf。
如果使用my.cnf启动mysql,则创建默认的10M或18M ibdata1和250万InnoDB日志文件(ib_logfile0,ib_logfile1)。介质cnf具有以下InnoDB设置:
[root@******** ~]# cat /usr/share/mysql/my-medium.cnf | grep innodb
#innodb_data_home_dir = /var/lib/mysql
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql
#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 = 50由于与InnoDB相关的所有内容都已注释掉,所以您应该可以选择my-medium.cnf
只需运行以下命令:
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
service mysql restart现在,关于MySQL复制,我有一个好消息:我已经在Feb 06, 2012 ( 如何在MySQL5.5.20中设置复制(主/从)? )上回复了一个帖子,说明了自动化奴隶创建所需的所有步骤。
下面是我的几篇文章,它们都有更高级的复制设置
May 07, 2012:在mysql中设置循环复制Sep 24, 2012:在现有的复制拓扑中设置MySQL循环复制?Nov 26, 2012:复制MySQL5.0母版到5.5从?https://dba.stackexchange.com/questions/30736
复制相似问题