# 针对非常大型系统的 MySQL 配置文件例子。
#
# 这是针对一个内存为 1G - 2G 的大系统,系统主要运行 MySQL。
#
# 你可以复制该文件到 /etc/my.cnf 以设置全局的选项,复制到 mysql-data-dir/my.cnf 以设置服务器特有的选项(在本安装中该目录是 C:mysqldata ),复制到 ~/.my.cnf 以设置用户特有的选项。
#
# 在该文件中,你可以使用一个程序所支持的全部永久选项。
# 如果你想了解哪些选项是程序支持的,在运行程序时使用“--help”选项。
# 下面的选项将会被传递到所有的 MySQL 客户端。
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
# 这下面的条目是针对一些特定的程序。
# MySQL 服务器。
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# 尝试 2 倍的 CPU,针对线程并发。
thread_concurrency = 8
# 根本不用监听一个 TCP/IP 端口。
# 如果运行在相同主机上的所有进程都需要连接到 mysqld,这可能是一个安全增强。
# 所有与 mysqld 的互动都必须通过 Unix sockets(套接字)或命名管道进行。
# 注意,在 Windows 上使用该选项但却不启用命名管道(通过“enable-named-pipe”选项)将使得 mysqld 变得无用。
#
#skip-networking
# 复制主服务器(默认的)。
# 复制是需要二进制日志的。
log-bin = mysql-bin
# 需要 1 到 2^32-1 之间的唯一 id。
# 如果主服务器未设置,默认设置为 1。
# 但若是忽略,将不会作为一个主服务器的功能。
server-id = 1
# 复制从服务器(注释掉主服务器章节以便使用这个)。
#
# 要配置该主机为一个复制从服务器,你可以选择以下两种方法:
#
# 1)使用 CHANGE MASTER TO 命令(在我们的手册中有完整的描述) - 其语法是:
#
# CHANGE MASTER TO MASTER_HOST = 〈host〉, MASTER_PORT = 〈port〉, MASTER_USER = 〈user〉, MASTER_PASSWORD = 〈password〉;
#
# 使用带引号的字符串替换 〈host〉、〈user〉、〈password〉,并且 〈port〉 是主服务器的端口号(默认为 3306)。
#
# 例子:
#
# CHANGE MASTER TO MASTER_HOST = '125.564.12.1', MASTER_PORT = 3306, MASTER_USER = 'joe', MASTER_PASSWORD = 'secret';
#
# 或者
#
# 2)设置下面的变量。
# 然而,如果你选择了该方法,请在第一时间内启动复制(就算不成功,例如,如果你在 MASTER_PASSWORD 中未键入密码,并且从服务器连接失败),从服务器将创建一个 master.info 文件,稍后在该文件中对下面变量值的任何改变都将被忽略,并被 master.info 文件中的连接所覆盖,除非你关闭从服务器、删除 master.info 并重新启动从服务器。
# 基于这种因素,你可能想要离开下面未接触的行(已注释的)并替代使用 CHANGE MASTER TO(请看上面)。
#
# 需要 2 到 2^32-1 之间的唯一 id(与主服务器不同)。
# 如果主服务器已被设置,默认设置为 2。
# 但若是忽略,将不会作为一个从服务器的功能。
#server-id = 2
#
# 针对该从服务器的复制主服务器 - 必须的。
#master-host = 〈hostname〉
#
# 用户名,当连接到主服务器时,从服务器将用此来进行认证 - 必须的。
#master-user = 〈username〉
#
# 密码,当连接到主服务器时,从服务器将用此来进行认证 - 必须的。
#master-password = 〈password〉
#
# 端口,主服务器正在监听的。
# 可选的 - 默认为 3306。
#master-port = 〈port〉
#
# 二进制日志 - 对于从服务器不是必须的,但是推荐的。
#log-bin = mysql-bin
#
# 推荐的二进制日志格式 - mixed。
#binlog_format = mixed
# 指定下面的路径到不同的专用磁盘。
#tmpdir = /tmp/
#log-update = /path-to-dedicated-directory/hostname
# 如果你正在使用 InnoDB 表,取消下面的注释。
#innodb_data_home_dir = C:mysqldata/
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
#innodb_log_group_home_dir = C:mysqldata/
# 你可以将 .._buffer_pool_size 设置到 RAM 的 50% - 80%,但要提防将内存使用设定得太高。
#innodb_buffer_pool_size = 384M
#innodb_additional_mem_pool_size = 20M
# 设置 .._log_file_size 为 buffer pool size 的 25%。
#innodb_log_file_size = 100M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# 如果你对 SQL 不熟悉,移除下一个注释符。
#safe-updates
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
#
# 这是针对一个内存为 1G - 2G 的大系统,系统主要运行 MySQL。
#
# 你可以复制该文件到 /etc/my.cnf 以设置全局的选项,复制到 mysql-data-dir/my.cnf 以设置服务器特有的选项(在本安装中该目录是 C:mysqldata ),复制到 ~/.my.cnf 以设置用户特有的选项。
#
# 在该文件中,你可以使用一个程序所支持的全部永久选项。
# 如果你想了解哪些选项是程序支持的,在运行程序时使用“--help”选项。
# 下面的选项将会被传递到所有的 MySQL 客户端。
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
# 这下面的条目是针对一些特定的程序。
# MySQL 服务器。
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
# 尝试 2 倍的 CPU,针对线程并发。
thread_concurrency = 8
# 根本不用监听一个 TCP/IP 端口。
# 如果运行在相同主机上的所有进程都需要连接到 mysqld,这可能是一个安全增强。
# 所有与 mysqld 的互动都必须通过 Unix sockets(套接字)或命名管道进行。
# 注意,在 Windows 上使用该选项但却不启用命名管道(通过“enable-named-pipe”选项)将使得 mysqld 变得无用。
#
#skip-networking
# 复制主服务器(默认的)。
# 复制是需要二进制日志的。
log-bin = mysql-bin
# 需要 1 到 2^32-1 之间的唯一 id。
# 如果主服务器未设置,默认设置为 1。
# 但若是忽略,将不会作为一个主服务器的功能。
server-id = 1
# 复制从服务器(注释掉主服务器章节以便使用这个)。
#
# 要配置该主机为一个复制从服务器,你可以选择以下两种方法:
#
# 1)使用 CHANGE MASTER TO 命令(在我们的手册中有完整的描述) - 其语法是:
#
# CHANGE MASTER TO MASTER_HOST = 〈host〉, MASTER_PORT = 〈port〉, MASTER_USER = 〈user〉, MASTER_PASSWORD = 〈password〉;
#
# 使用带引号的字符串替换 〈host〉、〈user〉、〈password〉,并且 〈port〉 是主服务器的端口号(默认为 3306)。
#
# 例子:
#
# CHANGE MASTER TO MASTER_HOST = '125.564.12.1', MASTER_PORT = 3306, MASTER_USER = 'joe', MASTER_PASSWORD = 'secret';
#
# 或者
#
# 2)设置下面的变量。
# 然而,如果你选择了该方法,请在第一时间内启动复制(就算不成功,例如,如果你在 MASTER_PASSWORD 中未键入密码,并且从服务器连接失败),从服务器将创建一个 master.info 文件,稍后在该文件中对下面变量值的任何改变都将被忽略,并被 master.info 文件中的连接所覆盖,除非你关闭从服务器、删除 master.info 并重新启动从服务器。
# 基于这种因素,你可能想要离开下面未接触的行(已注释的)并替代使用 CHANGE MASTER TO(请看上面)。
#
# 需要 2 到 2^32-1 之间的唯一 id(与主服务器不同)。
# 如果主服务器已被设置,默认设置为 2。
# 但若是忽略,将不会作为一个从服务器的功能。
#server-id = 2
#
# 针对该从服务器的复制主服务器 - 必须的。
#master-host = 〈hostname〉
#
# 用户名,当连接到主服务器时,从服务器将用此来进行认证 - 必须的。
#master-user = 〈username〉
#
# 密码,当连接到主服务器时,从服务器将用此来进行认证 - 必须的。
#master-password = 〈password〉
#
# 端口,主服务器正在监听的。
# 可选的 - 默认为 3306。
#master-port = 〈port〉
#
# 二进制日志 - 对于从服务器不是必须的,但是推荐的。
#log-bin = mysql-bin
#
# 推荐的二进制日志格式 - mixed。
#binlog_format = mixed
# 指定下面的路径到不同的专用磁盘。
#tmpdir = /tmp/
#log-update = /path-to-dedicated-directory/hostname
# 如果你正在使用 InnoDB 表,取消下面的注释。
#innodb_data_home_dir = C:mysqldata/
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
#innodb_log_group_home_dir = C:mysqldata/
# 你可以将 .._buffer_pool_size 设置到 RAM 的 50% - 80%,但要提防将内存使用设定得太高。
#innodb_buffer_pool_size = 384M
#innodb_additional_mem_pool_size = 20M
# 设置 .._log_file_size 为 buffer pool size 的 25%。
#innodb_log_file_size = 100M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# 如果你对 SQL 不熟悉,移除下一个注释符。
#safe-updates
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout