• ADADADADAD

    mysql学习2:第二章:mysql安装启动和关闭——安装前检查[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:11:00

    作者:文/会员上传

    简介:

    1.1. 下载安装包官方地址:www.mysql.com下载版本:Mysql Community Server,平台Linux-Generic x86-64bit。下载安装包mysql 5.6 mysql5.7下载后进行通过md5校验安装包:md5sum fil

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    1.1. 下载安装包

    官方地址:www.mysql.com

    下载版本:Mysql Community Server,平台Linux-Generic x86-64bit。

    下载安装包mysql 5.6 mysql5.7

    下载后进行通过md5校验安装包:md5sum filename

    2018.11.3当前官网最新版本:

    mysql 5.7.24

    mysql 5.6.42

    版本安装区别:

    mysql 5.7之前版本在数据库初始化过程中需要借助于/usr/local/mysql/scripts/mysql_install_db命令,但在mysql 5.7后mysql_install_db被废弃了。

    1.2. 安装前系统环境检测

    由于书中未制定操作系统平台,这里选用centos7.4_x64。

    [root@localhost ~]# cat /etc/centos-release

    CentOS Linux release 7.4.1708 (Core)

    ip地址设置为192.0.2.10

    1.2.1. 卸载原系统带的MariaDB

    CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包。因为MariaDB和MySQL可能会冲突,故先卸载MariaDB。

    记得一定要先卸载,不然会出现包冲突的问题。

    需要将系统自带的mariadb-lib卸载

    # rpm -qa | grep -i mariadb

    mariadb-5.5.56-2.el7.x86_64

    mariadb-server-5.5.56-2.el7.x86_64

    mariadb-libs-5.5.56-2.el7.x86_64

    [root@localhost ~]# rpm -e --nodeps mariadb

    [root@localhost ~]# rpm -e --nodeps mariadb-server

    [root@localhost ~]# rpm -e --nodeps mariadb-libs

    1.2.2. 关闭selinux、iptables、firewall

    关闭selinux

    /etc/sysconfig/selinux

    关闭iptables

    chkconfig --list|grep iptables

    chkconfig iptables off

    关闭防火墙

    Centos7中防火墙变为了firewall,所以千万不要在使用iptable去关闭了。

    1 查看防火墙状态

    # firewall-cmd --state

    running

    2 果然是运行的,于是就想disabled防火墙服务

    # systemctl mask firewalld

    ln -s '/dev/null' '/etc/systemd/system/firewalld.service'

    3 然后关闭防火墙

    # systemctl stop firewalld

    4 最后检查防火墙服务,发现已经关闭了

    # firewall-cmd --state

    not running

    1.2.3. IO调度系统模式修改

    将IO调度系统设置为deadline模式

    本系统查看

    [root@localhost ~]# cat /sys/block/sda/queue/scheduler

    noop [deadline] cfq

    更改IO系统调度的方法根据系统不同,本次没有测试。

    关于IO调度

    具体参考:http://blog.itpub.net/29519108/viewspace-2218623/

    总结:

    1、CFQ和DEADLINE考虑的焦点在于满足零散IO请求上。对于连续的IO请求,比如顺序读,并没有做优化。为了满足随机IO和顺序IO混合的场景,Linux还支持ANTICIPATORY调度算法。ANTICIPATORY的在DEADLINE的基础上,为每个读IO都设置了6ms的等待时间窗口。如果在这6ms内OS收到了相邻位置的读IO请求,就可以立即满足。

    IO调度器算法的选择,既取决于硬件特征,也取决于应用场景。

    在传统的SAS盘上,CFQ、DEADLINE、ANTICIPATORY都是不错的选择;对于专属的数据库服务器,DEADLINE的吞吐量和响应时间都表现良好。

    然而在新兴的固态硬盘比如SSD、Fusion IO上,最简单的NOOP反而可能是最好的算法,因为其他三个算法的优化是基于缩短寻道时间的,而固态硬盘没有所谓的寻道时间且IO响应时间非常短。

    2、对于数据库应用, Anticipatory Scheduler 的表现是最差的。Deadline 在 DSS 环境表现比 cfq 更好一点,而 cfq 综合来看表现更好一些。这也难怪 RHEL默认的 IO 调度器设置为 cfq。

    1.2.4. swap分区设置

    swapiness值在0和100之间,0代表最大下怒使用物理内存,然后使用SWAP分区。100则积极使用swap分区,把内存数据库及时搬到swap分区下。

    查看本系统;

    [root@localhost ~]# cat /proc/sys/vm/swappiness

    30

    如需更改,编辑/etc/sysctl.conf,加入vm.swappiness的值即可。

    1.2.5. 文件系统

    建议使用XFS文件系统,相比ext4,更加方便管理,支持动态扩容,删除文件也方便。

    具体参考:http://blog.itpub.net/29519108/viewspace-2218624/

    1.2.6. 操作系统限制

    unlimit -a 查看参数

    [root@localhost ~]# ulimit -a

    core file size (blocks, -c) 0

    data seg size (kbytes, -d) unlimited

    scheduling priority (-e) 0

    file size (blocks, -f) unlimited

    pending signals (-i) 7165

    max locked memory (kbytes, -l) 64

    max memory size (kbytes, -m) unlimited

    open files (-n) 1024

    pipe size (512 bytes, -p) 8

    POSIX message queues (bytes, -q) 819200

    real-time priority (-r) 0

    stack size (kbytes, -s) 8192

    cpu time (seconds, -t) unlimited

    max user processes (-u) 7165

    virtual memory (kbytes, -v) unlimited

    file locks (-x) unlimited

    open_files 默认1024,表示单个进程最多可以访问1024各文件句柄。系统链接或表过多,会出现打不开或者范围内不了的情况。

    max user processes 默认7185,连接数。

    修改/etc/security/limits.conf,加入限制的相关内容,后重启系统。

    * hard nproc 65535

    * soft nproc 65535

    * soft nofile 65535

    * hard nofile 65535

    1.2.7. numa需要关闭

    具体参考:http://blog.itpub.net/29519108/viewspace-2218625/

    关闭numa功能,可以更好分配内存,不需要采用哦个seap方式来获取内存。

    关闭方式分在BIOS、操作系统给中关闭,或者在数据库启动过程关闭。

    numa --interleave=all /usr/loal/mysql/bin/mysqld_safe -defaults-file=/etc/my.cnf &

    非一致存储访问结构 (NUMA : Non-Uniform Memory Access) 也是最新的内存管理技术。它和对称多处理器结构 (SMP : Symmetric Multi-Processor) 是对应的。

    MySQL单机单实例,建议关闭NUMA,关闭的方法有三种:

    1.硬件层,在BIOS中设置关闭;

    2.OS内核,启动时设置numa=off;

    3.可以用numactl命令将内存分配策略修改为interleave(交叉)

    热门标签: mysql关闭启动