(0.2.1)mysql数据库环境-操作系统配置
目录
1、基于Linux平台的Mysql项目场景介绍
2、mysql数据库运行环境准备-最优配置
2.1、如何查看官方文档了解环境要求
2.2、安装虚拟机环境与操作系统
2.3、操作系统最优配置9大步骤
(1)主机名(hosts文件)
(2)配置英文环境
(3)修改资源限制参数(用户创建进程数、进程打开文件次数、存放变量的堆指针数,进程数限制)
(4)设置系统安全策略(linux安全认证关闭,防火墙关闭,控制资源分配限制)
(5)关闭NUMA功能(vi /etc/grub.conf )
(6)IO调度算法与IO优化
【1】IO调度算法: /sys/block/sd*/queue/scheduler
【2】IO预读:/sys/block/sd*/queue/read_ahead_kb
【3】IO队列:/sys/block/sd*/queue/nr_requests
(7)虚拟内存与保留内存
2.4、操作系统YUM环境配置
2.5、Mysql所需磁盘与分区最规范的配置
3、如何下载mysql数据库
4、linux平台下二进制文件方式安装mysql
5、Linux平台下通过源码方式安装mysql
6、Linux平台下通过yum方式安装mysql
7、Linux平台下通过RPM方式安装mysql
8、mysql安装后的配置与运行参数设置
9、mysql安装后的测试与远程连接
10、mysql基本管理命令
11、Linux平台如何卸载mysql版本
2、mysql数据库运行环境准备-最优配置
2.1、如何查看官方文档了解环境要求
https://www.mysql.com/support/supportedplatforms/database.html
2.2、安装虚拟机环境与操作系统
redhat linux as 6/7,oracle linux 6/7,centos 6/7
2.3、操作系统最优配置9大步骤
(1)主机名(hosts文件)
【1】hostname new_hostname #直接修改本地主机名
【2】vi /etc/sysconfig/network #修改网络上的主机名
把hostname= 改成如上图我们设置的新名称
【3】vi /etc/hosts #修改hosts文件,达到本机的网络主机名与本机IP地址映射
这一步也可以 echo "192.168.1.121 db1" >> /etc/hosts
(2)配置英文环境
echo "export LANG=en_US" >> ~/.bash_profile
(3)修改资源限制参数
vi /etc/security/limits.conf nproc:用户创建进程数限制 建议65535 nofile:进程打开文件次数限制 建议65535 stack:存放变量的指针 建议65535 软硬限制(soft/hard,软限制到了阈值会警告,硬限制则就是不能再继续做了),*代表所有用户
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
* soft stack 65535
* hard stack 65535
--可以通过以下代码去检验
ulimit -a
#进程数限制,默认有限制,默认清空 echo "* - nproc 65535" > /etc/security/limits.d/90-nproc.conf
(4)设置系统安全策略
(4.1)SELinux(linux安全认证的一个东西)
vi /etc/selinux/config 把参数设置为 SELINUX=disable
echo "SELINUX=disable" >> /etc/selinux/config
cat /etc/selinux/config
setenforce 0 #刷新生效
(4.2)关防火墙
#公网,建议要开防火墙iptables,设置比较合理的安全规则,限制外网访问。
service iptables stop #关闭防火墙
chkconfig --level 2345 iptables off #开启启动关闭
(4.3)控制资源分配限制
echo "session required pam_limits.so" >> /etc/pam.d/login
cat /etc/pam.d/login
(5)关闭NUMA功能(避免内存平均分配到CPU,这对数据库DB是不好的)
(5.1)修改内核参数达到目的
numastat #查看
vi /etc/grub.conf 设置 numa=off
查看每个节点的分配情况
【1】numastat 【2】numactl --show
然后重启生效,reboot
(注意,要写在内核后)
(6)IO调度算法与IO优化(全是单次生效)
一共4种,默认是CFQ(完全随机访问,相对来说这种算法对于mysql来说不是很好,会造成小IO的延时增加,msql官网建议算法换成deadline算法,这种IO比较稳定)。
(6.1)查看默认调度算法:cat /sys/block/sd*/queue/scheduler
--如果是sas/stat使用如下
(6.2)修改默认调度算法:echo 'deadline' > /sys/block/sd*/queue/scheduler
如果是ssd使用如下
(6.2)修改默认调度算法:echo 'NOOP' > /sys/block/sd*/queue/scheduler
(改好后如下)
减少IO的预读和队列
(6.3)队列与预读:
cat /sys/block/sd*/queue/read_ahead_kb #查看预读
echo '16' > /sys/block/sd*/queue/read_ahead_kb #减少预读 (默认128)
cat /sys/block/sd*/queue/nr_requests #查看队列数
echo '512' > /sys/block/sd*/queue/nr_requests #增大队列 (默认128)
(查看单个磁盘)
(查看全部磁盘)
(6.3)队列数设置重启生效:修改这个文件 vi /etc/rc.local (把上面的队列与预读代码加上来)
echo '' > /sys/block/sdb/queue/nr_requests
echo '' > /sys/block/sdc/queue/nr_requests
(7)虚拟内存与保留内存
(7.1)配置文件:vi /etc/sysctl.conf
虚拟内存参数:(设置物理内存低于10%的时候,才做页面交换使用虚拟内存)
vm.swappiness = 10
保留内存参数(即保留给操作系统使用):
vm.min_free_kbytes=51200 --给操作系统预留50M,建议测试环境
vm.min_free_kbytes=512000 --给操作系统预留500M,建议给生成环境
(7.2)设置生效: sysctl -p #看,我们刚设置的2行就出来了
2.4、操作系统YUM环境配置
(1)挂载光驱--下次重启还需要重新手工挂载否则用不了,除非使用(如果想重启后快速挂载,修改 /etc/fstab 配置加载文件,详情见挂载与文件系统命令4.4)
mount /dev/cdrom /mnt
(2)构造yum源文件
cd /etc/yum.repos.d #进入yum源目录
mkdir bk #构建备份目录
mv *.repo bk/ #把现有的配置文件移动到刚新建的bk目录下面去
vi itpux.repo
(3)修改文件
[OEL6]
name=linux6.9
baseurl=file:///mnt
gpgcheck=0
enabled=1
分析释义:-------- name:名称 baseurl:yum源路径 gpgcheck:是否验证加密与签名 enabled:是否启用yum源
(4)测试验证yum源
yum list
2.5、Mysql所需磁盘与分区最规范的配置
(1)磁盘目录
安装目录:/mysql/app
数据目录:/mysql/data
日志目录:/mysql/log
备份目录:/mysql/backup
(2)文件系统,使用LVM,最好使用 raid10(LVM操作使用)
然后给root目录、根目录,以及上面几个目录分别给分区
#参考代码 #创建PV
pvcreate /dev/sdb /dev/sdc #创建VG
vgcreate mysqlvg /dev/sdb
vgcreate bakvg /dev/sdc #创建LV
lvcreate -n mysqllv -L 10G mysqlvg
lvcreate -n datalv -L 20G mysqlvg
lvcreate -n loglv -L 20G mysqlvg
lvcreate -n baklv -L 50G bakvg #格式化
mkfs.ext4 /dev/mysqlvg/mysqllv
mkfs.ext4 /dev/mysqlvg/datalv
mkfs.ext4 /dev/mysqlvg/loglv
mkfs.ext4 /dev/bakvg/baklv #建立目录
mkdir -p /mysql/app
mkdir -p /mysql/data
mkdir -p /mysql/log
mkdir -p /mysql/backup #挂载
mount /dev/mysqlvg/mysqllv /mysql/app
mount /dev/mysqlvg/datalv /mysql/data
mount /dev/mysqlvg/loglv /mysql/log
mount /dev/bakvg/baklv /mysql/backup
#df -h 查看结果 #修改 /etc/fstab 以便可以重启自动挂载
/dev/mysqlvg/mysqllv /mysql/app ext4 defaults
/dev/mysqlvg/datalv /mysql/data ext4 defaults
/dev/mysqlvg/loglv /mysql/log ext4 defaults
/dev/bakvg/backuplv /mysql/backup ext4 defauls #reboot 查看效果
相关参考:https://www.cnblogs.com/zhouwanchun/p/11191312.html
(0.2.1)mysql数据库环境-操作系统配置的更多相关文章
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库——操作系统配置,安装必备软件
注意未经说明,所有本文中所有操作都默认需要作为root用户进行操作. 一.安装zmodem,用于远程上传下载文件,安装gedit,方便重定向到远程windows上编辑文件(通过xlanuch) [ro ...
- Linux下Zabbix5.0 LTS添加MySQL监控,实现邮件报警并执行预处理操作
依据前文:Linux下Zabbix5.0 LTS监控基础原理及安装部署(图文教程) 环境,继续添加MySQL应用集. 第一部分:添加Zabbix自带的MySQL应用集. 在ZabbixClient-0 ...
- Spring整合Quartz定时任务 在集群、分布式系统中的应用(Mysql数据库环境)
Spring整合Quartz定时任务 在集群.分布式系统中的应用(Mysql数据库环境) 转载:http://www.cnblogs.com/jiafuwei/p/6145280.html 单个Q ...
- MySQL误操作后如何快速恢复数据
基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了.假如这还是线上环境核心业务数据,那这事就闹大了 ...
- MYSQL基础操作
MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...
- PHP mysql基础操作
mysql连接操作 //建立连接$con = mysql_connect('localhost', 'root', '123456');//判断是否连接成功if($con){ die('连接失败!'. ...
- 笔记--MySQL相关操作
一 登录数据库 1 用户无密码: mysql -uroot -p mysql-> 2 用户有密码: MySQL -root -p[passwd] mysql-> 二 创建数据库: 查询 ...
- 学会使用简单的 MySQL 常用操作
一.MySQL 数据库的基本安装 # yum 安装 mysql 版本:5.1.73 [root@mysql ~]# yum install -y mysql-server mysql # 启动 MyS ...
- web进阶之jQuery操作DOM元素&&MySQL记录操作&&PHP面向对象学习笔记
hi 保持学习数量和质量 1.jQuery操作DOM元素 ----使用attr()方法控制元素的属性 attr()方法的作用是设置或者返回元素的属性,其中attr(属性名)格式是获取元素属性名的值,a ...
随机推荐
- 幸好会java
转做android的可能性又往前增加了一分.
- bash的使用技巧
- devicetree -- SPI
SPI (Serial Peripheral Interface) busses SPI busses can be described with a node for the SPI master ...
- Am335x 应用层之SPI操作
SPI接口有四种不同的数据传输时序,取决于CPOL和CPHL这两位的组合.图1中表现了这四种时序, 时序与CPOL.CPHL的关系也可以从图中看出. 图1 CPOL是用来决定SCK时钟信号空闲时的电平 ...
- C51寄存器详解(Reg51.h)
Reg51.h 这个头文件将C程序中能用到的寄存器名或寄存器中某位的名称与硬件地址值做了对应,在程序中直接写出这些名称,集成开发环境就能识别,并最终转换成机器代码,实现对单片机各硬件资源的准确操控. ...
- IOS让返回按钮显示自定义标题而不是上个ViewController的title
在开发IOS的时候发现当从一个ViewController跳转到另一个ViewController时,被跳转到的那个ViewController的返回按钮总是显示的是上个ViewController的 ...
- 第二百六十一节,Tornado框架模板引擎本质
Tornado框架模板引擎本质 只需要了解一下即可 本篇就来详细的剖析模板处理的整个过程. 上图是返回给用户一个html文件的整个流程,较之前的Demo多了绿色流线的步骤,其实就是把[self.wri ...
- 应用于Java中的一个开源的表达式语言(Expression Language)
OGNL(英文全称:Object Graph Navigation Language,中文名:对象导航图语言)是应用于Java中的一个开源的表达式语言(Expression Language),它被集 ...
- React 创建自己定义控件
React是Facebook的内部项目,当时facebook对自己市面上全部的javascript MVC都不惬意,于是就自己创建了一个新的框架.发现还挺好用.于是就开源了,这就是React. Rea ...
- centos配置ssh免密码登录后,仍提示输入密码
配置SSH无密码登录需要3步: 1.生成公钥和私钥 2.导入公钥到认证文件,更改权限 3.测试 1.生成公钥和私钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 默 ...