DBA技术栈(一):Mysql简介和架构基本组成_mysql技术栈

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

易用性和灵活性:MySQL的语法相对简洁,易于学习和使用,且具有良好的扩展性和灵活性,能够适应各种不同的应用场景。而其他数据库可能更适合大型企业级应用或对安全性和可靠性要求非常高的场合。

性能:MySQL在处理简单查询和事务方面表现出色,而且对于并发操作和大型数据集的支持也很好。其他数据库则可能在处理复杂查询或大规模数据时更具优势。

安全性和可管理性:Oracle和DB2等数据库产品在安全性和可管理性方面表现出色,提供了丰富的安全控制和监控工具,而MySQL则需要通过一些第三方工具来提供类似的功能。

1.3 MySQL 的主要适用场景

MySQL是一种广泛使用的关系型数据库管理系统,适用于各种不同的应用场景。以下是MySQL主要适用的场景:

Web应用程序:MySQL在Web应用程序中被广泛使用,因为它具有高性能、高可用性和易于扩展的优点。MySQL能够轻松处理大量的并发连接和事务,并且支持事务、存储过程和触发器等高级特性。

数据仓库:MySQL是一种非常流行的数据仓库系统,因为它具有高性能、可扩展性和可靠性等优点。MySQL可以轻松处理大量数据,并支持复杂查询和数据分析。

嵌入式系统:MySQL也适用于嵌入式系统,如智能家居、工业自动化和医疗设备等。由于其轻量级、低成本和易用性等特点,MySQL成为了嵌入式系统中的首选数据库。

企业应用程序:MySQL可以用于各种企业级应用程序,如ERP、CRM、人事管理系统等。由于其可靠性、安全性和可管理性等特点,MySQL成为了企业级应用程序中的首选数据库。

科学计算和数据分析:MySQL可以用于科学计算和数据分析,如气象、地震和生物信息学等领域。MySQL可以轻松处理大规模数据集,并支持高性能计算和数据可视化

二、MySQL架构组成

2.1 物理文件组成
2.1.1 日志文件
1. 错误日志:Error Log

在my.cnf配置文件中添加以下行,以指定错误日志的相关参数:

[mysqld]
log_error=/var/log/mysql/error.log

这将将错误日志记录到/var/log/mysql/error.log文件中。
重启MySQL服务以使更改生效。
可以使用以下命令来验证错误日志是否已成功启用:

SHOW VARIABLES LIKE ‘log_error’;

如果输出结果为ON,则说明错误日志已成功启用。

可以使用以下命令来验证错误日志文件是否已创建:

ls -l /var/log/mysql/error.log

如果输出结果包含错误日志文件名,则说明错误日志已成功记录。错误日志记录了MySQL服务器的错误信息,包括连接错误、权限问题、语法错误等,可以帮助用户快速定位问题并进行修复。

2.二进制日志:Binary Log & Binary Log Index

要在MySQL中开启二进制日志(Binary Log)功能,可以按照以下步骤进行操作:

  1. 在my.cnf配置文件中添加以下行,以指定二进制日志的相关参数:

[mysqld]
binlog_format=row
binlog_file_per_table=1
binlog_max_binlog_size=1073741824

这将启用二进制日志功能,并将日志文件设置为每个表单独的文件中,最大日志大小为1GB。
重启MySQL服务以使更改生效。可以使用以下命令来验证二进制日志是否已成功启用:

SHOW VARIABLES LIKE ‘binlog_format’;

如果输出结果为ROW,则说明二进制日志已成功启用。

可以使用以下命令来验证二进制日志文件是否已创建:

ls -lh /var/lib/mysql/binlog/

如果输出结果包含二进制日志文件名,则说明二进制日志已成功记录。
二进制日志主要用于数据复制和恢复,以及性能分析和调试等方面。在开启二进制日志功能后,MySQL将会记录每个SQL语句的执行结果和执行时间等信息,并将其写入到指定的二进制日志文件中。
需要注意的是,开启二进制日志功能会占用磁盘空间,并且会影响MySQL的性能。因此,在生产环境中应慎重考虑是否需要开启该功能。此外,为了保护数据隐私,建议将二进制日志文件存储在受保护的位置,并定期清理旧的日志文件。

3.更新日志:update log

新版本已废弃,不作介绍

4.查询日志:query log

在my.cnf配置文件中添加以下行,以指定查询日志的相关参数:

[mysqld]
general_log=1
general_log_file=/var/log/mysql/query.log

这将启用查询日志功能,并将日志文件设置为/var/log/mysql/query.log。
重启MySQL服务以使更改生效。
可以使用以下命令来验证查询日志是否已成功启用:

SHOW VARIABLES LIKE ‘general_log’;

如果输出结果为ON,则说明查询日志已成功启用。
可以使用以下命令来验证查询日志文件是否已创建:

ls -l /var/log/mysql/query.log

如果输出结果包含SQL语句及其执行时间、状态等信息,则说明查询日志已成功记录。

5.慢查询日志:slow query log

通过命令行或修改my.cnf配置文件来设置全局slow_query_log参数为1,以启用慢查询日志功能。例如,在my.cnf配置文件中添加以下行:

[mysqld]
slow_query_log=1
slow_query_log_file=/var/lib/mysql/slow.log
long_query_time=30

这将启用慢查询日志,并将日志文件设置为/var/lib/mysql/slow.log,同时设置超时时间为30秒。
重启MySQL服务以使更改生效。
可以使用以下命令来验证慢查询日志是否已成功启用:

SHOW VARIABLES LIKE ‘slow_query_log’;

如果输出结果为ON,则说明慢查询日志已成功启用。
可以使用以下命令来验证慢查询日志文件是否已创建:

tail -n 10 /var/lib/mysql/slow.log

如果输出结果包含SQL语句及其执行时间,则说明慢查询日志已成功记录。

6.Innodb 的在线 redo 日志:innodb redo log

通过命令行或修改my.cnf配置文件来设置全局slow_query_log参数为1,以启用慢查询日志功能。例如,在my.cnf配置文件中添加以下行:

最后

作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料


网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-FdiFNgzz-1713598675431)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值