RHEL7.X MySQL 5.7.X 数据库 标准建议 安装手册

2023-10-17 02:08

本文主要是介绍RHEL7.X MySQL 5.7.X 数据库 标准建议 安装手册,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 MySQL Expert REVIEW

 

RHEL7.X

MySQL 5.7.X 数据库

安装手册

 

 

 

 

 

 

 

 

 

目       录

系统需求... 1

安装方式... 1

介质准备... 1

mysql 用户创建... 1

安装目录规划... 1

文件系统配置... 2

MySQL 安装... 3

OS 优化配置... 6

关闭不必要的服务... 6

优化IO调度设置... 6

配置系统参数... 6

调整相关的参数... 7

 

 

系统需求

安装方式

 

本文介绍的是在linux RHEL 7.x版本的操作系统上,安装 mysql 5.7 安装步骤。

安装方式:

  1. Mysql 2进制bin 包安装在服务器本地磁盘上。
  2. 数据文件都存放在本地磁盘中

介质准备

              mysql-5.7.27-el7-x86_64.tar

 

下载链接:

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.27-el7-x86_64.tar

 

           

mysql 用户创建

 

groupadd mysql

useradd -g mysql mysql

 

 

安装目录规划

 

以下目录供参考:

目录

文件系统路径

备注

basedir

/mysql

Mysql 软件目录

datadir

/data

Mysql 数据文件目录

tmpdir

/data/tmp

Mysql 临时文件目录

 

 

 

文件系统配置

 

建议使用 xfs 文件系统:

 

1.初始化磁盘空间

pvcreate /dev/sdb

pvdisplay

 

vgcreate mysqlvg /dev/sdb

vgdisplay

 

lvcreate -L 3999G -n mysql /dev/mysqlvg

 

2.格式化成xfs文件系统:

mkfs.xfs /dev/mysqlvg/mysql

 

mount –o rw,noatime,nodiratime,nobarrier,logbufs=8,logbsize=32k /dev/mysqlvg/mysql  /data

 

#vi /etc/fstab

/dev/mysqlvg/mysql  /data  ext4   defaults   1 2

 

 

文件系统属主设置:

           chown mysql:mysql /mysql

            chown -R mysql:mysql /data

 

MySQL 安装

 

解压mysql安装包:

tar xvf mysql-5.7.XXX.tar –C /mysql

           

 

            初始化mysql:

           使用-initialize-insecure 为 root@local 用户生成空密码,后续需要设置密码;

 

            cd /mysql

            ./bin/mysqld --no-defaults --user=mysql --basedir=/mysql

--datadir=/data  --initialize-insecure

 

 

配置mysql my.cnf 配置文件:

My.cnf 优化调整了部分参数,具体部分参数需要结合实际环境适当调整;

 

vi /etc/my.cnf

 

[client]

port = 3306

socket   = /data/mysql.sock

 

[mysql]

prompt='mysql [\h] {\u} (\d) > '

 

[mysqld]

# basic settings #

user = mysql

port = 3306

socket   = /data/mysql.sock

basedir  = /mysql

datadir  = /data/

character-set-server = utf8mb4

transaction_isolation = READ-COMMITTED

explicit_defaults_for_timestamp = 1

max_allowed_packet = 64M

event_scheduler = 1

query_cache_size = 0

query_cache_type = 0

open_files_limit = 65535

 

# connection #

interactive_timeout = 1800

wait_timeout = 1800

lock_wait_timeout = 1800

skip_name_resolve = 1

max_connections = 1024

max_connect_errors = 1000000

 

# table cache performance settings

table_open_cache = 4096

table_definition_cache = 4096

table_open_cache_instances = 64

 

# session memory settings #

read_buffer_size = 16M

read_rnd_buffer_size = 32M

sort_buffer_size = 32M

tmp_table_size = 64M

join_buffer_size = 128M

thread_cache_size = 64

 

# innodb settings #

#根据服务器实际内存配置 一般不要超过服务器总内存 80%

innodb_buffer_pool_size = 32G

# 8 default to buffer pool size / 2GB (so 16 for 32g pool) if concurrency is high

innodb_buffer_pool_instances = 16

innodb_buffer_pool_load_at_startup = 1

innodb_buffer_pool_dump_at_shutdown = 1

innodb_lru_scan_depth = 4096

innodb_lock_wait_timeout = 5

 

# 根据您的服务器IOPS能力适当调整

# 一般配普通SSD盘的话,可以调整到 10000 - 20000

# 配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000

innodb_io_capacity = 4000

innodb_io_capacity_max = 8000

 

innodb_flush_method = O_DIRECT

innodb_log_file_size = 2G

innodb_log_files_in_group = 3

innodb_log_buffer_size = 64M

innodb_write_io_threads = 16

innodb_read_io_threads = 16

innodb_purge_threads = 4

innodb_large_prefix = 1

##>=5.6 打印死锁信息到error log

innodb_print_all_deadlocks = 1

innodb_strict_mode = 1

innodb_sort_buffer_size = 128M

innodb_file_per_table = 1

innodb_stats_persistent_sample_pages = 64

#auto-inc lock set:

innodb_autoinc_lock_mode = 2

innodb_online_alter_log_max_size= 4G

innodb_open_files=4000

 

# for SSD:if you have SSD storage

#  Set to 0 data on SSDs, 1 for spinning disks. If mixed, 0 is probably best.

#innodb_flush_neighbors = 0

 

 

[mysqldump]

quick

max_allowed_packet = 32M

single-transaction

 

            启动mysql:

 

           cd /mysql/

            bin/mysqld_safe &

 

           

            修改mysql 超级用户密码:

            /mysql/bin/mysql

 

            set password for root@localhost=password("mysql");

 

 

OS 优化配置

关闭不必要的服务

vi /etc/selinux/config   ==>SELINUX=disabled

 

#停止firewall

systemctl stop firewalld.service

#禁止firewall开机启动

systemctl disable firewalld.service

# systemctl stop avahi-daemon.socket avahi-daemon.service

# systemctl disable avahi-daemon.socket avahi-daemon.service

# systemctl stop postfix

# systemctl disable postfix

 

优化IO调度设置

vi /etc/grub.conf  添加elevator=deadline,需重启机器生效。

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE:  You have a /boot partition.  This means that

#          all kernel and initrd paths are relative to /boot/, eg.

#          root (hd0,1)

#          kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-LogVol01

#          initrd /initrd-[generic-]version.img

#boot=/dev/sda1

device (hd0) HD(1,800,64000,e1fc1233-0f25-467e-9461-0739facbf83c)

default=0

timeout=5

splashimage=(hd0,1)/grub/splash.xpm.gz

hiddenmenu

title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)

    root (hd0,1)

    kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-LogVol01 rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/LogVol01 SYSFONT=latarcyrheb-sun16 crashkernel=128M  KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=VolGroup/LogVol00 rd_NO_DM rhgb quiet transparent_hugepage=never elevator=deadline

    initrd /initramfs-2.6.32-431.el6.x86_64.img

 

 

 

配置系统参数

                          修改 /etc/sysctl.conf 

vm.swappiness=1

修改之后使用sysctl –p命令使得修改生效

 

调整相关的参数

修改 /etc/security/limits.conf

 

mysql soft nofile 8192

mysql hard nofile 65536

 

 

这篇关于RHEL7.X MySQL 5.7.X 数据库 标准建议 安装手册的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/222221

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我