如果想把mysql安装得好一些,则严重推荐使用压缩包来安装,不推荐使用rpm方式。

一般情况下,现在大部分的服务器都是x86-64,少数是arm架构的。

选择合适的版本,下载即可。

本文中,使用的是 mysql-8.0.22-el7-x86_64.tar.gz (这对centos7的)

为了便于管理,个人推荐的目录

/soft/mysql/program  --放myql程序文件

/soft/mysql/config     --放mysql的配置文件,配置文件可以随意命名,例如my.ini,my.cnf,my.config之类都无所谓

之所以这样,是因为个人的习惯--把一类或者一个东西放在一个目录下,这样更好找,也更容易管理!除此之外,就是拥有更多的灵活性!

当然也可以直接使用默认的/etc/my.cnf 路径

下面是大概的步骤:

1.解压文件

2.写好my.cnf

3.初始化

4.启动服务,修改root密码

5.把mysql配置为服务,以便自动启动

步骤1:前置准备

1)包括下载,创建用户等等基本工作

2)了解需要新的实例要支持什么业务,满足什么特性

步骤2:写my.cnf,重点几个:

1)字符集

2)数据目录

3)端口

4)是否使用root运行(很多时候,我们就用root执行了)

5)密码验证方式

6)是否忽略大小写

7)是否关比bin_log(如果不复制,这个可以节约时间)

8)日志目录

下面是my.cnf的配置例子:

[client]
port=3318 [mysql]
no-beep
default-character-set=UTF8MB4 [mysqld]
user=root
skip-log-bin
port=3318
#不区分大小写(linux设置,windows不设置。linux必须初始化的时候设置)
lower_case_table_names=1
# 程序路径
basedir="/soft/mysql-8.0.22-el7-x86_64" # 数据库实例根数据路径
datadir=/data/mysql # 创建数据库和表的默认字符集
character-set-server=UTF8MB4 # 默认存储引擎
default-storage-engine=INNODB # General and Slow logging.
log-output=FILE
slow-query-log=0
bulk_insert_buffer_size=32M # Error 日志
log-error="mysql.err" # 最大并发会话
max_connections=500 # 所有线程可以允许打开的表数量
table_open_cache=1200 # Maximum size for internal (in-memory) temporary tables. If a table
# grows larger than this value, it is automatically converted to disk
# based table This limitation is for a single table. There can be many
# of them.
# 内存临时表大小--如果有许多需要临时表的查询,而且这些临时表都挺大的,可以考虑设置大一些
# 当然前提,是您相对比较阔绰,可以有许多内存
tmp_table_size=32M # How many threads we should keep in a cache for reuse. When a client
# disconnects, the client's threads are put in the cache if there aren't
# more than thread_cache_size threads from before. This greatly reduces
# the amount of thread creations needed if you have a lot of new
# connections. (Normally this doesn't give a notable performance
# improvement if you have a good thread implementation.)
thread_cache_size=10 # Size of the buffer used for doing full table scans of MyISAM tables.
# Allocated per thread, if a full scan is needed.
read_buffer_size=0 read_rnd_buffer_size=0 #*** INNODB Specific options ***
# innodb_data_home_dir=0.0 # Use this option if you have a MySQL server with InnoDB support enabled
# but you do not plan to use it. This will save memory and disk space
# and speed up some things.
# skip-innodb # If set to 1, InnoDB will flush (fsync) the transaction logs to the
# disk at each commit, which offers full ACID behavior. If you are
# willing to compromise this safety, and you are running small
# transactions, you may set this to 0 or 2 to reduce disk I/O to the
# logs. Value 0 means that the log is only written to the log file and
# the log file flushed to disk approximately once per second. Value 2
# means the log is written to the log file at each commit, but the log
# file is only flushed to disk approximately once per second.
#谨慎修改这个参数
innodb_flush_log_at_trx_commit=1 # The size of the buffer InnoDB uses for buffering log data. As soon as
# it is full, InnoDB will have to flush it to disk. As it is flushed
# once per second anyway, it does not make sense to have it very large
# (even with long transactions).
innodb_log_buffer_size=128m #建议开启严谨模式
innodb_strict_mode=on #密码验证方式
default_authentication_plugin=mysql_native_password

步骤3:初始化

如果使用专有的mysql用户(用户未必叫这个,不过为了便于识别就叫mysql。如有个人爱好,喜欢叫msql,uglysql可以)启动配置(这是推荐的,前提是创建了对应用户)

bin/mysqld --defaults-file=/opt/mysql/mysql/etc/my.cnf  --initialize  --user=mysql

如果想用root且修改配置文件路径,则可以修改为

bin/mysqld --defaults-file=/data/mysql/config/my.cnf  --initialize  --user=root

步骤4:安装为服务

有时候不一定按照下面就可以安装为服务,要看系统的情况。

注意:如果修改了my.cnf的存储路径则必须修改mysql.server文件

mysql.server一般在support-files目录下

以下是一般需要修改的片段:

# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.

basedir=/soft/mysql-8.0.22-el7-x86_64
datadir=/data/mysql

复制启动文件  cp mysql.server /etc/init.d/mysqld

赋予可执行权限:# chmod +x /etc/init.d/mysqld

添加为服务:# chkconfig --add mysqld

之后可以使用 systemctl start/stop/status mysqld

也可以直接使用mysql.server start/stop等

注:使用upstart方式启动服务,并不是推荐的访问,远远不如systemd方式来得优雅。如果suport-files中没有可以参考的service,那么可以自己创建一个,

如果使用systemd的方式创建服务,网络上有很多!

