作者:徐文梁 爱可生 DBA 成员,一个执着于技术的数据库工程师,主要负责数据库日常运维工作。擅长 MySQL,Redis 及其他常见数据库也有涉猎;喜欢垂钓,看书,看风景,结交新朋友。...当时数据库自动重启,未对生产造成影响,未做处理,但是还是记录了下错误信息,错误日志中有如下信息: InnoDB: End of page dump InnoDB: Page may be an index...虽然之前很幸运未对生产造成影响,但是如果后面哪一天异常了导致实例无法启动,那不就是妥妥的一个生产故障嘛,作为 DBA 要有忧患意识,必须要提前准备好应对之策,针对此类问题,该如何排查以及解决?...考虑生产环境信息安全,在测试环境建立测试表进行展示。...但是如果是生产环境,尤其是金融行业,是无法容忍丢失一条数据的,比较有可能这一条数据就涉及几个小目标呢,因此,重要的事情说三遍,一定要备份!一定要备份!一定要备份!
本次迁移计划将MySQL数据迁移到YashanDB数据库中,并在迁移过程中遇到的问题及其对产品的体验输出自己的使用感受和产品建议,也希望国产数据库能做得越来越棒!...### 2.1 环境说明## 2.2 执行安装下载链接:https://download.yashandb.com/download上传软件包Yashan Migration Platform 23.2.1...# **03 YMP数据迁移**注:由于本次迁移采用的是正式环境数据,所以下列内容关于正式数据的用户名和表名等都做了打码和脱敏。...**原因分析**:MySQL数据库支持简写的字面量查询方式,YashanDB数据库需要使用DUAL伪表做查询。**解决方案**:使用DUAL做伪表即可规避。...国产数据库加油!
2022 最新 线上 生产环境 故障排查 技巧 大全 线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。...一方长期未收到另一方的确认报文,在一定时间或重传次数后发出 RST 报文 这种大多也和网络环境相关了,网络环境差可能会导致更多的 RST 报文。...我们在排查故障时候怎么确定有 RST 包的存在呢?当然是使用 tcpdump 命令进行抓包,并使用 wireshark 进行简单分析了。...tcp_tw_reuse = 1 #表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭 net.ipv4.tcp_tw_recycle = 1 当然我们不要忘记在 NAT 环境下因为时间戳错乱导致数据包被拒绝的坑了
原则:为生产库建立不同的用户管理用户业务用户 管理用户:超级管理用户、dba运维用户、备份用户、监控用户、复制用户 (克隆用户) 业务用户:每个业务模块一个用户,命名可以是user_业务模块名 只读查询用户...:允许开发人员定位问题查询生产库的只读权限 权限分配原则:根据最小原则给每个用户满足需求的最小权限,要是不够再增加 mysql用户和权限牵涉到的表 user : 包含用户账户,全局权限 db: 数据库级别的权限表...replication clinet replication slave show databases shutdown super create tablespace usage grant option 数据库级别权限...:授权方式可以*.* db.* create create routine create temporary tables drop loack tables references 数据库对象级别的权限...账号访问控制认证 第一个阶段:账号和密码认证 第二个阶段:权限检查 用户认证过程中mysql会把用户权限表加载到内存中 账号的匹配 先按照主机名字段排序,然后按用户名排序,用户账号根据排序后信息进行匹配
由于演练对象和演练配置的差异,在生产环境进行试验可能会对生产环境造成不确定的影响,但混沌工程师的责任和义务是确保这些后续影响最小化且被考虑的范围。...因此,可以考虑以下方面尽可能保障生产环境的演练不被破坏: 一、管理方面 1.1、演练人员要做到熟练使用,了解清楚具体某个实验的配置/参数的作用,做到有的放矢; 1.2、生产环境故障注入前,先在测试或者沙盒环境验证和测试...② 设定实验范围: 生产环境中,通过切小部分流量的方式,创建实验组、控制组环境 ③ 故障注入: API 调用 Gallery 的 rpc 请求注入中断故障 ④ 稳态验证: 通过 GetGallery...三、以中移磐基CMChaos混沌平台生产环境落地过程予以分析讲解 首先,可以把故障分成五种类型:机房问题、中间件问题、机器问题、应用问题、依赖问题。...以上是中移磐基混沌工程生产环境实践落地路线,也非常推荐大家按照这种路线来做,从性价比由高往低的方式去推进。
下面的表的程序可以考虑关闭下面的参数 innodb_stats_on_metadata=0 set global innodb_stats_on_metadata=0; 故障分析 注:一般mysql...分析思路: 1、查看mysql的slow.log,看是否出现死锁,及其他报错 2、show processlist; 查看mysql都有哪些连接,判断这些connect是否正常 3、通过使用htop、dstat...tcpdump使用 抓包分析,默认mysql端口为3306 tcpdump -i eth0 -A -s 3000 port 3306 > /tmp/sql.log 引用perl tcpdump -...慢日志,查看哪些sql语句最耗时 pt-query-digest db-slow.log 总结: 有时候不需要全部操作就能找到问题的所在,这次故障中个人是通过show processlist找到不正常的连接...故障分析:后端API服务抛异常,导致一个SELECT频繁去执行,先重启后端API,然后分析报错,找相关人解决。
1案例介绍 首先,我们看一个生产环境上 GROUP BY 语句 的优化案例。...2环境准备 对于 GROUP BY 在使用索引上的优化,分为两种情况讨论: 表上无索引。执行时,会生成临时表进行分组。可以通过索引来优化,来避免使用临时表。 表上有索引。...6参考链接 https://dev.mysql.com/doc/refman/5.7/en/group-by-optimization.html https://dev.mysql.com/blog-archive...https://ost.51cto.com/posts/11914 《高可用 MySQL》https://www.oreilly.com/library/view/high-performance-mysql.../9780596101718/ch04.html 本文关键字:#MySQL# #SQL优化# #GROUP BY#
MySQL数据库安全权限控制管理 制度与流程控制 项目开发制度流程 开发环境 ---→功能测试 ---→ RDS实例上线,通过较为完善的项目开发流程控制,防止很多潜在的问题隐患发生。...数据库发布流程(分为DDL/ DML,DBA 只负责生产环境DDL发布,DML由开发人员自行发布) 涉及到生产数据库重大变更(比如大表加字段,索引,批量数据刷新),需邮件到技术总监以及DBA,判断业务是否允许...,完成上述数据库更改。...涉及到生产数据库小规模变更,直接发给DBA,抄送开发负责人等。...ddl 在提交至预发布环境后钉钉通知DBA,由DBA对 ddl 进行审核(create, alter 等),如有问题驳回修改后发布至预发布环境 。
欢迎转载,转载请注明出处,谢谢 一、背景 公司的生产环境某些应用的数据库是部署在VMWare平台上的,为了节约成本,领导现考虑将全部数据迁移至居于KVM的CAS平台。...二、环境 2.1备份主机环境 [root@GeekDevOps-DB1 ~]# hostnamectl Static hostname: GeekDevOps-DB1 Icon...o:centos:centos:7 Kernel: Linux 3.10.0-327.el7.x86_64 Architecture: x86-64 2.2还原主机环境...CHARACTER SET utf8; Query OK, 1 row affected (0.00 sec) 4.2为创建好的数据库授权给用户GeekDevOps_gsms。...> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> quit Bye 4.3还原数据库。
在开发和测试时,我们往往不会很在意数据库相关的一些并发数的配置,因为开发和测试时,系统的并发量并不会很大, 因此,是否正确设置这些参数也不会对结果造成什么影响 但是,上生产环境后,系统的并发量大大提高,...这时,没有注意数据库的并发数配置的话就会使数据库成为系统最终的 并发瓶颈。...根据我在实际项目中一段时间的并发测试后,发现关于数据库并发数需要配置的几个地方,希望跟大家分享一下,能少走一些弯路 数据库并发配置 查看mysql数据库的服务器的最大连接数 show variables...修改mysql配置文件my.cnf max_connections = 3000 尽量保持 Max_used_connections/max_connections = 85%左右 修改程序中数据源的配置...(这个很重要,我之前就是忘记修改这里而只改了数据库,导致数据库出现的历史并发数一直上不去) <property name
前言 如果我们需要使用webpack,就需要依赖node环境 nvm node npm webpack@cli webpack nvm安装 nvm是一个用来管理node版本的工具。...https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash 2.创建nvm文件夹 mkdir ~/.nvm 3.配置环境变量...编辑环境 vim ~/.zshrc 在文件最后写入环境变量 export NVM_DIR="$HOME/.nvm" [ -s "/usr/local/opt/nvm/nvm.sh" ] && ....3.安装完成后,还需要配置环境变量。在我的电脑->属性->高级系统设置->环境变量->系统环境变量->Path下新建一个,把nvm所处的路径填入进去即可!
环境说明:MySQL:5.7.34 双主OS:Redhat 7.5问题现象:XXX应用登录,提示数据库连接失败。.../mutex/sql/MYSQL_BIN_LOG::LOCK_done | NO | NO || wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_flush_queue.../mutex/sql/MYSQL_BIN_LOG::LOCK_sync | NO | NO || wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_sync_queue...----±-----+3 rows in set (0.01 sec)7.打开另一个新的会话4,无法查询数据,被阻塞MySQL [cjc]> select * from t2;卡住8.打开会话5,执行数据库备份...执行备份1[mysql@mysql01 backup]$ mysqldump -uroot -p cjc > /home/mysql/backup/cjc.sql卡住9.打开会话6,查询会话信息id
背景 如果我们需要在生产环境中修改MySQL数据库中某个库表的结构。那么,需要考虑哪些要点,才能确保不会出问题呢? 碰到的问题 这里先描述一下我在生产环境MySQL数据库中修改库表结构时遇到的问题。...在开发过程中,我发现MySQL中某个库表需要添加一个字段,比如库表: 需要给Sname后面添加一个字段:Sheight。...alter table practice.Student wait 100 add column Sheight int(4) not null default 0 comment '"身高" 总结 在生产环境中变更...MySQL数据库中库表结构是一件比较有风险的事情,所以一定要三思而后行,避免引起任何可能的线上事故。
mysql安装方式有多种 1.rpm包可以用yum安装 2.二进制包解压安装 3.源码编译安装 4.docker镜像方式按照 生产环境安装建议使用第二种二进制包安装 如下操作使用mysql8.0.18...在centos7上安装 作为生产环境安装首先要调整操作系统环境: 调整文件句柄和进程数 vim /etc/systemd/system.conf centos7调整如下2个值 #DefaultLimitNOFILE...tcp_max_syn_backlog = 819200 net.core.netdev_max_backlog = 400000 net.core.somaxconn = 4096 #解决time_wait过高导致数据库连接不上...推荐使用xfs文件系统 io调度 SAS :deadline SSD&PCI-E: noop 规划mysql安装: 1.下载指定版本的msyql数据库 [root@localhost local]#.../mysqld --defaults-file=/data/mysql/mysql3312/my3312.cnf --user=mysql & --initialize 初始化生产随机密码在error.log
早上看到微信一个银行的同学问了小问题,希望他不要背锅,具体问题是MYSQL 一个50G的表要更改字段,将一个字段从varchar(3) 改成varchar(6). MYSQL 5.7 官版。...可能原因如下 1 DDL ONLINE 不阻塞 DML 但并没有说,不会不阻塞 DDL 的操作 2 测试环境比较单纯,可能测试的时候,对表并没有其他的复杂的操作 所以还是那句话,数据库的问题,一定要想的复杂点...有些公司操作ALTER 语句的并不是人工,而是通过购买(或开源)的一个所谓的 “自动化”工具来的,谁也不知道在故障发生的一刻,做了什么,同时不能复制的,就是当时的生产环境到底有没有大事务,并且就对那张表进行了什么操作...也注定 DB的工作,是一件需要小心小心小心的工作,因为生产环境一定有你不清楚的环境,而这些可能不清楚的环境,就会让某次“信心满满”的Action Failed....注:到目前为止MYSQL 在修改字段方面,对比其他数据库还是要注意的地方多多,当然MYSQL 8 已经添加了 instant 让修改字段变得更让人放心。
一、问题描述 1、客户数据库从服务器,套接字丢失/tmp/mysql.sock,导致mysql 直连本地提示访问拒绝 2、正常解决方法:需要人为重启动数据库。...,这台机器原先是mysql5.6 ,后来升级至5.7(采用的是二进制安装) mysql5.6安装路径:/usr/local/mysql mysql5.7安装路径:/usr/local/mysql-5.7.16...所以我修改/etc/profile的环境变量 export PATH=....$PATH:/usr/local/mysql-5.7.16-linux-glibc2.5-x86_64/bin 启动数据库错误问题依旧。。。。。。...& 三、解决方法 根据提示:mysql5.7的mysqld_safe启动时,引用的mysql5.6动态库,是不是因为环境变量之类有影响。
自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。...问题 今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多。发现很正常。...mysql.bak.sql 这里注意一点:数据库备份一定要定期进行,可以用shell脚本或者python脚本,都比较方便,确保数据万无一失。...备份文件传到从库机器,进行数据恢复 scp mysql.bak.sql root@192.168.128.101:/tmp/ 5.停止从库的状态 mysql> stop slave; 6.然后到从库执行...mysql命令,导入数据备份 mysql> source /tmp/mysql.bak.sql 7.设置从库同步,注意该处的同步点,就是主库show master status信息里的| File|
在生产环境部署 Nacos 集群和高可用 MySQL 使用 Docker 前言 在本教程中,我们将详细介绍如何使用 Docker 和 docker-compose 在生产环境中部署 Nacos 集群和高可用...摘要: 本教程详细指导了如何在生产环境中使用 Docker 和 docker-compose 部署 Nacos 集群和高可用 MySQL。...然而,如何在生产环境中稳定、安全地部署 Nacos 集群和其相关的数据库是一个需要深入考虑的问题。本教程旨在为你提供一个明确、全面的解决方案。...在生产环境中,考虑使用 MySQL 高可用集群或主从复制来增加数据的稳定性和可用性。 根据具体需求和资源,可以考虑调整容器的内存和 CPU 限制。...生产环境中的数据是非常宝贵的,因此确保所有通信都是安全的非常重要。 使用防火墙或安全组规则,仅允许从特定 IP 或 IP 范围访问 Nacos 和 MySQL。
1 实战环境介绍 线上环境 mysql数据库一主多从的架构,主写从读进行读写分离,专用从库做数据备份,每天0点全备一次,12点增量备份一次,初始阶段数据量很小的情况按此方案,后续数据量大,读写频繁时...,再进行相关调整,增加增量备份频次 系统环境 [root@mysql-1 ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@mysql...-1 ~]# uname -r 2.6.32-642.el6.x86_64 [root@mysql-1 ~]# mysql -v mysql Ver 14.14 Distrib 5.7.17, for...2 模拟线上数据写入 数据库同步完成,开启3307从库的binlog日志功能 查看目前的日志文件 ? 写入数据测试同步 ? ? ? 注:查看日志文件修改时间发现有数据写入 此时执行全备文件 ?...此时发现数据库数据出现问题,某个数据无法访问了,需要进行恢复 3 恢复数据 数据恢复具体操作如下 1、停止主从同步,应用与数据库的读写操作,防止数据再次写入 ?
登录环境故障-bash-4.1的原因一般是因为用户删除文件的时候,把当前用户的家目录的一些隐藏文件删除所导致的。.bashrc .bash_profile没了,与用户有关的环境变量也没了。
领取专属 10元无门槛券
手把手带您无忧上云