数据库架构师之道:MySQL安装与系统整合指南

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 数据库架构师之道:MySQL安装与系统整合指南



MySQL数据库安装(centos)

版本选择

企业版

MySQL企业版由MySQL AB公司内部专门的人员负责开发及维护,但同时也会吸纳社区人员编写的优秀代码及算法,并且由他们严格按照软件测试流程对这些采纳的代码进行测试,确定没有问题之后才会进行发布。简单地说,MySQL企业版是由MySQL公司内部发布的,它参考了社区版的先进代码功能和算法,是MySQL公司的赢利产品,需要付费才能使用及提供服务支持,稳定性和可靠性无疑都是最好的,当然了,企业腰包得够鼓才能买得起。某知名分类门户网站2008年就购买过MySQL企业版,价格不比那些闭源的商业数据库便宜,也是大几十万。

社区版

MySQL社区版则是由分散在世界各地的MySQL开发者、爱好者以及用户参与开发与测试的,包括软件代码的管理、测试工作,也是他们在负责。社区也会设立BUG汇报机制,收集用户在使用过程中遇到的BUG情况,相比于企业版,社区版的开发及测试环境没有那么严格。

选哪个

mysql是成熟产品,企业版和社区版在性能方面区别不大,对于我们学习而言,社区版即可。

它们的区别可以如下了解

  • 企业版对代码的管理、测试更严格、稳定性更好。
  • 企业版不遵循GPL开源协议,而社区版遵循,可以免费用.。
  • 企业版可以购买额外的收费服务,如7*24的技术支持,有钱任性。
  • 社区版的安全性,稳定性,无法像企业版有及时的维护、技术支持。

MySQL特点

支持多种操作系统,Windows、MacOS、Lnux等支持多种语言API,如C、C++、Pvthon、PHP、Java等

支持多线程、充分利用硬件资源 支持多种存储引擎

mysql就是一个基于socket编写的C/S架构的软件

客户端软件 自带:如mysql命令,mysqldump命令等 python模块:如pymysqlmysql

MySQL服务端-客户端

先看下什么是B/S和C/S架构。

B/S是Browser/Server指浏览器和服务器端,在客户机不需要装软件,只需要装一个浏览器。

C/S是Client/Server指客户端和服务器,在客户机端必须装客户端软件及相应环境后,才能访问服务器。

MySQL是基于客户端-服务端的运行模式数据库,服务端 负责数据处理,运行在数据库服务器上。

用户通过发送增删改查等请求,发送给 客户端软件,然后通过网络提交请求给 服务端 ,服务端接收到请求,再进行处理,然后返回。

服务端、客户端可以在不同的机器上,也可以在一台机器上。

这种服务端,客户端,就在生活里很常见,如打游戏时的登录,QQ、微信的登录,MySQL也是一个登录的过程。

mysql下载选择

了解数据库后,我们可以下载mysql软件了

MySQL :: Download MySQL Community Server (Archived Versions)

我们等会需要用的是这个安装包:

https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.40.tar.gz

软件包解释

mysql-5.6.45.tar.gz


5 是主版本号

6 是发行级别,主版本号和发行级别组合,构成发行序列号

45 表示在此发行系列的一个版本,随着新版本发布,进行递增


例如

mysq1-5.6.46.tar.gz

mysql-5.6.47.tar.gz

每次更新后,最后一个数字会递增

如果功能变化较大,字符串的第二个数字会递增,也就是如5.7

如果软件格式大改动,第一个数字,主版本号会变化

企业生产场景下,数据库是重中之重,因此选择MySQL数据库一定要慎重。

下面是给出的一些选择建议。

1)一定要选稳定版版本,即择开源的社区版的稳定版。


2)产品线选择,建议选择第二条产品线中的5.5或5.6版本。目前互联网公司

主流版本是5.5和5.6。


3)选择MySQL数据库至少发布半年以上的稳定版本。


4)要尽可能选择前后几个月没有大的BUG修复的版本,而不是大量修复BUG的集中版本。


5)最好选择向后较长时间没有更新发布的版本。


6)要考虑开发人员开发程序使用的版本是否兼容你所选的版本。


