千家信息网

How to install MySQL 5.7 on CentOS 7.3

发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,基于centos 7的mysql 5.7自动化安装,这里顺便说一下my.cnf里的一些定义的参数比如下面两个innodb_buffer_pool_dump_at_shutdown=1 #关闭时把热数据
千家信息网最后更新 2025年11月14日How to install MySQL 5.7 on CentOS 7.3
基于centos 7的mysql 5.7自动化安装,这里顺便说一下my.cnf里的一些定义的参数比如下面两个innodb_buffer_pool_dump_at_shutdown=1 #关闭时把热数据dump到本地磁盘innodb_buffer_pool_load_at_startup=1  #启动时把热数据加载到内存因为mysql重启时候会面临一个问题,就是如何将之前频繁访问的数据重新加载回Buffer中,也就是说如何对InnoDB Buffer Pool进行预热来快速恢复之前的性能状态。增加了undo log的自定义目录,因为把undo log从共享表空间ibdata1里拆分出去的话,需要在my.cnf里提前指定好,不然等数据库启动好后再指定会报错。innodb_undo_log_truncate=1 #开启在线回收innodb_max_undo_los_size=1G #这个就是阈值(默认是1GB)时,会触发truncate回收动作。然后说一下,下面这个配置innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G因为ibtmp1文件是 MySQL5.7的新特性,MySQL5.7使用了独立的临时表空间来存储临时表数据,初始化12M,且默认无上限,我这里设定了最高不能超过5g,释放这个临时表空间唯一的办法就是启数据库。innodb_read_io_threads, innodb_write_io_threads: 文件读写的 I/O 线程数可根据并发量和 CPU 核心数适当调整也不要再去纠结query_cache_size和query_cache_type这两个参数了,这对于mysql来说就是鸡肋而且默认就是关闭的,建议采用默认值,也就是设置为0,关闭Redo logs 记录了所有的数据变更恢复时间不再是一个问题innodb_log_file_size = 2047M before 5.6innodb_log_file_size>= 2047M from 5.6  So ... 越大系统性能更稳定这个大家应该都知道innodb_buffer_pool_size你懂的,自己物理内存大小的50~70%最后还有一点,新版的mysql默认监听在IPv6上,记得关闭掉它bind-address=0.0.0.0当mysql 数据库发生死锁时, innodb status 里面会记录最后一次死锁的相关信息,但mysql 错误日志里面不会记录死锁相关信息,要想记录,启动 innodb_print_all_deadlocks  参数 。当系统并发很高时,很多的线程等待同一个行锁,死锁检测可能会拖慢系统,这个时候关闭死锁检测可能更好innodb_print_all_deadlocks = 1最后说一句:MySQL默认的隔离级别不适合大部分的应用场景,而且容易发生死锁,所以我这里改成了read-committed好了,最后就是安装步骤了,其实都已经脚本化了。mkdir -p /home/toolscd /home/toolsyum -y install numactl libaiowget http://god.nongdingbang.net/downloads/mysql-5.7-el7.tgz && tar zxvf mysql-5.7-el7.tgzif [ $? -eq 0 ];thenrpm -Uvh mysql*.rpmfimkdir -p /data/{mysql_data,mysql_log,mysql_slow,mysql_undo}chown -R mysql.mysql /data/*cat >/etc/my.cnf<


0