MySQL数据库的安装

1 总体规划

MySQL可运行的最小资源需求极低。InnoDB缓冲池的默认大小仅128M。基于基准测试数据,MySQL内存占用从1G到64G运行效率提升明显,CPU从1核至48核运行效率提升明显,进一步增加资源性能提升趋于平缓。而建议单数据库主机数据库内存设置在40%-60%左右。建议主机内存不超过126G,CPU核数不超过48核。

操作系统

CentOS Linux release 7.5.1804

处理器

1

内存

4G

硬盘

38G

主机名称

chenzx

IP地址

192.168.56.8

1.1 用户组和用户规划

MySQL数据库建议运行在特定的用户与用户组下。对于同一主机安装不同MySQL数据库的场景,建议使用不同的用户管理不同的数据库。

用户ID

用户名称

用户组ID

用户组名称

备注

1001

mysql

1001

mysql

数据库操作系统用户

表-用户组规划

用户不存在则很使用以下命令创建:

# groupadd -g 1001 mysql

# useradd –u 1001 –g mysql mysql

若已存在则使用以下命令修改:

# groupmod -g 1001 mysql

# usermod -s /bin/bash -u 1001 mysql

1.2 网络规划

应用通过服务IP接入PROD数据库,故障时通过服务IP的漂移实现高可用性。本文不涉及高可用部分,需要开放3306端口,固定IP用于复制接入,服务IP用于应用接入。

接口名

主机名

IP地址

端口

描述

ens32

chenzx

192.168.5.68

3306

固定IP地址

1.3 数据库文件系统规划

数据库相关文件系统规划,一个好的文件系统规划,有利于后续运维人员进行维护。

路径

文件系统大小

功能说明

/mysql/mysql_data

200GB

数据目录,存放数据文件,大小根据数据量而定。

/mysql/mysql_log

200GB

数据库redo、bin-log、relay-log等日志,可以根据具体需求再进行拆分。

/mysql/mysql_dump

100GB

备份目录,数据库备份或者其他数据文件备份。

创建相关目录:

# mkdir –p /mysql/mysql_data

# mkdir –p /mysql/mysql_log

# mkdir –p /mysql/mysql_dump

修改相关目录的属组信息:

# chown –R mysql:mysql /mysql/mysql_data

# chown –R mysql:mysql /mysql/mysql_log

# chown –R mysql:mysql /mysql/mysql_dump

数据库目录规划:

路径

功能说明

/mysql/mysql-5.7.23

区分版本的软件安装目录,软连接(/usr/local/mysql)指向目录

/home/mysql

mysql用户家目录

/mysql/mysql_data/mysql

数据目录,存放数据文件

/mysql/mysql_data/tmp

临时数据目录

/mysql/mysql_log/redolog

redo日志目录

/mysql/mysql_log/binlog

二进制日志目录

/mysql/mysql_log/relaylog

复制用中继日志目录

/mysql/mysql_log/slowlog

指定慢查询日志目录

/mysql/mysql_log/innodb

InnoDB日志目录

/mysql/mysql_log/errlog

错误日志目录

创建相关目录:

# mkdir –p /mysql/mysql_log/redolog

# mkdir –p /mysql/mysql_log/binlog

# mkdir –p /mysql/mysql_log/relaylog

# mkdir –p /mysql/mysql_log/slowlog

# mkdir –p /mysql/mysql_log/innodb

# mkdir –p /mysql/mysql_log/errlog

修改相关目录的属组信息:

# chown –R mysql:mysql /mysql/mysql_log/redolog

# chown –R mysql:mysql /mysql/mysql_log/binlog

# chown –R mysql:mysql /mysql/mysql_log/relaylog

# chown –R mysql:mysql /mysql/mysql_log/slowlog

# chown –R mysql:mysql /mysql/mysql_log/innodb

# chown –R mysql:mysql /mysql/mysql_log/errlog

注意:

MySQL数据目录规划因根据数据库预计承载的数据量而定,当超过1T时,建议规划多个数据目录。

MySQL安装目录所在的文件系统,建议保持15G左右的空闲,用于后续升级。

MySQL redo日志目录大小应根据数据库日常写入量而定,建议15G左右。

MySQL 二进制日志存放归档的操作记录,根据数据库的繁忙程度,建议在50-100G左右。

如果是集群架构,需要计划中继日志目录。中继日志大小根据主库二进制日志产生量而定,一般是主库二级制目录大小的50%。

2 系统参数配置

3 MySQL安装

3.1 下载mysql介质