这个方面redis做得比mysql好一些。

总结

一个开发环境的安装还是很容易的,前提是对于性能不需要特别优化的情况。

最后,申明下,以上的配置仅仅能够满足一般的开发,要想满足高性能的配置,远远不够。

作为一个mysql dba,必须掌握:

1)mysql 开发

2)  linux配置

3)  mysql 配置

4)  操作系统、网络

5)熟悉要优化的系统的业务

6)你的项目,你的团队的情况

如果认为会建立索引,会写一些复杂一点点的sql,也认为是优化,那还差太远太远了,只能贻笑大方!

mysql8.0.22在centos7.6下的简单安装的更多相关文章

  1. 在ConoHa上Centos7环境下源码安装部署LNMP

    本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...

  2. mysql 5.7.29 在centos7.6下超简单的本地yum源安装与配置

    目录 生成yum源元数据 从网易镜像站下载MySQL 5.7 的 bundle包 创建文件 mysql-local.repo 执行yum install命令 生成yum源元数据 createrepo ...

  3. sphinx在windows下的简单安装与使用

    1.下载地址 http://sphinxsearch.com/downloads/release/,我这里下的是“Win64 binaries w/MySQL+PgSQL+libstemmer+id6 ...

  4. MySQL8.0 zip压缩包版本 Windows下安装

    MySQL zip压缩包版本 Windows下安装 Download MySQL Community Server 解压到相应的目录 我的解压目录:D:\Program Files\mysql-8.0 ...

  5. CentOS7系统下GitLab的安装、汉化、修改默认端口、开启发送邮箱

    一.centos7.4 下安装及汉化 =============================================== 2017/11/12_第6次修改                  ...

  6. nginx在Centos7.5下源码安装和配置

    安装nginx 安装nginx依赖包 yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim 进入目录/root/se ...

  7. CentOS下nginx简单安装

    说明:环境 系统:Centos 6 软件包:nginx-1.2.4 配置系统yum源 #/etc/yum.repos.d/ #rm -rf ./* vi localhost.repos.d [yumy ...

  8. Hyperledger fablic 0.6 在centos7环境下的安装与部署

    原文:http://blog.csdn.net/zhaoliang1131/article/details/54617274 Hyperledger Fabric超级账本 项目约定共同遵守的 基本原则 ...

  9. mysql5.7.22在centos7.5下的安装

    1.下载,解压 把下载的文件放到 /app/programs/目录下 tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 地址:https://d ...

  10. Mysql8.0.17忘记密码情况下重置密码

    1.以管理员身份打开命令窗口cmd,输入命令: net stop mysql 2.开启跳过密码验证登录的mysql服务,输入命令 mysqld --console --skip-grant-table ...

随机推荐

  1. dotnet 使用 windbg 运行脚本方式自动批量调试处理 dump 文件

    本文将和大家介绍一个简单且实际用途不大的使用 windbg 配合脚本的方式,进行自动化的大批量对 dotnet 系应用的 dump 进行自动化分析调试处理,可以自动根据调试需求输出 dump 文件的一 ...

  2. 如何在 Linux 上部署 RabbitMQ

    如何在 Linux 上部署 RabbitMQ 目录 如何在 Linux 上部署 RabbitMQ 安装 Erlang 从预构建的二进制包安装 从源代码编译 Erlang RabbitMQ 的安装 使用 ...

  3. SpringBoot中几种好用的代码生成器(基于Mybatis-plus生成entity、mapper、xml等)

    前言 熟悉Spring框架的同学一定都知道MVC开发模式吧,控制器(Controller).业务类(Service).持久层(Repository).数据库映射(Mapper).各种DO类构成了我们服 ...

  4. 从SAP CRM上传设备到SAP ERP

    文档<Step by step to download equipment from ERP with hierarchy>描述了从ERP复制设备到CRM的步骤.默认情况下,ERP中的设备 ...

  5. 开源文档预览项目 kkFileView (9.9k star) ,快速入门

    kkFileView 是一款文件文档在线预览解决方案,采用流行的 Spring Boot 框架构建,易于上手和部署. 该项目基本支持主流办公文档的在线预览,包括但不限于 doc.docx.xls.xl ...

  6. 模型压缩与部署-书生浦语大模型实战营学习笔记5&大语言模型11

    大语言模型-11.模型压缩与部署 书生浦语大模型实战营学习笔记4-模型压缩与部署 本文包括第二期实战营的第5课内容,介绍关于模型压缩的相关内容,主要包括.模型量化和模型部署的相关内容. 模型部署 定义 ...

  7. Go语言基础之并发 goroutine chan

    参考文档: https://www.liwenzhou.com/posts/Go/14_concurrence/ http://www.5lmh.com/并发编程/channel.html 示例一: ...

  8. HTTP 结构概述

    Web 客户端和服务器 Web 内容都是存储在 Web 服务器上的,Web 服务器所使用的是 HTTP 协议,因此经常被称为 HTTP 服务器,HTTP 服务器存储了因特网的数据.客户端向服务器发送 ...

  9. 用poi-tl导出word报告-支持表格文字刷色、背景刷色、表格合并单元格

    官方教程地址:http://deepoove.com/poi-tl/ apache poi 入门示例教程:http://deepoove.com/poi-tl/apache-poi-guide.htm ...

  10. 基于webapi的websocket聊天室(四)

    上一篇实现了多聊天室.这一片要继续改进的是实现收发文件,以及图片显示. 效果 问题 websocket本身就是二进制传输.文件刚好也是二进制存储的. 文件本身的传输问题不太,但是需要传输文件元数据,比 ...