7)首先作为内部开发测试数据库环境,测试运行几个月的时间。


8)优先对企业非核心业务采用新的数据库稳定版本软件。

安装MySQL的方式

方式有哪些

rpm包安装

rpm安装必须要提前准备好官网、第三方源提供好的rpm软件包,且无法满足定制化需求、编译参数、修改路径、依赖冲突问题,所以不建议使用。

yum方式安装

这是最方便的,yum自动去源中下载相关rpm包

yum install mariadb-server mariadb -y
systemctl start mariadb

源码编译安装★

源代码编译三部曲

1.获取mysql代码源码包,解压缩,源码目录下有一个makefile

2.进入mysql的源码目录下,执行make指令,自动读取makefile

3.在make编译完成之后,执行make install,安装mysql到指定位置

具体的编译安装步骤★★
环境准备
  • Vmware,设置内存大于等于4G,linux的配置,cpu也至少给2核以上
free -m命令
[root@srlua001 opt]# free -m

cat /proc/cpuinfom命令
[root@srlua001 opt]# cat /proc/cpuinfo

processor 0 - 3 说明有4个cpu

top命令
[root@srlua001 opt]# top

执行后按1,查看cpu

  • 编译安装过程中,不得出现error关键字
cat /etc/redhat-release命令

查看操作系统版本

[root@srlua001 opt]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
编译前的依赖安装
#安装命令
[root@srlua001 opt]#yum install ncurses-devel libaio-devel gcc make cmake -y

创建mysq1用户,用于授权目录

获取mysql的源代码

下载链接:

https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.40.tar.gz

使用wget命令下载

wget  https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.40.tar.gz

如果没有wget命令,则先下载wget

yum install wget

解压缩,安装mysql
[root@srlua001 tools]# tar -zxvf mysql-5.6.40.tar.gz

cd 进入mysql-5.6.40

执行cmake,生成makefile,用于编译安装
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \
-DMYSOL_DATADIR=/application/mysql-5.6.40/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0

cmake编译参数设置完毕之后,就会自动生成makefile,可以执行

make

make install

make安装
[root@srlua001 tools]#make

下载至100%

[root@srlua001 tools]#make && make install

当cmake,make,make install 成功的依次执行完毕后,看到如下内容,才表明正确

验证mysql的安装

能执行如下操作就算是安装成功结束了!!

创建软链接

mysql数据初始化操作

执行如下初始化命令

[root@srlua001 mysql-5.6.40]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

以及看到如下的数据目录,表示mysql初始化正确

vim安装

yum install vim -y

net-tools安装

yum install net-tools -y

准备启动mysql

就得配置mysql的启动脚本

使用mysql初始化自动生成的管理脚本

准备启动mysql

提前准备好mysql的配置文件 my.cnf

启动前准备

在/application/mysql下创建tmp文件夹

1.默认情况下会出现这种错误

2.发现这里还是没有启动成功,是因为权限的问题

避免权限问题,把我们所有目录与子目录的属主与属组换成mysql

[root@srlua001 mysql]# chown -R mysql.mysql /application/mysql/

启动成功!

验证启动

[root@srlua001 mysql]# netstat  -tunlp|grep mysql

登录mysql据库

属于mysql服务端mysql-server已经正确启动了

就得用客户端去连接mysql,进行数据的增删改查

使用mysql命令连接

mysql -uroot -p

bash没找到mysql -uroot -p命令是因为环境变量里没有,所有我们要去把mysql路径写入PATH中

使路径生效

source /etc/profile

由于没有设置密码,不安全

