首页 > 数据库 >一. 预装MySQL前的准备

一. 预装MySQL前的准备

时间:2022-12-01 11:11:38浏览次数:52  
标签:kernel -- 预装 pid mysqld 准备 MySQL hugepage transparent

1. 硬件标准化

帮助公司和运维团队,选择最合适MySQL数据库运行的服务器硬件,从品牌、CPU、MEM、IO设备、网络设 备、存储设备等各个层次进行合理建议.
而不是上采购人员、商务人员或根本不懂数据库的人员制定服务器标 准。杜绝类似:内存小了、磁盘没法用、不符合最低3-5年扩展性硬件等此类问题出现

配置要求

建议值: CPU:MEN 1:2+的比例
低配: 8C 32G
标配: 16C 64G
高配: 64c 512G
单台机器连接数达到2500~3000的连接数已经是上限了

2. 标准化操作系统及硬件参数

关闭NUMA(针对这种具有自己的内存管理机制的软件)

第一种方式: 在系统层面(如果是云服务器就用这种方法)

a. bios级别: 在bios层面numa关闭时,无论os层面的numa是否打开,都不会影响性能。
numactl --hardware 
available: 1 nodes (0)       #如果是2或多个nodes就说明numa没关掉
b. OS grub级别: 
vi /boot/grub2/grub.cfg 

img

第二种方式:在bios层面(最建议的方式)

img

第三种方式: 数据库层面

mysql> show variables like '%numa%'; 
+------------------------+-------+ 
| Variable_name          | Value |
+------------------------+-------+ 
| innodb_numa_interleave | OFF   | 
+------------------------+-------+
或者: 
vi /etc/init.d/mysqld 
找到如下行
# Give extra arguments to mysqld with the my.cnf file. This script may be overwritten at next upgrade. 
$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?
将$bindir/mysqld_safe --datadir="$datadir"这一行修改为:
/usr/bin/numactl --interleave all $bindir/mysqld_safe --datadir="$datadir" --pidfile="$mysqld_pid_file_path" $other_args >/dev/null & wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?

开启CPU高性能模式

跑应用的这些服务器建议都开启
img
img

关闭THP

也是针对这种自己有内存管理机制的软件,都建议关闭

vi /etc/rc.local 
在文件末尾添加如下指令: 
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
	echo never > /sys/kernel/mm/transparent_hugepage/enabled 
fi 
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
	echo never > /sys/kernel/mm/transparent_hugepage/defrag 
fi
chmod +x /etc/rc.local
[root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabled 
always madvise [never] 
[root@master ~]# cat  /sys/kernel/mm/transparent_hugepage/defrag 
always madvise [never]

网卡绑定

bonding技术,业务数据库服务器都要配置bonding。建议是主备模式。 交换机一定要堆叠

系统层面参数优

a. 更改文件句柄和进程数 
内核优化 /etc/sysctl.conf 
vm.swappiness = 5(也可以设置为0) 
vm.dirty_ratio = 20 
vm.dirty_background_ratio = 10
=======以上3个参数比较重要=============
net.ipv4.tcp_max_syn_backlog = 819200 
net.core.netdev_max_backlog = 400000 
net.core.somaxconn = 4096 
net.ipv4.tcp_tw_reuse=1 
net.ipv4.tcp_tw_recycle=0

vm.swappiness = 5 当物理内存使用的还剩5%,就启用swap
=====刷脏页的频率=========
这个比例是针对pci-e的固态盘
vm.dirty_ratio = 20 
vm.dirty_background_ratio = 10
如果是机械盘就需要调大


c. 文件系统优化 推荐使用XFS文件系统 
MySQL数据分区独立 ,例如挂载点为: /data 
mount参数 defaults, noatime, nodiratime, nobarrier 
如/etc/fstab: /dev/sdb /data                   xfs     defaults,noatime,nodiratime,nobarrier        1 2


d io调度
SAS : deadline 
SSD&PCI-E: noop
vi /boot/grub/grub.conf
更改到如下内容: 
kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/ elevator=deadline rhgb quiet

标签:kernel,--,预装,pid,mysqld,准备,MySQL,hugepage,transparent
From: https://www.cnblogs.com/yufenchi/p/16940790.html

相关文章

  • 记录mysql服务突然不能启动,报错:windows无法启动MYSQL服务(位于本地计算机)错误1067进程
    发生这个问题的背景:在删除一些不用的数据库,然后点别的库突然报一些之前写sql时的错误,然后我就把mysql服务关了,当再点击启动时就报下边这个错了。又试了重启电脑仍然没有......
  • 1+N环境-分布式数据库mysql8系列故障重启问题处理
    1、背景多个业务连接异常,navicat连接数据库不稳定,连接进入数据库后也会出现卡死的,连接失败的报错2、问题分析2.1 问题描述:navicat、服务器中连接数据库均复现业务报告......
  • 1+N环境MySQL8.0.29/30版本BUG处理措施
    背景:前期安全漏扫后,1+N环境中部分MySQL8.0数据库由低版本通过upgrade方式升级到8.0.29版本,后又升级到8.0.30版本。此版本的upgrade升级方式,在执行altertableaddcolmun......
  • MySQL进阶实战7,查询的执行过程
    一、拆分查询将大查询拆分成小查询,每个查询功能完全一样,只是一小部分,每次只返回一小部分查询结果。比如在删除旧数据的时候,如果用一个大的语句一次性删的话,则可能需要一次性......
  • 【MySQL】Federated引擎与Federated Server访问远程数据
    文中使用的MySQL版本为5.6。之前我们有讲过在Oracle数据库中关于远程数据库的访问可以使用DBLinked来实现,那在MySQL中是否也存在类似的方式呢?答案是肯定的,在MySQL中若想访问......
  • MySQL进阶实战5,为什么查询速度会慢
    一、先了解一下MySQL查询的执行过程MySQL在查询时,它是由很多子任务组成的,每个子任务都会消耗一定的时间,如果要想优化查询,实际上要优化其子任务,可以消除一些子任务、减少子......
  • mysql
    MySQL教程mysqlMySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。......
  • IIS报错:未能加载文件或程序集MySql.ConnectorInstaller, Version=8.0.8.0, Culture=ne
    删除machine.config中相关配置<siteMap><providers><addname="MySqlSiteMapProvider"type="MySql.Web.SiteMap.MySqlSiteMapProvider,MySql.ConnectorInstal......
  • 肖sir__mysql__插入时间
    createtablet1( idint(11)NOTNULLAUTO_INCREMENTPRIMARYKEY, d1_datadate, d2_timetime, d3_datatimedatetime, d4_yearyear, d5_timestampTIMESTAMP);INS......
  • MySQL补充知识及索引
    昨日内容回顾多表查询的关键字innerjoin...on...leftjoin...on....rightjoin...on...SQL关键字补充concat/concat_ws/add/change/modify多表查询实操方式......