一. 初始化选项文件(参数文件,配置文件) my.cnf
存放位置(unix/linux)平台:
/etc/my.cnf
/etc/mysqld/my.cnf
Sysconfdir/my.cnf:通过cmake编译源码时指定的sysconfdir参数指定的路径
$MYSQL_HOME/my.cnf:到MYSQL_HOME环境变量所处的路径
~./my.cnf:在当前用户根目录下寻找
参数文件可以放在任意位置,甚至文件名,扩展名也可更改,只是mysql命令行默认只会到指定路径读取参数文件。所以需要启动时手工指定参数文件的位置:
Defaults-file:从本参数指定的文件中读取
Defaults-extra-file:在加载其他方式指定的选项后,再读取本参数指定的文件中的选项
Mysql的参数除了在启动的时候指定,有一部分也可以在mysql服务运行过程中在线修改,可选两个作用域,当前会话或全局有效。但是不管哪个作用域,如果没有同步my.cnf的内容的话,mysql服务一旦重启,运行过程中所做的修改就会自动撤销。类似于oracle的pfile。
[mysql@mysql my3306]$ cat my.cnf
[client]
port=3306
socket=/u01/my3306/mysql.sock
[mysql]
pid_file=/u01/my3306/run/mysqld.pid
[mysqld]
autocommit=1
general_log=off
explicit_defaults_for_timestamp=true
# system
basedir=/u01/my3306
datadir=/u01/my3306/data
max_allowed_packet=1g
max_connections=3000
max_user_connections=2800
open_files_limit=65535
pid_file=/u01/my3306/run/mysqld.pid
port=3306
server_id=101
skip_name_resolve=ON
socket=/u01/my3306/run/mysql.sock
tmpdir=/u01/my3306/tmp
secure_file_priv=''
#binlog
log_bin=/u01/my3306/log/binlog/binlog
binlog_cache_size=32768
binlog_format=row
expire_logs_days=7
log_slave_updates=ON
max_binlog_cache_size=2147483648
max_binlog_size=524288000
sync_binlog=100
#logging
log_error=/u01/my3306/log/error.log
slow_query_log_file=/u01/my3306/log/slow.log
log_queries_not_using_indexes=0
slow_query_log=1
log_slave_updates=ON
log_slow_admin_statements=1
long_query_time=1
#relay
relay_log=/u01/my3306/log/relaylog
relay_log_index=/u01/my3306/log/relay.index
relay_log_info_file=/u01/my3306/log/relay-log.info
#slave
slave_load_tmpdir=/u01/my3306/tmp
slave_skip_errors=OFF
#innodb
innodb_data_home_dir=/u01/my3306/log/iblog
innodb_log_group_home_dir=/u01/my3306/log/iblog
innodb_adaptive_flushing=ON
innodb_adaptive_hash_index=ON
innodb_autoinc_lock_mode=1
innodb_buffer_pool_instances=8
#default
innodb_change_buffering=inserts
innodb_checksums=ON
innodb_buffer_pool_size= 128M
innodb_data_file_path=ibdata1:32M;ibdata2:16M:autoextend
innodb_doublewrite=ON
innodb_file_format=Barracuda
innodb_file_per_table=ON
innodb_flush_log_at_trx_commit=1
innodb_flush_method=O_DIRECT
innodb_io_capacity=1000
innodb_lock_wait_timeout=10
innodb_log_buffer_size=67108864
innodb_log_file_size=1048576000
innodb_log_files_in_group=4
innodb_max_dirty_pages_pct=60
innodb_open_files=60000
innodb_purge_threads=1
innodb_read_io_threads=4
innodb_stats_on_metadata=OFF
innodb_support_xa=ON
innodb_use_native_aio=OFF
innodb_write_io_threads=10
[mysqld_safe]
[mysqldump]
user=root
password=mysqld