sql>show global variables like 'innodb_buffer_pool_size'
sql>show global status like 'Innodb_buffer_pool_pages_data'
sql>show global status like 'Innodb_page_size'
有的参数对应不同引擎,比如对于innodb引擎的,都是innodb_打头。
例如:
innodb_buffer_pool_size = 81920M
join_buffer_size = 1024M
innodb_sort_buffer_size =1024M
sort_buffer_size = 2048M
read_rnd_buffer_size = 2048M
innodb_log_buffer_size = 128M
innodb_log_file_size =2048M
innodb_log_files_in_group=10
bulk_insert_buffer_size=4096M
myisam_sort_buffer_size = 512M
myisam_max_sort_file_size = 10G
thread_cache_size = 300
ft_min_word_len = 1 #for chinese full text search
query_cache_size = 512M
query_cache_limit = 4M
query_cache_type = 0
query_cache_min_res_unit = 2k
thread_stack = 512K
tmp_table_size = 3G
max_heap_table_size = 3G
long_query_time = 3
log-slave-updates
max_binlog_cache_size = 8M
调优参考计算方法:
val = Innodb_buffer_pool_pages_data / Innodb_buffer_pool_pages_total * 100%
val >95% 则考虑增大 innodb_buffer_pool_size, 建议使用物理内存的75%
val <95% 则考虑减小 innodb_buffer_pool_size, 建议设置为:Innodb_buffer_pool_pages_data * Innodb_page_size * 1.05 / (1024*1024*1024)
设置命令:set global innodb_buffer_pool_size = 2097152//缓冲池字节大小,单位kb,如果不设置,默认为128M
设置要根据自己的实际情况来设置,如果设置的值不在合理的范围内,并不是设置越大越好,可能设置的数值太大体现不出优化效果,反而造成系统的swap空间被占用,导致 *** 作系统变慢,降低sql查询性能。
修改配置文件的调整方法,修改my.cnf配置:
innodb_buffer_pool_size = 2147483648 #设置2G
innodb_buffer_pool_size = 2G #设置2G
innodb_buffer_pool_size = 500M #设置500M
MySQL5.7及以后版本,改参数时动态的,修改后,无需重启MySQL,但是低版本,静态的,修改后,需要重启MySQL。
好歹也要1个G的内存吧……512内存够干嘛呢……
连2000块的台式机都不如啊……
再简单的服务器也是服务器啊……
服务器很容易伤不起啊……
随便搞搞lamp,或者装装iis,哪个不要2、3个G?
硬盘空间再大,没啥用的,亲……
因为关键的运算是跑CPU的,复杂的逻辑是跑内存的,硬盘就是个快递搬运工。
我猛然发现,你是50个G的数据库……
天哪。你不得不最少要1个G了。
要不然做一次查询,就够你抽两支烟了。
mysql-5.5就可以了。
#安装依赖包yum install -y libaio-devel
#创建用户
useradd -s /sbin/nologin mysql
#创建数据目录
mkdir -p /data/mysql
#赋予权限
chown -R mysql:mysql /data/mysql
#解压
tar zxvf mysql-5.5.42-linux2.6-x86_64.tar.gz
#移动到指定目录
mv mysql-5.5.42-linux2.6-x86_64 /usr/local/mysql
#因为系统有一个默认my.cnf,咱们给它改下名字
mv /etc/my.cnf /etc/my.cnf.default
#复制我们需要的my.cnf到指定目录
cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
#在support-files目录下有几个cnf,根据内存大小来选择
my-small.cnf (内存<=64M)
my-medium.cnf (内存128M)
my-large.cnf (内存512M)
my-huge.cnf (内存1G-2G)
my-innodb-heavy-4G.cnf (内存4GB)
#编辑我们复制过去的my.cnf,并且在[mysqld]的下一行那里插入以下内容
vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
character-set-server=utf8
#添加环境变量,在末尾插入以下内容
vi /etc/profile
PATH=/usr/local/mysql/bin:$PATH
export PATH
#让刚才的修改生效
source /etc/profile
#复制启动脚本到指定目录
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#准备工作都做完了,开始初始化数据库
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql
#启动数据库
service mysqld start
#开机启动
chkconfig mysqld on
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)