Vagrant: Enable InnoDB
NOTE that if your VM is already provisioned you have to remove the MySQL ib_logfiles before reprovisioning, i.e. $ rm /var/lib/mysql/ib_logfile* refs #4460
This commit is contained in:
parent
f2c6a66de7
commit
f47747255e
|
@ -27,4 +27,10 @@ class mysql {
|
|||
ensure => running,
|
||||
require => Package['mysql-server']
|
||||
}
|
||||
|
||||
file { '/etc/my.cnf':
|
||||
content => template('mysql/my.cnf.erb'),
|
||||
require => Package['mysql-server'],
|
||||
notify => Service['mysqld']
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,133 @@
|
|||
[mysqld]
|
||||
datadir=/var/lib/mysql
|
||||
socket=/var/lib/mysql/mysql.sock
|
||||
user=mysql
|
||||
# Disabling symbolic-links is recommended to prevent assorted security risks
|
||||
symbolic-links=0
|
||||
|
||||
# This permits the application to give the threads system a hint for the
|
||||
# desired number of threads that should be run at the same time. This
|
||||
# value only makes sense on systems that support the thread_concurrency()
|
||||
# function call (Sun Solaris, for example).
|
||||
# You should try [number of CPUs]*(2..4) for thread_concurrency
|
||||
thread_concurrency = 8
|
||||
|
||||
# The number of open tables for all threads. Increasing this value
|
||||
# increases the number of file descriptors that mysqld requires.
|
||||
# Therefore you have to make sure to set the amount of open files
|
||||
# allowed to at least thread_concurrency * table_open_cache in the variable "open-files-limit" in
|
||||
# section [mysqld_safe]
|
||||
table_open_cache = 256
|
||||
|
||||
# Size of the buffer used for doing full table scans.
|
||||
# Allocated per thread, if a full scan is needed.
|
||||
read_buffer_size = 1M
|
||||
|
||||
# When reading rows in sorted order after a sort, the rows are read
|
||||
# through this buffer to avoid disk seeks. You can improve ORDER BY
|
||||
# performance a lot, if set this to a high value.
|
||||
# Allocated per thread, when needed.
|
||||
read_rnd_buffer_size = 4M
|
||||
|
||||
# Sort buffer is used to perform sorts for some ORDER BY and GROUP BY
|
||||
# queries. If sorted data does not fit into the sort buffer, a disk
|
||||
# based merge sort is used instead - See the "Sort_merge_passes"
|
||||
# status variable. Allocated per thread if sort is needed.
|
||||
sort_buffer_size = 1M
|
||||
|
||||
# The maximum size of a query packet the server can handle as well as
|
||||
# maximum query size server can process (Important when working with
|
||||
# large BLOBs). enlarged dynamically, for each connection.
|
||||
max_allowed_packet = 16M
|
||||
|
||||
# Query cache is used to cache SELECT results and later return them
|
||||
# without actual executing the same query once again. Having the query
|
||||
# cache enabled may result in significant speed improvements, if your
|
||||
# have a lot of identical queries and rarely changing tables. See the
|
||||
# "Qcache_lowmem_prunes" status variable to check if the current value
|
||||
# is high enough for your load.
|
||||
# Note: In case your tables change very often or if your queries are
|
||||
# textually different every time, the query cache may result in a
|
||||
# slowdown instead of a performance improvement.
|
||||
query_cache_size = 16M
|
||||
|
||||
# *** INNODB Specific options ***
|
||||
|
||||
innodb_data_home_dir = /var/lib/mysql
|
||||
|
||||
# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
|
||||
# row data. The bigger you set this the less disk I/O is needed to
|
||||
# access data in tables. On a dedicated database server you may set this
|
||||
# parameter up to 80% of the machine physical memory size. Do not set it
|
||||
# too large, though, because competition of the physical memory may
|
||||
# cause paging in the operating system. Note that on 32bit systems you
|
||||
# might be limited to 2-3.5G of user level memory per process, so do not
|
||||
# set it too high.
|
||||
innodb_buffer_pool_size = 256M
|
||||
|
||||
# InnoDB stores data in one or more data files forming the tablespace.
|
||||
# If you have a single logical drive for your data, a single
|
||||
# autoextending file would be good enough. In other cases, a single file
|
||||
# per device is often a good choice. You can configure InnoDB to use raw
|
||||
# disk partitions as well - please refer to the manual for more info
|
||||
# about this.
|
||||
innodb_data_file_path = ibdata1:10M:autoextend
|
||||
|
||||
# If set to 1, InnoDB will flush (fsync) the transaction logs to the
|
||||
# disk at each commit, which offers full ACID behavior. If you are
|
||||
# willing to compromise this safety, and you are running small
|
||||
# transactions, you may set this to 0 or 2 to reduce disk I/O to the
|
||||
# logs. Value 0 means that the log is only written to the log file and
|
||||
# the log file flushed to disk approximately once per second. Value 2
|
||||
# means the log is written to the log file at each commit, but the log
|
||||
# file is only flushed to disk approximately once per second.
|
||||
innodb_flush_log_at_trx_commit = 2
|
||||
|
||||
# The size of the buffer InnoDB uses for buffering log data. As soon as
|
||||
# it is full, InnoDB will have to flush it to disk. As it is flushed
|
||||
# once per second anyway, it does not make sense to have it very large
|
||||
# (even with long transactions).
|
||||
innodb_log_buffer_size = 8M
|
||||
|
||||
# Total number of files in the log group. A value of 2-3 is usually good
|
||||
# enough.
|
||||
innodb_log_files_in_group = 3
|
||||
|
||||
# The flush method InnoDB will use for Log. The tablespace always uses
|
||||
# doublewrite flush logic. The default value is "fdatasync", another
|
||||
# option is "O_DSYNC".
|
||||
innodb_flush_method = O_DIRECT
|
||||
|
||||
innodb_support_xa = 0
|
||||
innodb_file_per_table
|
||||
# 25 % of buffer pool size
|
||||
innodb_log_file_size = 64M
|
||||
|
||||
[mysqld_safe]
|
||||
log-error=/var/log/mysqld.log
|
||||
pid-file=/var/run/mysqld/mysqld.pid
|
||||
|
||||
# Increase the amount of open files allowed per process. Warning: Make
|
||||
# sure you have set the global system limit high enough! The high value
|
||||
# is required for a large number of opened tables
|
||||
open-files-limit = 2048
|
||||
|
||||
[mysqldump]
|
||||
# Do not buffer the whole result set in memory before writing it to
|
||||
# file. Required for dumping very large tables
|
||||
quick
|
||||
max_allowed_packet = 16M
|
||||
|
||||
[mysql]
|
||||
no-auto-rehash
|
||||
|
||||
[myisamchk]
|
||||
key_buffer_size = 128M
|
||||
sort_buffer_size = 128M
|
||||
read_buffer = 2M
|
||||
write_buffer = 2M
|
||||
|
||||
[mysqlhotcopy]
|
||||
interactive-timeout
|
||||
|
||||
|
Loading…
Reference in New Issue