在类 UNIX 系统中,配置文件的位置一般在 /etc/my.conf 或者 /etc/mysql/my.conf 中
配置项设置都使用小写,单词之间用下划线或横线隔开
[mysqld]
#GENERAl
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid_file=/var/lib/mysql/mysql.pid
user=mysql
port = 3306
default_storage_engine=InnoDB
#INNODB
innodb_buffer_pool_size=<value>
innodb_log_file_size=<value>
innodb_file_per_table=1
innodb_flush_method=0_DIRECT
#LOGGING
log_error=/var/lib/mysql/mysql-error.log
slow_query_log=/var/lib/mysql/mysql-slow.log
#OTHER
tmp_table_size=32M
max_heap_table_size=32M
max_connections=<value>
open_files_limit=65535
socket=/var/lib/mysql/mysql.sock
# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin
# binary logging format - mixed recommended
binlog_format=mixed
# 数据库命令行界面输入
show variables like '%max_connections%';
如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。
选择固态硬盘,传统机械硬盘就像是一个旋转的传送带,当我们每次访问磁盘的一个块时,磁臂就需要移动到正确的磁道上(这段时间就是为寻址时间),然后盘片就需旋转到正确的扇区上(这就是旋转时延).这套动作需要时间,这段时间就是我们在访问磁盘时会产生的时间.
使用linux系统,相比之下比Windows系统减少了很多不必要的内存堆积
使用密集型CPU,处理核数越多越好
从内存当中读取数据一定比使用I/O从磁盘中读取要快的多,所以能够将数据读取到内存当中进行处理,速度一定会更快,但是最大值是当磁盘内存数据量和运行内存数据量相等时,磁盘内存就失去意义了.所以需要平衡好这两者之间的关系
RAID(Redundant Array of Independent Disk ):独立冗余磁盘阵列
DAS存储一般应用在中小企业,与计算机采用直连方式,SAN存储使用FC接口,供性能更佳的存储,NAS存储则通过以太网添加到计算机上,SAN和NAS的区别主要体现在操作系统在什么位置。
基于语句的复制,即master上执行的SQL语句原封不动的在slave上重放。该复制格式在MySQL 3.23即出现了。
基于行的复制,MySQL5.1引入的,相对于SBR,它记录的是DML操作涉及到的行。
MIXED是上述两者的的结合,会根据执行的语句和涉及的存储引擎自动在这两种模式间切换。默认情况下,采用的是基于语句的复制模式,在遇到unsafe statements时,会切换为基于行的复制模式