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

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分