云数据库MySQL高级开发实战
文章平均质量分 54
云数据库MySQL高级开发实战,掌握MySQL的内核及原理
liuyunshengsir
全栈工程师
展开
-
数据库mount带参数noatime,nobarrier
当这个选项被设置时,读取文件时不会更新文件的访问时间。这可以提高性能,特别是在使用旋转硬盘或高速硬盘时。写入屏障是一种确保数据完整性的机制,它确保在写入数据之前,所有的元数据都已经被写入磁盘。禁用写入屏障可以提高写入性能,但可能会导致在系统崩溃时数据损坏。请注意,禁用写入屏障可能会导致数据损坏,因此在使用这些选项时要谨慎。在生产环境中,请确保你了解这些选项的潜在风险,并采取适当的备份策略。在添加了这些选项后,你需要重新挂载文件系统以使更改生效。文件中添加相应的选项。要在挂载数据库时使用这些参数,你可以在。原创 2024-05-15 15:40:48 · 700 阅读 · 0 评论 -
mysqlbinlog 生产环境问题排查实践
其中,是你想要将二进制文件保存的目录,mysql-bin是二进制日志文件的前缀。其中,100M是最大文件大小,可以根据需要进行调整。其中,1是服务器 ID,可以设置为任意值;ROW表示使用行级别的二进制日志格式,这是 MySQL 推荐的日志格式,也是能最大限度地保留数据更改的详细信息。以上就是 MySQL 二进制日志的基本格式设置,可以通过调整这些设置来更好地控制和管理 MySQL 二进制日志。原创 2023-05-15 16:07:32 · 432 阅读 · 0 评论 -
MySQL读写分离ProxySQL安装部署
ProxySQL为MySQL的中间件,其有两个版本官方版和percona版,percona版是基于官方版基础上修改而来。原创 2023-04-18 17:41:57 · 1015 阅读 · 0 评论 -
MySQL8.0真正的并行复制writeset
MySQL的主从架构依赖于 MySQL Binlog 功能, Master节点上产生Binlog并将Binlog写入到Binlog文件中。Slave节点上启动两个线程:一个IO线程,从MySQL上捞取Binlog日志并写入到本地的RelayLog日志;另一个SQL线程,不断的从RelayLog日志中读取日志,并解析执行。这样通过在主机和从机上增加几个文件的顺序读写操作,就可以保证所有在主机上执行过的SQL语句都在从机上一摸一样的执行过一遍。原创 2023-03-09 09:54:27 · 1431 阅读 · 0 评论 -
MySQL参数优化之thread_cache_size
每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁,如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。可以看到Threads_cached :代表当前此时此刻线程缓存中有多少空闲线程。Threads_connected :代表当前已建立连接的数量,因为一个连接就需要一个线程,所以也可以看成当前被使用的线程数。Threads_created :代表从最近一次服务启动,已创建线程的数量。原创 2023-02-28 19:48:48 · 1524 阅读 · 0 评论 -
Mysql8.0 开启 SSL加密 mysql_ssl_rsa_setup
1、MySQL 默认是开启SSL连接,如果强制用户使用SSL连接,那么应用程序的配置也需要明确指定SSL相关参数,否则程序会报错。2、虽然SSL方式使得安全性提高了,但是相对地使得QPS也降低23%左右。2.1、对于非常敏感核心的数据,或者QPS本来就不高的核心数据,可以采用SSL方式保障数据安全性;2.2、对于采用短链接、要求高性能的应用,或者不产生核心敏感数据的应用,性能和可用性才是首要,建议不要采用SSL方式;原创 2022-12-16 13:45:54 · 1494 阅读 · 0 评论 -
ProxySQL容器化部署与运行
【代码】ProxySQL容器化部署与运行。原创 2022-11-30 19:29:05 · 354 阅读 · 0 评论 -
mysql的存储过程
MySQL 存储过程是一些 SQL 语句的集合,比如有时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程。可以使用 CREATE PROCEDURE 语句创建存储过程,语法格式如下:1) 过程名存储过程的名称,默认在当前数据库中创建。若需要在特定数据库中创建存储过程,则要在名称前面加上数据库的名称,即 db_name.rds_init_data。需要注意的是,名称应当尽量避免选取与 MySQL 内置函数相同的名称,否原创 2022-11-26 16:39:30 · 235 阅读 · 0 评论 -
mysql8.0 授权远程登录
问题之前一直用mysql5.7 远程授权登录,后来换mysql8.0原来的授权方式报错mysql> GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'AAbb1122!!';ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to原创 2022-04-21 16:26:30 · 510 阅读 · 1 评论 -
MySQL主从异常Coordinator stopped because there were error(s) in the worker(s). The most recent failur
gtid方式主从数据不一致,同步数据时报错。解决办法可以看到具体的出错信息原创 2022-06-22 11:20:54 · 3038 阅读 · 0 评论 -
mysql8.0 mha实现高可用《mha》
设置manager的日志文件。设置manager的工作目录。设置master保存binlog的位置,以便MHA可以找到master的日志,这里的也就是mysql的数据目录。设置自动failover时候的切换脚本。设置手动切换时候的切换脚本。password设置mysql中root用户的密码。设置监控主库,发送ping包的时间间隔,默认是3秒,尝试三次没有回应的时候自动进行railover。设置远端mysql在发生切换时binlog的保存位置。设置复制用户的密码。repl_user。...原创 2022-07-25 09:33:02 · 364 阅读 · 0 评论 -
mysql状态查看 QPS/TPS/缓存命中率查看
运行中的mysql状态查看对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态。(1)QPS(每秒Query量)QPS = Questions(or Queries) / secondsmysql > show global status like ‘Question%’;(2)TPS(每秒事务量)TPS = (Com_commit + Com_rollback) / secondsmysql > show global status like ‘Com_co原创 2022-04-20 20:12:15 · 1692 阅读 · 2 评论 -
MySQL管理工具---Percona Toolkit
pt-summary打印出来的信息包括:CPU、内存、硬盘、网卡等信息,还包括文件系统、磁盘调度和队列大小、LVM、RAID、网络链接信息、netstat 的统计,以及前10的负载占用信息和vmstat信息。pt-diskstats是一个对GUN/LINUX的交互式监控工具。为GUN/LINUX打印磁盘io统计信息,和iostat有点像,但是这个工具是交互式并且比iostat更详细。可以分析从远程机器收集的数据。4、慢查询日志分析统计5、表同步工具和mk-tables-sync功能一样, 用法上 稍原创 2022-06-23 10:37:53 · 134 阅读 · 0 评论 -
mysql 普通日志和错误日志
记录了服务器接收到的每一个查询或是命令,无论这些查询或是命令是否正确甚至是否包含语法错误,general log 都会将其记录下来 ,记录的格式为 {Time ,Id ,Command,Argument }。也正因为mysql服务器需要不断地记录日志,开启General log会产生不小的系统开销。因此,Mysql默认是把General log关闭的。...原创 2022-08-15 11:16:15 · 1342 阅读 · 0 评论 -
mysql: [MY-010055] [Server] IP address ‘10.237.0.196‘ could not be resolved
问题: [Warning] [MY-010055] [Server] IP address ‘10.237.0.196’ could not be resolved: Temporary failure in name resolution原因:mysql对连接的客户端进行DNS反向解析解决方法:1、在/etc/hosts中添加客户端对应的主机名2、在mysql的配置文件中添加禁用dns解析的参数: skip-name-resolvevim /etc/my.cnf在[mysqld]的段中加上一原创 2022-03-01 09:28:23 · 5441 阅读 · 0 评论 -
centos 一键安装mysql8.0和备份工具xtrabackup
centos 一键安装mysql8.0和备份工具xtrabackup原创 2022-06-02 11:10:12 · 231 阅读 · 0 评论 -
mysql exporter源码分析
通过对MySQL Exporter整体进行分析,实现一个自定义的demo收集,并进行采集的整合。原创 2022-10-10 17:54:43 · 316 阅读 · 0 评论 -
mysql 8.0 使用 XtraBackup增量备份及恢复
1.问题描述使用 XtraBackup 进行增量备份(仅仅备份自上次备份后变更的数据),并使用备份数据进行恢复。增量备份原理:1)每个 InnoDB Page 都包含 LSN,LSN 是整个数据库的系统版本号,每个 InnoDB Page 的 LSN 都展示 InnoDB Page 是如何变化的2)在增量备份时,对比 InnoDB Page 的 LSN 与 全量备份的 LSN,如果 InnoDB Page 的 LSN 较新,则复制该 InnoDB Page3)更进一步,如果你知道 LSN,则无需基原创 2022-05-26 16:07:48 · 2562 阅读 · 0 评论 -
percona-toolkit工具包的安装使用《mysql 》
安装后,可以通过下面的命令确认是否安装成功:如果命令提示可以正常显示,则说明pt工具已经正常安装和使用了。有的32个命令,可以分为7大类原创 2022-06-22 13:50:40 · 353 阅读 · 0 评论 -
mysql密码规则配置
1.查看mysql密码配置规则mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+| Variable_name | Value |+--------------------------------------+--------+| validate_password_check_user_name原创 2022-03-09 14:35:50 · 512 阅读 · 0 评论 -
MySql主要性能指标说明
在项目当中数据库一般都会成为主要的性能与负载瓶颈,那么针对数据库各项性能指标的监控与对应的优化是开发与运维人员需要面对的主要工作,而且这部分的工作会贯穿项目从开发到运行的整个周期里。这篇文章中我们对MySql数据库中的几个主要的性能指标的计算与统计进行下说明与总结。...原创 2022-08-10 13:50:49 · 2706 阅读 · 0 评论 -
MySQL主从复制什么原因会造成不一致,如何预防及解决?
导致主从不一致的原因主要有: 1、人为原因导致从库与主库数据不一致(从库写入)。 2、主从复制过程中,主库异常宕机。 3、设置了ignore/do/rewrite等replication等规则。 4、binlog非row格式。 5、异步复制本身不保证,半同步存在提交读的问题,增强半同步起来比较完美。 但对于异常重启(Replication Crash Safe),从库写数据(GTID)的防范,还需要策略来保证。 6、从库中断很久,binlog应用不连续,监控并原创 2022-06-21 16:35:39 · 1285 阅读 · 0 评论 -
mysql 缓存命中率《mysql》
com_select等于qcache_inserts(缓存失效) + qcache_not_cache(没有缓存) + 权限检查错误的查询。因此,Mysql的查询缓存命中率 ≈ qcache_hits / (qcache_hits + com_select)总的select查询数等于com_select(没命中) + qcache_hits(命中) + 解析错误的查询。因此本例中的查询缓存命中率 ≈ 3/(3+46) = 6.12%...原创 2022-08-26 14:40:13 · 562 阅读 · 0 评论 -
Mysql中ACID的实现原理
1.原子性 (Atomicity)原子性是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做。原子性的实现利用Innodb的undo log。 undo log名为回滚日志,是实现原子性的关键,当事务回滚时能够撤销所有已经成功执行的sql语句,他需要记录你要回滚的相应日志信息。例如(1)当你delete一条数据的时候,就需要记录这条数据的信息,回滚的时候,insert这条旧数据(2)当你update一条数据的时候,就需要记录之前的旧值,回滚的时候,根据旧值执行update操作(3原创 2022-04-13 19:32:05 · 1352 阅读 · 0 评论 -
MySQL 8.0新特性
mysql 8.0 新特性原创 2022-06-09 20:53:22 · 116 阅读 · 0 评论 -
五大常见的MySQL高可用方案(最全)
1. 概述我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面:如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。用作备份、只读副本等功能的非主节点的数据应该和主节点的数据实时或者最终保持一致。当业务发生数据库切换时,切换前后的数据库内容应当一致,不会因为数据缺失或者数据不一致而影响业务。关于对高可用的分级在这里我们不做详细的讨论,这里只讨论常用高可用方案的优缺点以及高可用方案的选型。2. 高可用方案2.原创 2022-02-24 20:12:44 · 9733 阅读 · 3 评论 -
mysql 的show slave status参数详解(最全)
(结合Relay_Master_Log_File理解,而且在Relay_Master_Log_File这个值等于Master_Log_File值的时候,Exec_Master_Log_Pos是不可能超过Read_Master_Log_Pos的。等待SQL线程执行完成,当Relay_Master_Log_File和Master_Log_File二进制日志文件名一致,且Exec_Master_Log_Pos等于Read_Master_Log_Pos值。这个是master上面的一个用户。可以继续主从关系呢?原创 2022-10-19 17:23:56 · 856 阅读 · 0 评论 -
centos7 安装mysql8.0
centos7 脚本安装mysql8.0原创 2022-04-14 15:42:39 · 3450 阅读 · 0 评论