• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux下二进制方式安装mysql5.7版本和系统优化的步骤

    本文主要介绍MySQL二进制软件包的安装/启动/关闭过程。

    也许有人要问为什么要选择二进制的安装方式呢?

    其实答案很简单,官方版本中已经把所有功能都配置好了,我们可以很方便地拿来使用。

    官方MySQL有四个版本:GA版本、DMR版本、RC版本和Beta版本。一般情况下,生产环境或者测试环境都

    选择GA版本(常规可用的版本,经过bug修复测试过)。

    下载地址:https://dev.mysql.com/downloads/mysql/

    下载完成以后可以检验一下MD5,我这边之前下载的版本,这边就演示这个命令的使用(md5sum 文件名)

    [root@tse2 downloads]# md5sum mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 
    d903d3dbf235b74059a4b3e216c71161 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

    1、安装前系统环境检测

    不管是MySQL哪个版本的安装,为了可以很顺利地把MySQL数据库安装好,做好后期数据库的优化工作,在前期进行Linux的系统检测是十分有必要的。

    1.1、selinux和iptables需要关闭,把SELINUX=disabled,改完重启服务器生效。

    我这里没有iptables用的是firewall所以不用关闭iptables

    1.2、I/O调度系统默认是cfq模式,这里强烈建议使用deadline模式

    查看I/O调度文件:

    [root@tse2 downloads]# cat /sys/block/sda/queue/scheduler 
    noop [deadline] cfq 

    1.3、swap分区的设置

    swpapiness值的大小对如何使用swap分区有着很大的影响。

    它有0和100两个极限值,0代表最大限度地使用物理内存,然后才使用swap分区,这种行为很有可能导致系统内存溢出,出现OOM的错误,从而导致MySQL被意外kill掉,所以需要谨慎设置。

    100则是积极地使用swap分区,并且把内存上面的数据及时搬到swap分区里(不建议)。这里建议大家不分配swap,或者分配4GB的空间就足够了。

    如何查看swappiness文件呢?

    [root@tse2 grub2]# cat /proc/sys/vm/swappiness
    [root@tse2 grub2]# sysctl -a|grep swap
    sysctl: reading key "net.ipv6.conf.all.stable_secret"
    sysctl: reading key "net.ipv6.conf.default.stable_secret"
    sysctl: reading key "net.ipv6.conf.ens192.stable_secret"
    sysctl: reading key "net.ipv6.conf.lo.stable_secret"
    vm.swappiness = 30

    想要修改swappiness的值,编辑/etc/sysctl.conf,加入vm.swappiness的值即可。

    1.4、文件系统的选择

    这里建议使用xfs文件系统,相比ext4,它更方便管理,支持动态扩容,删除文件也很方便。

    1.5、操作系统的限制

    先来查看一些当前操作系统的限制情况,使用ulimit -a查看:

    这里标记了两个最为重要的参数,一个叫open files,另一个叫max user processes。

    open files如果设置不合理,而当前服务器的连接过多或者表过多时,就有可能会出现打不开表或者访问不了表的现象。

    默认情况下,Linux最大句柄数为1024个,表示单个进程最多可以访问1024个文件句柄。如要超过默认值,就会出现文件句柄超限的错误”too many open files“。

    max user processes参数的用途:有时候我们可能会跑很多实例,但是发现创建不了新的连接,报出“resource temporarily unavailable”的错误,表示没有足够的资源。

    为了防止以上两种报错情况,我们可以修改系统的软硬限制。编辑/etc/security/limits.conf,加入限制的相关内容。记得更改完内容之后,需要重启操作系统才能生效。

    [root@tse2 grub2]# vim /etc/security/limits.conf
    *        soft  nproc      65535
    *        hard  nproc      65535
    *        soft  nofile     65535
    *        hard  nofile     65535

    1.6、numa需要关闭

    简单来讲关闭numa功能,可以更好地分配内存,不需要采用swap的方式来获取内存。

    因为有经验的系统管理员和DBA都知道使用swap导致的数据库性能下降有多么的恶心。

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

    [root@tse2 bin]# numa --interleave=all /mysql/app/bin/mysqld_safe -defaults-file=/etc/my.conf 

    2、MySQL5.7版本安装过程

    检查完操作系统环境后,进入MySQL安装阶段,总结为“三部曲+一步走”的方式。

    2.1、第一部曲

    创建MySQL用户,指定MySQL所在的用户组,命令如下:

    [root@tse2 /]# groupadd mysql
    [root@tse2 /]# useradd -g mysql mysql -s /sbin/nologin

    软件包的家目录(basedir)我这边是习惯统一放在/data/downloads下面:

    [root@tse2 downloads]# pwd
    /data/downloads

    需要解压MySQL软件包,命令如下:

    [root@tse2 downloads]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

    需要对MySQL目录授权:

    [root@tse2 downloads]# chown -R mysql:mysql /mysql

    2.2、第二部曲

    创建MySQL数据库的数据目录(datadir),这里可以选择创建在/mysql/下面:

    [root@tse2 downloads]# mkdir -p /mysql/data

    也要对数据目录授权:

    [root@tse2 downloads]# chown -R mysql:mysql /mysql/data

    2.3、第三部曲

    由于是二进制的安装方式,这里的数据库配置文件需要自己配置好,到此完成最后一部曲

    my.cnf配置文件下载地址:https://files.cnblogs.com/files/Sungeek/Tsemy.7z

    密码:tse

    2.4、最后一步

    mysqld命令初始化数据库:

    [root@tse2 mysql]# /mysql/app/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/mysql/app --datadir=/mysql/data/ --user=mysql -initialize

    注:如果在初始化过程中加上--initialize参数,表示会生成一个临时的数据库初始化密码,

    记录在log-error(错误日志)里面,如果加上--initialize-insecure参数,代表无密码进入。建议使用生成初始化密码的方式!

    启动数据库的过程:

    [root@tse2 mysql]# /mysql/app/bin/mysqld_safe --defaults-file=/etc/my.cnf 

    数据库启动成功之后,进入数据库的初始化密码会在/mysql/logs/error.log下面:

    [root@tse2 logs]# cat /mysql/logs/error.log |grep password

    使用初始化密码进入数据库之后,需要修改数据库root密码,设置为永不过期:

    /mysql/app/bin/mysql -uroot -p
    mysql>SET PASSWORD = '123456';
    mysql>ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
    mysql>flush privileges

    以上就是MySQL5.7版本的安装启动方式和系统优化的部分优化说明。

    总结

    以上所述是小编给大家介绍的Linux下二进制方式安装mysql5.7版本和系统优化的步骤,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    您可能感兴趣的文章:
    • mysql 8.0.24版本安装配置方法图文教程
    • MySQL8.0.24版本Release Note的一些改进点
    • mysql的MVCC多版本并发控制的实现
    • MySQL8.0.23版本的root密码重置最优解法
    • 关于MyBatis连接MySql8.0版本的配置问题
    • 解决seata不能使用mysql8版本的问题方法
    • 详解DBeaver连接MySQL8以上版本以及解决可能遇到的问题
    • IDEA使用mybatis-generator及配上mysql8.0.3版本遇到的bug
    • MySQL5.x版本乱码问题解决方案
    • CentOS7版本安装Mysql8.0.20版本数据库的详细教程
    • Mysql5.7及以上版本 ONLY_FULL_GROUP_BY报错的解决方法
    • 解决mysql8.0.19 winx64版本的安装问题
    • django2.2 和 PyMySQL版本兼容问题
    • mysql 8.0.18各版本安装及安装中出现的问题(精华总结)
    • 超详细教你怎么升级Mysql的版本
    上一篇:MySQL5.7慢查询日志时间与系统时间差8小时原因详解
    下一篇:CentOs7 64位 mysql 5.6.40源码安装过程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux下二进制方式安装mysql5.7版本和系统优化的步骤 Linux,下,二进制,方式,安装,