Linux下二进制方式如何安装mysql5.7版本和系统优化

52次阅读
没有评论

共计 3741 个字符,预计需要花费 10 分钟才能阅读完成。

自动写代码机器人,免费开通

丸趣 TV 小编给大家分享一下 Linux 下二进制方式如何安装 mysql5.7 版本和系统优化,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

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

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

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

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

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

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

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

Linux 下二进制方式如何安装 mysql5.7 版本和系统优化

[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

Linux 下二进制方式如何安装 mysql5.7 版本和系统优化

1、安装前系统环境检测

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

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

Linux 下二进制方式如何安装 mysql5.7 版本和系统优化

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

Linux 下二进制方式如何安装 mysql5.7 版本和系统优化

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

查看 I / O 调度文件:

Linux 下二进制方式如何安装 mysql5.7 版本和系统优化

[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 文件呢?

Linux 下二进制方式如何安装 mysql5.7 版本和系统优化

[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 查看:

Linux 下二进制方式如何安装 mysql5.7 版本和系统优化

这里标记了两个最为重要的参数,一个叫 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

Linux 下二进制方式如何安装 mysql5.7 版本和系统优化

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

什么是 Linux 系统

Linux 是一种免费使用和自由传播的类 UNIX 操作系统,是一个基于 POSIX 的多用户、多任务、支持多线程和多 CPU 的操作系统,使用 Linux 能运行主要的 Unix 工具软件、应用程序和网络协议。

看完了这篇文章,相信你对“Linux 下二进制方式如何安装 mysql5.7 版本和系统优化”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计3741字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)