mysql安全配置

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
存储 SQL 关系型数据库
【MySQL】数据库基础 -- 详解
【MySQL】数据库基础 -- 详解
|
3天前
|
关系型数据库 分布式数据库 数据库
【阿里云云原生专栏】云原生时代的数据库选型:阿里云RDS与PolarDB对比分析
【5月更文挑战第24天】阿里云提供RDS和PolarDB两种数据库服务。RDS是高性能的在线关系型数据库,支持MySQL等引擎,适合中小规模需求;而PolarDB是分布式数据库,具备高扩展性和性能,适用于大规模数据和高并发场景。RDS与PolarDB在架构、性能、弹性伸缩、成本等方面存在差异,开发者应根据具体需求选择。示例代码展示了如何通过CLI创建RDS和PolarDB实例。
275 0
|
4天前
|
SQL 关系型数据库 数据库
阿里云数据库 RDS SQL Server版实战【性能优化实践、优点探析】
本文探讨了Amazon RDS SQL Server版在云数据库中的优势,包括高可用性、可扩展性、管理便捷、安全性和成本效益。通过多可用区部署和自动备份,RDS确保数据安全和持久性,并支持自动扩展以适应流量波动。可视化管理界面简化了监控和操作,而数据加密和访问控制等功能保障了安全性。此外,弹性计费模式降低了运维成本。实战应用显示,RDS SQL Server版能有效助力企业在促销高峰期稳定系统并保障数据安全。阿里云的RDS SQL Server版还提供了弹性伸缩、自动备份恢复、安全性和高可用性功能,进一步优化性能和成本控制,并与AWS生态系统无缝集成,支持多种开发语言和框架。
28 2
|
5天前
|
存储 数据可视化 关系型数据库
【MySQL进阶之路 | 基础篇】创建和管理数据库
【MySQL进阶之路 | 基础篇】创建和管理数据库
|
5天前
|
关系型数据库 MySQL 数据库
如何在MySQL中查看已创建的数据库列表?
【5月更文挑战第22天】如何在MySQL中查看已创建的数据库列表?
16 1
|
6天前
|
SQL 存储 关系型数据库
MySQL架构
【5月更文挑战第21天】MySQL架构
15 1
|
2天前
|
安全 API 持续交付
构建高效微服务架构:从理论到实践
【5月更文挑战第25天】在现代软件开发领域,微服务架构已经成为实现灵活、可扩展和容错系统的关键设计模式。本文不仅深入探讨了微服务的核心概念与设计原则,还展示了如何将这些理念应用于实际的开发流程中。通过具体案例分析,我们将详细阐述在构建微服务时如何进行服务的划分、管理的优化以及安全性的加固,旨在为开发者提供一套实用的微服务开发指南。
|
2天前
|
消息中间件 监控 安全
构建高效微服务架构:从理论到实践
【5月更文挑战第25天】 在现代软件开发领域,"微服务"一词已然成为实现业务敏捷性、可扩展性与技术多样性的代名词。本文将深入探讨如何构建一个高效的微服务架构,涵盖从基本理念的梳理、关键技术选型,到具体实施过程中的最佳实践。我们将通过实际案例分析,展示如何在保证系统稳定性的前提下,提升服务的独立性和弹性。文章不仅为开发者提供了一套可行的后端开发框架参考,同时也为架构师呈现了一幅微服务实施的蓝图。
|
20小时前
|
监控 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战构建高效微服务架构:策略与实践
【5月更文挑战第27天】 随着数字化转型的深入,企业对技术的依赖日益增强。云原生技术以其灵活性、可扩展性和敏捷性成为推动企业IT架构现代化的关键力量。本文将探讨云原生架构的核心概念、实施策略以及在采纳过程中可能遇到的挑战。通过分析案例和最佳实践,旨在为读者提供如何在保持业务连续性的同时,利用云原生技术加速创新的见解。 【5月更文挑战第27天】 在当前软件开发的快速迭代和市场需求多变的背景下,微服务架构以其灵活性、可扩展性和容错性成为企业技术选型的热门。本文将探讨如何构建一个高效的微服务系统,包括关键的设计原则、常用的技术栈选择、以及实施过程中的最佳实践。我们将重点分析如何通过合理的服务划分、
|
21小时前
|
消息中间件 运维 监控
构建高性能微服务架构:策略与实践
【5月更文挑战第27天】在现代软件开发领域,微服务架构已经成为设计灵活、可扩展系统的首选模式。本文将深入探讨构建高性能微服务的策略和实践,包括服务拆分原则、通信机制优化、容器化部署、以及持续监控与调优等方面。通过分析真实案例,我们将提供一套系统的方法论来指导开发人员和架构师在保证系统稳定性的前提下提升服务的响应速度和处理能力。

推荐镜像

更多