随笔分类 - MySQL
摘要:查看日志是否开启 show variables like 'general_log'; 看看日志文件保存位置 show variables like 'general_log_file'; 看看日志输出类型 table或file show variables like 'log_output'; 开
阅读全文
posted @ 2025-06-21 21:37
屠魔的少年
摘要:背景 一个业务系统刚迁移完,笔者刚回到家,开发那边就遇到了业务报错”Column ‘create_time’ cannot be null”,从字面意思可以理解为表字段’create_time’想插入null值,但报错该字段不能为null。由此引发了对explicit_defaults_for_ti
阅读全文
posted @ 2025-06-21 21:22
屠魔的少年
摘要:1问题现象 MySQL 5.7.34 升级到 8.0.32 后部分查询语句报错如下: ERROR 1267 (HY000): Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICI
阅读全文
posted @ 2025-06-21 21:18
屠魔的少年
摘要:我们可以看到在应用程序中使用了多少未提交的事务吗? 可以看到MySQL服务器当前正在运行多少未提交的事务。 根据MySQL的版本,有几种选择。这些在下面描述。 The INFORMATION_SCHEMA INNODB_TRX Table In MySQL 5.5 And Later 查找活动Inn
阅读全文
posted @ 2025-06-21 20:27
屠魔的少年
摘要:官方解释: https://dev.mysql.com/doc/refman/5.7/en/downgrade-paths.html Downgrade from MySQL 5.7 to 5.6 is supported using the logical downgrade method. ht
阅读全文
posted @ 2025-06-21 20:24
屠魔的少年
摘要:注意事项: 验证插件 sql_mode MySQL 8.0 Group by默认不排序,切换后可能会导致业务返回的结果不对。 Datetime类型字段的值,不能等于空字符串,否则直接报错。 不建议直接使用MySQL 8.0二进制文件替换的方式进行直接升级。 做好数据同步校验。 在测试环境先做好兼容性
阅读全文
posted @ 2025-06-21 20:21
屠魔的少年
摘要:更新之前的需要了解的事项 了解MySQL在升级过程中会做什么操作 对mysql元数据库做更新 数据字典表 系统表(如权限,存储过程,触发器,函数表等) 在升级之前需要对数据库做一个完整性备份 MySQL不支持物理降级(但可以用mysqldump逻辑降级),当升级失败需要有备份进行数据恢复 了解升级的
阅读全文
posted @ 2025-06-21 20:20
屠魔的少年
摘要:1、安装新版本软件在不同目录 /usr/local/mysql5742/ 2、停原库(5.6.51) 快速关库功能关闭(优雅关闭、干净的关闭) /usr/local/mysql5651/bin/mysql -uroot -pchengce243 -S /data/mysql/3306/mysql.s
阅读全文
posted @ 2025-06-21 20:12
屠魔的少年
摘要:将5.7 升级至 8.0注意事项 (1)8.0以后可以调用mysql-shell工具,做升级之前的预检查。 mysqlsh -e "util.checkForServerUpgrade()" (2)升级时不再需要手工 mysql_upgrade (3)限制:升级前必须要备份。否则无法回退。 1、下载
阅读全文
posted @ 2025-06-21 20:08
屠魔的少年
摘要:方法一、INPLACE就地升级 在一台服务器上,原版本升级到新版本。 风险较大。 除非是主从环境。 升级过程 a. 安装新版本软件 b. 关闭原数据库业务(挂维护页) innodb_fast_shutdown=0 备份原数据库数据(冷备) c. 使用新版本软件 “挂” 旧版本数据启动(--skip-
阅读全文
posted @ 2025-06-21 20:07
屠魔的少年
摘要:方法1、进入mysql终端执行shutdown命令可以关闭mysql服务 mysql> shutdown; 方法2、使用mysqladmin关闭 mysqladmin shutdown -uroot -p -S /data/dbdata6033/mysql.sock 方法3、 kill -0 pid
阅读全文
posted @ 2025-06-21 20:03
屠魔的少年
摘要:编辑配置文件 /etc/my.cnf [client] port=3306 socket=/tmp/mysql.sock [mysqld_multi] log = /data/mysql/mysqld_multi.log [mysqld] user=mysql basedir=/usr/local/
阅读全文
posted @ 2025-06-21 03:25
屠魔的少年
摘要:配置MySQL、Redis、MongoDB开机自启动: 一、如果是docker 先设置docker开机自启动: systemctl enable docker 再设置容器开机自启动: docker update --restart=always mysql6033 二、如果是 systemctl s
阅读全文
posted @ 2025-06-21 03:15
屠魔的少年
摘要:# 说明: # 1.需要安装bc 软件 : yum install -y bc # 定义变量 backupDir="/data/DB" # 备份文件存放的路径 todayDateYMD=$(date +%Y%m%d) # MySQL备份脚本中定义的当天时间, 第一部分时间:年月日 yesterday
阅读全文
posted @ 2025-06-21 03:01
屠魔的少年
摘要:#!/bin/bash source /etc/profile shellpath=$(cd "$(dirname "$0")";pwd) bakdir='/dbbackup/mysqlbak/databackup' week_day=$(date +%w) month_day=$(date +%d
阅读全文
posted @ 2025-06-21 02:59
屠魔的少年
摘要:一、liunx操作系统层面 1、整体cpu负载的%user最好不长期超过20%(若%user太高,有极大可能性是索引使用不当) 2、整体cpu负载的%iowat最好不长期超过10%(确认I/O子系统是否有明显瓶颈) 3、整体cpu负载的%idle最好保持在70%以上(让CPU保持低负载) 4、关注各
阅读全文
posted @ 2025-06-21 02:58
屠魔的少年
摘要:源库(华为云): rds-gray-薪商城 langraymall.internal.cn-south-1.mysql.rds.myhuaweicloud.com 目标库(自建数据库): gray-xsc-mysql-slave 10.22.50.199L3307 步骤: 1、主库控制台设置RDS
阅读全文
posted @ 2025-06-21 02:56
屠魔的少年
摘要:1. 基础规范 · 数据库及表统一使用UTF8mb4字符集,特殊需求提前跟DBA评审。 · 数据库及表统一使用innodb存储引擎。 · 统一使用mysql隔离级别 REPEATABLE-READ。 · 创建表使用row_format=Dynamic 格式。 · 禁止使用存储过程和触发器、视图、自定
阅读全文
posted @ 2025-06-21 02:52
屠魔的少年
摘要:运维规范 1、不用root运行服务端进程。 2、文件目录权限隔离。 3、严控公网访问。 4、严控MySQL授权。 5、杜绝弱密码。 6、从库设置read only。 7、线上重要操作必须备份。 8、善用screen -S db 远程操作,防止重要操作网络断开。 9、mysql_config_edit
阅读全文
posted @ 2025-06-21 02:49
屠魔的少年
摘要:1.假如变量参数在column_list.txt中 cat column_list.txt 1111 1111 2222 2222 3333 4444 2.假如要生成批量查询test表中id等于上述列表值的select语句。可以使用如下命令: cat column_list.txt | awk '{
阅读全文
posted @ 2025-06-21 02:48
屠魔的少年