本文主要介绍MySQL社区版二进制软件包的安装过程。一般情况下,PROD环境和TEST环境都应该选用GA版本,切勿使用DMR版本、RC版本和Beta版本。二进制软件包可以到官网(https://www.mysql.com/downloads/)进行下载。

clip_image002

点击社区版本后进入下一个界面,选择“MySQL Community Server”。

clip_image004

3.2 上传介质并校验

使用scp或者ftp等工具把安装包(mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz)上传至服务器,并使用命令生成软件安装包的md5码与官网md5码进行比对:

$ md5sum mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

比对结果必须一致!!!

官网提供MD5码

下载后生成MD5码

比对结果

d903d3dbf235b74059a4b3e216c71161

d903d3dbf235b74059a4b3e216c71161

一致

3.3 安装MySQL

二进制的安装方式中,官方版本中已经把所有功能都配置好了,安装使用起来方便简单。

1) 解压安装包

$ su - mysql

$ tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz -C /mysql/

2) 解压文件改名

$ su - mysql

$ mv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql-5.7.23/

3) 建立软链接

$ su -

# ln -s /mysql/mysql-5.7.23/ /usr/local/mysql

# chown mysql:mysql -R /usr/local/mysql

3.4 初始化MySQL

由于是二进制安装,数据库的配置文件需要自己配置。

$ cat /etc/my.cnf

[mysql]

prompt="\u@\h:\p \R:\m:\s [\d]>"

[client]

port=3306

socket=/tmp/mysql.sock

[mysql_multi]

mysqld = /usr/local/mysql/bin/mysqld

mysqladmin = /usr/local/mysql/bin/mysqladmin

user = mysql

[mysqld]

############################ system ##################################

basedir = /usr/local/mysql

server-id = 189

port = 3306

user = mysql

read_only = off

character-set-server = utf8

socket = /tmp/mysql.sock

datadir = /mysql/mysql_data/mysql

lower_case_table_names = 1

sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

show_compatibility_56 = on

#skip_slave_start = 1

explicit_defaults_for_timestamp = ON

skip-name-resolve

log_timestamps = SYSTEM

#skip_grant_tables

############################ log ##################################

max-binlog-size = 1G

binlog_cache_size = 2097152

master_info_repository = TABLE

innodb_log_group_home_dir = /mysql/mysql_log/innodb/

log-bin = /mysql/mysql_log/binlog/logbin.log

relay_log = /mysql/mysql_log/relaylog/relay.log

log-error = /mysql/mysql_log/errlog/error.err

slow-query-log-file = /mysql/mysql_log/slowlog/slow.log

slow-query-log = 1

long_query_time = 1

relay_log_info_repository = TABLE

relay_log_recovery = 1

slave_preserve_commit_order = 1

log-queries-not-using-indexes = 0

expire_logs_days = 7

binlog_format = row

sync-binlog = 1

log_bin_trust_function_creators = 1

########################### connection ##############################

open-files-limit = 65535

symbolic-links = 0

max_allowed_packet = 1024M

max_connections = 3000

max_user_connections = 3000

max_connect_errors = 1000000

transaction_isolation = READ-COMMITTED

########################### BUFFER ##############################

query-cache-type = 0

query-cache-size = 0

thread-cache-size = 50

innodb_buffer_pool_size = 2G

innodb_buffer_pool_instances = 8

innodb_buffer_pool_load_at_startup = 1

innodb_buffer_pool_dump_at_shutdown = 1

innodb_print_all_deadlocks = 1

innodb_log_file_size = 1G

innodb_log_buffer_size = 16M

innodb_flush_log_at_trx_commit = 1

innodb_log_files_in_group = 3

################GTID#################

#gtid_mode = 1

#enforce_gtid_consistency = 1

slave_parallel_workers = 4

slave_parallel_type = LOGICAL_CLOCK

slave_preserve_commit_order = 1

log_slave_updates = 1

[mysqld_safe]

log-error = /mysql/mysql_log/errlog/error.err

pid-file = /mysql/mysql.pid

注意:

MySQL读取配置文件的顺序是

1) /etc/my.cnf

2) /etc/mysql/my.cnf

3) /usr/local/mysql/etc/my.cnf~/.my.cnf

创建数据库

$ /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/mysql/mysql_data/mysql --user=mysql --initialize

3.5 启动MySQL

$ /usr/local/mysql/bin/mysqld_safe --user=mysql&

转载于:https://www.cnblogs.com/nolanchan/p/9890060.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值