目录

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数据库环境-操作系统配置的更多相关文章

  1. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库——操作系统配置,安装必备软件

    注意未经说明,所有本文中所有操作都默认需要作为root用户进行操作. 一.安装zmodem,用于远程上传下载文件,安装gedit,方便重定向到远程windows上编辑文件(通过xlanuch) [ro ...

  2. Linux下Zabbix5.0 LTS添加MySQL监控,实现邮件报警并执行预处理操作

    依据前文:Linux下Zabbix5.0 LTS监控基础原理及安装部署(图文教程) 环境,继续添加MySQL应用集. 第一部分:添加Zabbix自带的MySQL应用集. 在ZabbixClient-0 ...

  3. Spring整合Quartz定时任务 在集群、分布式系统中的应用(Mysql数据库环境)

    Spring整合Quartz定时任务 在集群.分布式系统中的应用(Mysql数据库环境)   转载:http://www.cnblogs.com/jiafuwei/p/6145280.html 单个Q ...

  4. MySQL误操作后如何快速恢复数据

    基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了.假如这还是线上环境核心业务数据,那这事就闹大了 ...

  5. MYSQL基础操作

    MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...

  6. PHP mysql基础操作

    mysql连接操作 //建立连接$con = mysql_connect('localhost', 'root', '123456');//判断是否连接成功if($con){ die('连接失败!'. ...

  7. 笔记--MySQL相关操作

    一  登录数据库 1 用户无密码: mysql -uroot -p mysql-> 2 用户有密码: MySQL -root -p[passwd] mysql-> 二  创建数据库: 查询 ...

  8. 学会使用简单的 MySQL 常用操作

    一.MySQL 数据库的基本安装 # yum 安装 mysql 版本:5.1.73 [root@mysql ~]# yum install -y mysql-server mysql # 启动 MyS ...

  9. web进阶之jQuery操作DOM元素&&MySQL记录操作&&PHP面向对象学习笔记

    hi 保持学习数量和质量 1.jQuery操作DOM元素 ----使用attr()方法控制元素的属性 attr()方法的作用是设置或者返回元素的属性,其中attr(属性名)格式是获取元素属性名的值,a ...

随机推荐

  1. Linux(centOS)手动安装删除Apache+MySQL+PHP+Memcached原创无错版

    =================== 第一步:Apache安装 =================== 下载 去 http://www.apache.org 自己找最新的 国内有很多镜像点例如人人和 ...

  2. CLion 2017 注册码

    注册码使用时间2017-2018 CNEKJPQZEX-eyJsaWNlbnNlSWQiOiJDTkVLSlBRWkVYIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNz ...

  3. AD smart pdf 中文丢失

    Altium Designer将原理图通过smart pdf导出,原理图中的中文丢失了. 将原理图中的所有中文字体改为宋体即可. 百度知道上的也有说: 打开软件后,点击左上角的[DXP]→[Prefe ...

  4. ORDER BY 语句用于对结果集进行排序。

    ORDER BY 语句 ORDER BY 语句用于根据指定的列对结果集进行排序. ORDER BY 语句默认按照升序对记录进行排序. 如果您希望按照降序对记录进行排序,可以使用 DESC 关键字.

  5. QQ在线聊天代码获取和使用教程

    在网站上挂上悬浮QQ是一种有效的推广方式,QQ正常情况下是不被允许临时会话的,需要加为好友才可以,这样很不友好, 当今每个行业都是有很多人在做,竞争很激烈,对客户的友好是增加订单的有效途径. 地址:h ...

  6. ES5与ES6的继承

    JavaScript本身是一种神马语言: 提到继承,我们常常会联想到C#.java等面向对象的高级语言(当然还有C++),因为存在类的概念使得这些语言在实际的使用中抽象成为一个对象,即面向对象.Jav ...

  7. uva 11381(神奇的构图、最小费用最大流)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=29821 思路:首先拆点,每个字符对应的位置拆成i和i+len,然后 ...

  8. 转载 -- Cocoapod方式引入百川SDK -报错[!] Unable to find a specification for `xxx`

    [cocopad集成百川sdk官网] iOS需要填写BundleID .BundleID要是当前应用的BundleID.勾选淘宝登录基础包下载SDK. 注意事项:将下载的SDK中的身份图片yw_122 ...

  9. iOS面试题--网络--如何处理多个网络请求的并发的情况

    如何处理多个网络请求的并发的情况 一.概念 1.并发 当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配 ...

  10. web版pdf在线阅读器

    近期论坛里有人提到了,在线pdf阅读器怎么做.我百度了一下,发现非常多人都非常懒.程序猿都非常懒吗? 答案是否定的. 为什么都不愿意去搜索一下呢.网上非常多答案的.我这里就列举一例.大家共勉. 看代码 ...