
MySQL
文章平均质量分 77
MySQL工作札记
山与先生
试错求真
展开
-
MySQL 8 OCP 188练习题11-20
MySQL OCP练习一共188题,争取2个月内更完,部分答案存疑,欢迎留言讨论。原创 2024-06-20 15:42:52 · 209 阅读 · 0 评论 -
MySQL 8 OCP 188道练习题1-10
MySQL 8 OCP考试真题解析原创 2022-06-07 10:58:54 · 2387 阅读 · 4 评论 -
2022年MySQL 8 OCP通过小结
2022年MySQL 8 OCP通过小结 就2月份发的MySQL 8 OCP认证做个收尾总结:2月份开了头,拖拖拉拉到了5月才去考试,有主观懒症原因也有客观疫情停考因素。2月份的时候大概过了一遍知识点,3-4月也断断续续拿起来扫两眼,但基本都是无效努力,5月份就直奔网友们分享的题库过了2遍知识点(有用功部分),5月20日成功拿下。 总体感受:有MySQL数据库基础的,2周时间就差不多了。备考的过程中查漏补缺了不少知识点,相比认证本身,这更有意义些。 本次小结就备考的2-3事说一说。1.原创 2022-05-23 10:55:02 · 1495 阅读 · 4 评论 -
MySQL 5.7 临时表空间文件ibtmp1暴增原因及解决方法
MySQL 5.7 临时表空间文件ibtmp1暴增原因及解决方法1. MySQL临时表空间介绍2. 临时表空间文件ibtmp1暴增原因及解决方法3. 监控ibtmp1文件大小1. MySQL临时表空间介绍 关于临时表、临时表空间的概念参考官方解释,临时表一种是用户通过create temporary table创建的显式临时表,另一种是复杂SQL执行时临时创建的隐式辅助表,当临时表需要存储的数据超过了tmp_table_size或max-heap-table-size中的较大值,那么临时表数据将会存原创 2021-10-20 16:28:56 · 6643 阅读 · 0 评论 -
MySQL创建FUNCTION时VARCHAR未定义长度报错
开发同事反映MySQL创建自定义函数时报错:CREATE DEFINER = CURRENT_USER FUNCTION `ISBLANK`(`s` varchar) RETURNS int(1)BEGIN RETURN ISNULL(s) or LENGTH(TRIM(s))=0;END; 报错如下:[SQL]CREATE DEFINER = CURRENT_USER FUNCTION ISBLANK(s varchar)RETURNS int(1)BEGINRETURN原创 2021-01-25 15:41:30 · 927 阅读 · 0 评论 -
mysql: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found解决
不记得什么时候升级了gcc,然后启动MySQL的时候就报错了:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found。原因是升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。(叙述来源) 1. 错误分析[root@chengyu ~]# mysql -uroot -p --prompt="mysql:[\d] \\R:\\m:\\s> "node: /.原创 2021-01-25 08:56:14 · 13177 阅读 · 1 评论 -
MySQL修改innodb_log_file_size参数
下午使用阿里云测试环境的MySQL开发的同事反映报错:nested exception is java.sql.SQLSyntaxErrorException: The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.要求调大innodb_log_file_size。.原创 2020-12-15 16:50:28 · 11482 阅读 · 0 评论 -
RDS MySQL物理备份文件恢复到自建数据库5.6版本实操
关于RDS MySQL物理备份恢复到本地自建库的官方介绍可以参详:https://help.aliyun.com/knowledge_detail/41817.html,本文是5.6版本的实操记录。 关于本文的背景说明:上周某项目上线数据上线操作失误覆盖了几个表的数据,想要用阿里云自有的备份恢复,然后就尴尬了,阿里云提供XtraBackup物理备份但不提供客户自主恢复功能,要恢复要走流程申请,官方来操作,然后我们等待官方用3小时来恢复简单的150多条数据,无力吐槽,只怪自己, 可长点心吧! 事后原创 2020-10-19 09:57:50 · 546 阅读 · 0 评论 -
MySQL单列查询和去除重复数据行
查询重复数据行mysql> SELECT * FROM tb_virus_person WHERE report_url IN (SELECT report_url FROM tb_virus_person GROUP BY report_url HAVING COUNT(report_url) > 1) 去除重复行,保留virus_id最小的数据行mysql> DELETEFROM tb_virus_personWHERE report_url IN(SELECT.原创 2020-10-15 09:11:16 · 459 阅读 · 0 评论 -
MySQL之LOAD DATA INFILE和Oracle之SPOOL过滤字段空格
18:15分接到电话说要配合项目更新做定时的数据同步导入操作,在晚饭前赶着做完了等他们测试,结果饭还没扒几口,说数据有空格导致的问题,改咯(要么在导出端改,要么导入端改):1. Oracle之SPOOL过滤字段空格 数据源库是Oracle,使用SPOOL导出为TXT格式:set linesize 1000set pagesize 0set echo offset heading offset feedback offset colsep "||"SET trims ONset te原创 2020-08-05 16:43:50 · 1758 阅读 · 0 评论 -
MySQL二进制日志(Binary log)
文章目录1. 设置二进制日志格式2. 混合二进制记录格式3. 更改MySQL数据库表的日志记录格式4.二进制日志事务压缩 错误日志(Error log):记录启动、运行或停止mysqld遇到的问题; 通用查询日志(General query log):记录服务器接收到的每一个命令,包括客户端连接以及sql执行记录等; 二进制日志(Binary log):记录引起或可能引起数据更改的SQL,用于数据还原以及主从复制; 中继日志(Relay log):从复制源服务器收到的数据更改日志; 慢查询日原创 2020-08-05 14:35:16 · 533 阅读 · 0 评论 -
MySQL通用查询日志
错误日志(Error log):记录启动、运行或停止mysqld遇到的问题; 通用查询日志(General query log):记录服务器接收到的每一个命令,包括客户端连接以及sql执行记录等; 二进制日志(Binary log):记录引起或可能引起数据更改的SQL,用于数据还原以及主从复制; 中继日志(Relay log):从复制源服务器收到的数据更改日志; 慢查询日志(Slow query log):执行时间超过long_query_time和没有使用索引的sql,用来发现并调优一些慢...原创 2020-07-29 16:46:18 · 880 阅读 · 0 评论 -
[ERROR] [MY-010958] [Server] Could not open log file.[MY-010041] [Server] Can‘t init tc log
手欠作死删了日志,然后启动就尴尬了: [root@chengyu ~]# vim /home/mysql8/data/chengyu.errmysqld: File './binlog.018922' not found (OS errno 2 - No such file or directory)2020-07-27T08:03:36.449918Z 0 [ERROR] [MY-010958] [Server] Could not open log file.2020-07-27T08:0原创 2020-07-28 15:22:05 · 2759 阅读 · 3 评论 -
[ERROR] [MY-011268] 、[ERROR] [MY-010175][Server] Configuring persisted options failed
修改“log_error_services”='log_filter_internal; log_sink_internal; log_sink_json’之后,因为未安装"log_sink_json"组件,重启MySQL报错:[root@chengyu ~]# systemctl start mysqld8Job for mysqld8.service failed because the control process exited with error code. See "systemctl原创 2020-07-27 15:31:34 · 509 阅读 · 0 评论 -
MySQL 错误日志
文章目录1. 错误日志组件配置2. 默认错误日志目标配置3. 错误日志过滤的类型4. 基于优先级的错误日志过滤(log_filter_internal)5. 基于规则的错误日志过滤(log_filter_dragnet)6. JSON格式的错误记录7. 错误记录到系统日志8. 错误日志消息格式9. 错误日志文件刷新和重命名 错误日志(Error log):记录启动、运行或停止mysqld遇到的问题; 通用查询日志(General query log):记录服务器接收到的每一个命令,包括客户端连接以原创 2020-07-27 14:48:43 · 2898 阅读 · 0 评论 -
MySQL 设置和取消“ON UPDATE CURRENT_TIMESTAMP”
文章目录1. 设置“ON UPDATE CURRENT_TIMESTAMP”2. 取消“ON UPDATE CURRENT_TIMESTAMP”1. 设置“ON UPDATE CURRENT_TIMESTAMP” TIMESTAMP和 DATETIME列可以自动初始化并更新为当前日期和时间(即当前时间戳),TIMESTAMP或 DATETIME列定义可以为默认值和自动更新值(一个而不是另一个)或两者都不指定当前时间戳,不同的列可以具有不同的自动属性组合,可以使用 DEFAULT CURRENT_TIM原创 2020-07-22 15:41:12 · 17800 阅读 · 1 评论 -
MySQL 服务端日志
文章目录1. Error log2. General query log3. Binary log4. Relay log5. Slow query log6. DDL log (metadata log) 默认情况下,除Windows系统下的错误日志外,没有启用任何日志(DDL日志始终在需要时创建,并且没有用户可配置的选项);服务器将所有已启用日志的文件写入数据目录中,可以通过刷新日志来强制服务器关闭并重新打开日志文件(或在某些情况下切换到新的日志文件)。 可以在运行时控制常规查询日志和慢速查询日翻译 2020-07-21 15:32:27 · 365 阅读 · 0 评论 -
MySQL定时逻辑备份并发送备份邮件
很久之前的小学鸡脚本了,针对某些生产库专门做的定时逻辑备份(用了很多年,懒,没有优化升级,等网友看完给个完善建议),备份时间每天23:30,备份过程写入emailfile,备份完发邮件到指定邮箱,备份本地保留7天,阵列盘保留30天。 备份脚本:#!/bin/bash# Script:MysqlBackup.sh# Author:ChengYu# Date:2014-06-08export MYSQL_HOME=/usr/local/mysqlexport PATH=/usr/local/原创 2020-07-08 15:32:21 · 482 阅读 · 0 评论 -
Linux、Oracle、MySQL命令提示符显示时间
前言:测试环境Oracle DG开启了FLASHBACK有遇到过to timestamp的恢复场景,因为这个问题有了在sqlplus命令提示符前显示时间的需求,顺着也了解了下怎么在Linux、MySQL命令提示符前显示时间。 1. Linux命令提示符显示时间 PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数,PS1的常用参数以及含义:\d :代表日期,格式为weekday month date,例如:Wed Dec 12\H :完整的主机名称-[root@chengy.原创 2020-07-07 16:42:05 · 1005 阅读 · 0 评论 -
mysqldump: Couldn‘t execute ‘SET OPTION SQL_QUOTE_SHOW_CREATE=1‘
中心的跳板机是Redhat 5.4版本,MySQL 5.0版本,使用起来不那么友好愉快,但是不出问题的情况下忍着用也将就(毕竟是名副其实的懒癌患者),但是总有那么一个契机让你退无可退,比如今天要用mysqldump做一台新服务器的远程导出工作时就遇到了问题: mysqldump: Couldn’t execute ‘SET OPTION SQL_QUOTE_SHOW_CREATE=1’: You have an error in your SQL syntax; check the manual t原创 2020-07-06 15:52:37 · 2416 阅读 · 0 评论 -
mysqlshow简单使用
目录1. 什么是MySQLSHOW2. mysqlshow示例 学无止境,又是为无知努力学习的一天,为什么要说下这个工具呢,因为之前运营组时不时有需求让统计一下表行数给他,然后mysqlshow的价值就体现了,先体验下mysqlshow查询dbcy数据库每个表的数据行数:[root@chengyu ~]# mysqlshow -uroot -p --verbose --verbose dbcy Enter password: Database: dbcy+-----------+--------原创 2020-07-01 16:44:29 · 2216 阅读 · 0 评论 -
MySQL 8 导出之mysqlpump
目录1. mysqldump简介2. mysqldump示例2.1 简单使用2.2 mysqlpump并行处理1. mysqldump简介 mysqlpump是MySQL 5.7中引入的逻辑备份新功能,备份形式是SQL语句,其中大部分参数与mysqldump是相同的,可以理解为加强版的mysqldump,神似Oracle数据库的exp与expdp的关系,mysqlpump的功能如下:可以并行备份数据库以及数据库中的对象,备份速度更快;更好地控制要转储的数据库和数据库对象(表,存储的程序,用户帐户原创 2020-07-01 10:31:49 · 2018 阅读 · 1 评论 -
MySQL导入之mysqlimport
mysqlimport客户端实际上就是“LOAD DATA”命令的一个包装实现,所以大部分参数选项与LOAD DATA相同。 文件名与导入表相同,例如patient.txt, patient.text和 patient所有将被导入到指定表patient中。shell> mysqlimport [options] db_name textfile1 [textfile2 ...] mysqlimport的具体参数如下:[root@chengyu ~]# mysqlimport --原创 2020-06-29 16:29:44 · 14190 阅读 · 1 评论 -
MySQL数据导出mysqldump
MySQL逻辑备份mysqldump(mysqldump至少需要具有对转储对象的SELECT、SHOW VIEW、TRIGGER、LOCK TABLES等权限),输出包含DROP、CREATE TABLE、INSERT等语句,与物理备份相比,逻辑备份还原所需的时间要长得多,对于大规模备份和还原,物理备份更适合于快速还原的原始格式复制数据文件。 通过mysqldump --help命令来了解一下参数: [root@chengyu ~]# mysqldump --helpmysqldump V原创 2020-06-28 09:39:19 · 446 阅读 · 0 评论 -
MySQL 使用LOAD DATA定期同步数据到阿里云数据库
之前有个小的测试项目需要定时同步本地的一些数据到阿里云数据库,用了最机械的脚本执行LOAD DATA来实现,这里简单介绍一下。 LOAD DATA能够快速的将文本文件数据读入表中(导入数据使用LOAD DATA通常比使用INSERT语句快20倍 ),LOAD DATA与SELECT … INTO OUTFILE属于逆向互补功能,要将数据从表导出到文本文件,就使用 SELECT … INTO OUTFILE,反之则使用 LOAD DATA,两者的FIELDS和LINES子句的语法相同。LOAD DA原创 2020-06-23 10:21:09 · 793 阅读 · 1 评论 -
MySQL 8创建用户与用户管理
1. 创建user 对于每个帐户,CREATE USER在mysql.user系统表中创建一条新数据行,包括创建语句中指定的属性,未指定的属性设置为其默认值:身份验证:由default_authentication_plugin系统变量定义的身份验证插件和空凭据;默认角色: NONE;SSL/TLS: NONE;资源限制:无限制;密码管理:PASSWORD EXPIRE DEFAULT PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFA原创 2020-06-19 17:23:12 · 1153 阅读 · 0 评论 -
MySQL 8常用SQL之SELECT
SELECT语法:SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr] ... [into_option] [F原创 2020-06-17 09:14:04 · 828 阅读 · 0 评论 -
MySQL数据库常用命令与SQL简介(一)
工作中MySQL数据库涉及5.6.*/5.7.*/8.0.*版本,本文就日常使用罗列笔记(基于Linux系统、MySQL8)。 1. MySQL服务启动与关闭 MySQL启动脚本和支持的服务器选项组如下: mysqld,也称为MySQL Server,是在MySQL安装中完成大部分工作的主程序,MySQL服务器管理包含数据库和表的MySQL数据目录的访问,数据目录也是其他信息(例如日志文件和状态文件)的默认位置;MySQL服务器启动时,它将监听来自客户端程序的网络连接,管理它们对数据库的访问原创 2020-06-15 15:25:24 · 368 阅读 · 0 评论 -
CentOS 7环境下安装MySQL 8.0.20
最近整理之前的各种笔记,本篇是基于测试机上已安装MySQL 5.7.23,同机再安装MySQL 8.0.20。 扯几句升级到MySQL 8的问题:支持从MySQL 5.7(5.7.9或更高版本)升级到8.0,不支持GA版本之间的升级,不支持从MySQL 5.7的非GA版本升级到8.0;建议在升级到下一版本之前先升级到最新版本,例如,在升级到MySQL 8.0之前,请先升级到最新的MySQL 5.7版本;不支持跳过版本的升级,例如,不支持从MySQL 5.6直接升级到8.0;当release系原创 2020-06-12 09:38:54 · 911 阅读 · 0 评论 -
通过XtraBackup实现不停机不锁表搭建MySQL主从同步
注意!!!!用主库恢复从库的时候有定时任务event的,从库的event要置为disable状态,否则会因为主从都执行定时任务而数据出现主从数据不一致的情况。 主库:[root@mysqlplus soft]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm[r原创 2020-05-19 16:20:06 · 558 阅读 · 1 评论 -
Nagios之MySQL单机与主从监控
关于MySQL监控的插件可以参详:https://exchange.nagios.org/directory/Plugins/Databases/MySQL。本文介绍监控MySQL的两种方法:一种是通过Nagios官方的check_mysql插件(还有第三方类似的check_mysqld插件,据介绍拥有check_mysql及其他功能),另一种第三方的check_mysql_health插件。原创 2017-03-02 09:56:57 · 3755 阅读 · 0 评论 -
LINUX下MySQL 5.6.26 二进制安装
MySQL有三种安装方式:RPM安装、二进制包安装、源码包安装。这3种种方式各有特色,主要特点参考下表。实际应用中,可以根据你所用的主机环境进行优化,选择最佳的配置值,安装定制更灵活。访问MySQL网站http://dev.mysql.com/downloads/下载最新稳定发行版的对应MySQL版本,本文对MySQL 5.6.26的二进制版本进行安装演示。原创 2016-05-05 09:22:41 · 2213 阅读 · 1 评论 -
Linux下MySQL-5.6.26 RPM包安装
Linux下MySQL-5.6.26 RPM包安装原创 2016-05-05 11:34:55 · 4961 阅读 · 0 评论 -
MySQL 5.7.12源码安装实例
CentOS release 6.4(Linux version 2.6.32-358.el6.x86_64)下MySQL 5.7.12源码安装原创 2016-05-04 16:31:52 · 4562 阅读 · 0 评论