mysql
文章平均质量分 90
恒悦sunsite
做一名专业严谨高效的基础设施运维工程师!
展开
-
Mysql之导出导入表中部分行数据
有需求还是先分析,查找现有的工具是否可以实现,像今天这个需求原本查找到的方法都是创建临时表导出,后来发现mysqldump本身就提供了–where参数,一切就变得简单了很多。实践测试下来很好用。所以需要问题的时候多看看命令的帮助文档真的很好,正所谓磨刀不误砍柴工!原创 2024-02-19 08:30:00 · 2443 阅读 · 0 评论 -
Mysql之数据处理及数据汇总函数
MySQL是一种关系型数据库管理系统,它提供了一组内置函数,用于处理和操作数据库中的数据。这些函数可以用于查询、插入、更新和删除数据,以及执行各种数学、字符串和日期操作。函数一般是在数据上执行的,它给数据的转换和处理提供了方便。博文将在mysql5.7.26版下创建一个test数据库,一张goods表为例,介绍各函数的使用。原创 2023-09-12 08:30:00 · 308 阅读 · 0 评论 -
常用命令之mysql命令之show命令
mysql数据库中show命令是一个非常实用的命令,SHOW命令用于显示MySQL数据库中的信息。它可以用于显示数据库、表、列、索引和用户等各种对象的信息。我们常用的有show databases,show tables,show full processlist等,实际上可以使用的还有很多,实际上包括三十多个子命令,加上可选参数可以查看的数据库信息就更多了。原创 2023-09-05 08:30:00 · 10646 阅读 · 0 评论 -
Mysql之binlog日志浅析
MySQL的binlog日志有三种格式,分别是Statement格式、Row格式和Mixed格式。Statement格式Statement格式是最简单的binlog格式,记录的是执行的SQL语句,可以通过解析SQL语句来恢复数据。这种格式的优点是简单、易于理解和分析,缺点是可能会出现数据不一致的情况,因为同一个SQL语句在不同的环境下可能会产生不同的结果。Row格式Row格式是记录每一行数据的变化,包括插入、删除和更新操作。原创 2023-08-01 08:30:00 · 5035 阅读 · 1 评论 -
Mysql之mysqldump整库备份单表恢复还原
日常运维中,我们往往都是整库备份,整库还原。实际工作中会存在需要还原部分表或者单表的情况。例如在开发或者测试环境中,开发人员因为误操作或者测试需要删除或者清空了某个表,我们需要还原这个被删除或者清空的表。为了恢复这个误删表,我们如果使用整库还原会存在2点问题:一、直接还原到在用库,可能导致其他表已更新数据被覆盖;二、使用临时库整库还原后copy单表会耗时费力。实际上我们只需要截取出单表数据,恢复单表即可。原创 2022-11-23 08:30:00 · 4938 阅读 · 1 评论 -
Mysql之部分表主从搭建及新增表
一般情况下我们配置mysql主从模式实现mysql整库的冗余或者高可用,实际应用场景中还会有只需要同步某库部分表。例如某库含有上百个表,总库大小几十上百G,我们在A/B两城之间搭建数据库主从,A/B两个数据中心之间是通过专线互联,带宽有限,部署在B城的应用实际上都只需要使用数据库的部分表,这种情况下我们就可以搭建mysql部分表主从来实现该需求。运行一段时间后随着业务的变化又需要新增部分表,总体结构还是部分表主从模式。博文实验环境如下:.........原创 2022-08-10 08:00:00 · 1788 阅读 · 0 评论 -
Mysql之加密连接mysql_ssl_rsa_setup
mysql5.7之前的版本是不提供ssl安全连接的,其在网络中数据都是以明文进行传输的。mysql_ssl_rsa_setup程序用于创建 SSL 证书和密钥文件以及 RSA 密钥对文件,以支持使用 SSL 的安全连接和使用 RSA 通过未加密连接的安全密码交换(如果这些文件丢失)。 如果现有的 SSL 文件已经过期,mysql_ssl_rsa_setup也可用于创建新的 SSL 文件。MySQL5.7默认是开启SSL连接,如果强制用户使用SSL连接,那么应用程序的配置也需要明确指定SSL相关参数,否则程序原创 2021-12-27 08:00:00 · 5403 阅读 · 0 评论 -
Shell脚本之一键安装mysql
一、mysql安装脚本简介 一键安装mysql数据库脚本用于centos7环境下安装mysql5.7数据库,安装方式为使用普通用户安装mysql解压包。脚本内容包括,首先检查是否安装mariadb,根据检查结果调用卸载mariadb函数;然后执行安装包解压和数据库初始化;然后mysql添加到用户环境变量;最后启动数据库。适用环境:操作系统:centos7mysql数据库:mysql5.7二、安装步骤1、下载安装脚本从下载链接地址下载安装脚本压缩包,压缩包中包含安装脚本、mysql软件包、配原创 2021-10-09 17:16:38 · 4742 阅读 · 2 评论 -
Mysql之安全清理mysql-slow.log
一、需求说明 经过一段时间的运行,开发数据库的mysql-slow.log文件已经比较大,为了释放磁盘空间,需要对该文件进行清理。mysql-slow.log文件是记录sql语句的执行时间超过设置的long_query_time的语句,默认1秒钟,可以根据数据库实例进行调整设置。二、处置步骤...原创 2021-07-20 17:20:35 · 7370 阅读 · 2 评论 -
常用命令之mysql命令
作为一名运维工程师,我们需要运维的内容可能非常广泛,可能是路由器、交换机;肯能有服务器、操作系统;可能有nginx、中间件等;也有可能是数据库等等。这几天可能倒腾网络配置,过几天可能研究如何优化linux性能,再过几天又可能化身DBA,总之就是领导需要啥运维就得会啥!常在河边站哪有不湿鞋,好记性不如烂笔头。为了临阵磨枪,我们需要把各类知识领域常用命令收纳规整,再需要的时候可以翻出笔记,找到那些我们需要的知识!作为一个混合型运维工程师,如果说数据库需要学习和了解的,首先考虑的一定是mysql。mysql因原创 2021-07-02 09:52:44 · 337 阅读 · 0 评论 -
Mysql之数据存储路径迁移
系统数据库使用keepalived+双主架构部署,系统应用通过VIP地址访问和调用数据库。数据库原来使用rpm包安装,数据存储在默认的/var/lib/mysql目录,数据库运行账户mysql。- 操作系统:centos7.6.1810- 数据库版本:mysql5.7.26- keepalived:Keepalived v1.3.5随着数据量的增长和运维规范化管理需求,拟将数据库数据存储目录迁移至/data/mysql。原创 2021-05-07 15:13:09 · 1954 阅读 · 0 评论 -
Mysql之账户创建及授权
在MySQL中,将权限分为:全局级别 > 数据库级别 > 表级别 > 列级别。在用户发起操作数据库请求的时候会鉴别数据库权限,从最大级别往下搜索。跟用户权限相关的表主要包括:user表、db表、tables_priv表、columns_priv表、procs_priv表。原创 2021-03-27 08:38:33 · 322 阅读 · 0 评论 -
Mysql之centos8环境下安装mysql8
一、mysql8简介MySQL 5.7 到 8.0,Oracle 官方跳跃了 Major Version 版本号,随之而来的就是在 MySQL 8.0 上做了许多重大更新,在往企业级数据库的路上大步前行,全新 Data Dictionary 设计,支持 Atomic DDL,全新的版本升级策略,安全和账号管理加强,InnoDB 功能增强等,目前小版本已经 release 到 8.0.23,新的功能仍然在持续推出。MySQL 8.0是全球最受欢迎的开源数据库的一个非常令人兴奋的新版本,全面改进。一些关键的增原创 2021-03-07 10:07:32 · 1903 阅读 · 1 评论 -
Mysql之keepalived双主搭建
双主模式指两台MySQL互为主从,且两台MySQL均作为主节点对外提供服务,当其中一台MySQL发生故障后,将指向该故障节点的请求快速切换到另外一台MySQL,原来指向非故障节点的请求不受影响。双主模式下两个主库都提供读写服务,如果应用通过两个主库操作相同数据,则会发生冲突导致数据覆盖(使用语句模式复制)或复制异常(使用行模式复制),因此需要对读写服务进行控制:原创 2021-03-03 09:22:43 · 733 阅读 · 5 评论 -
Mysql之MHA搭建部署
MHA 是由日本人 yoshinorim使用perl语言开发的比较成熟的 MySQL 高可用方案。MHA 能够在30秒内实现故障切换,并能在故障切换中,最大可能的保证数据一致性。MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的master 节点,在此期间,MHA 会通过于其它从节点获取额外信息来避免原创 2021-02-28 07:23:50 · 1480 阅读 · 5 评论 -
Mysql之半同步复制
Mysql数据库复制默认的方式是异步复制,但异步复制的不足之处是主库把event写入二进制日志后,并不知道从库是否已经接受并应有了。在异步模式下,如果主库崩溃,很有可能在主库中已经提交的事务,并没有传到任何一台从库服务器上,在高可用集群架构下做主备切换,就会造成新的主库丢失数据的现象。从Mysql5.5版本之后引入了半同步复制功能,需要主从服务器均安装半同步复制插件,才能开启该复制功能。在该功能下,确保从库接受了主库传递过来的binlog内容已经写入到自己的relay log里面了,才会通知主库上面的等待线原创 2021-02-27 08:11:23 · 2132 阅读 · 1 评论 -
Mysql之GTID复制与传统复制模式的切换
# 一、需求说明因GTID复制存在条件限制,有些时候我们需要将主从复制模式进行切换,下面将进行GTID复制和传统复制模式切换介绍,演示环境当前为GTID复制模式。演示环境配置信息如下:# 二、GTID复制切换为传统复制# 三、传统复制切换为GTID复制# 四、GTID使用的限制条件原创 2021-02-26 08:20:37 · 2053 阅读 · 0 评论 -
Mysql之多源复制
一、多源复制简介 所谓多源复制,就是多台主库的数据同步到一台从库服务器上,从库创建通往每个主库的管道。在Mysql5.7之前的版本中,只支持一主一从,一主多从,多主多从的复制架构。从Mysql5.7版本开始支持多主一从的复制方式。搭建过程支持GTID复制模式和binlog+position方式复制。多源复制的好处:可以集中备份,在从库上备份,不会影响线上的数据正常运行;节约购买从库服务器的成本,只需要一个从库服务器即可;数据汇总在一起,方便后期做数据统计;减轻DBA维护工作量。本博文以GTI原创 2021-02-25 16:14:11 · 1788 阅读 · 2 评论 -
MySQL之自带四库之performance_schema库
Mysql5.7版本自带4个数据库,information_schema、mysql、performance_schema、sys。从MySQL 5.5开始新增PERFORMANCE_SCHEMA数据库,主要用于收集数据库服务器性能参数。并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。而现在5.6,5.7中performance-Schema又添加了更多的监控项,统计信息也更丰富。MySQL5.5默认是关闭的,需要手动开启,在原创 2021-02-24 08:21:36 · 1517 阅读 · 0 评论 -
Mysql之GTID复制
从MySQL 5.6开始新增了一种基于 GTID 的复制方式。通过 GTID 保证了每个在主库上提交的事务在集群中有一个唯一的ID。这种方式强化了数据库的主备一致性,故障恢复以及容错能力。 GTID全称是Global Transaction Identifier。GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识,保存在mysql数据目录下的auto.cnf文件里。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。GTID的优点:...原创 2021-02-21 07:51:12 · 3073 阅读 · 3 评论 -
Mysql之异步主从复制搭建
MySQL主从复制有异步模式、半同步模式、GTID模式以及多源复制模式,MySQL默认模式是异步模式。所谓异步模式,只MySQL 主服务器上I/O thread 线程将二进制日志写入binlog文件之后就返回客户端结果,不会考虑二进制日志是否完整传输到从服务器以及是否完整存放到从服务器上的relay日志中,这种模式一旦主服务(器)宕机,数据就会发生丢失。使用主从同步的好处:- 通过增加从服务器来提高数据库的性能,在主服务器上执行写入和更新,在从服务器上向外提供读功能,可以动态地调整从服务器的...原创 2021-02-16 07:55:15 · 822 阅读 · 2 评论 -
Mysql之自带四库之sys库
Mysql5.7版本自带4个数据库,information_schema、mysql、performance_schema、sys。Sys库所有的数据源来自:performance_schema。目标是把performance_schema的把复杂度降低,让DBA能更好的阅读这个库里的内容。让DBA更快的了解DB的运行情况。sys_开头是库里的配置表,sys_config用于sys schema库的配置。Sys库下有两种表- 字母开头: 适合人阅读,显示是格式化的数- x$开头 : 适合工具采原创 2021-02-15 09:49:32 · 8152 阅读 · 0 评论 -
Mysql之mysqlslap工具
一、mysqlslap工具简介 mysqlslap是一个诊断程序,旨在模拟MySQL服务器的客户端负载并报告每个阶段的时间。就像多个客户端正在访问服务器一样。一些选项,例如–create 或–query使您能够指定包含SQL语句的字符串或包含语句的文件。如果指定文件,则默认情况下该文件每行必须包含一个语句。(也就是说,隐式语句定界符是换行符。)使用该 --delimiter选项可以指定其他定界符,这使您可以指定跨越多行的语句或将多条语句放在一行上。您不能在文件中包含注释; mysqlslap无法理解它们原创 2021-02-14 11:41:51 · 1706 阅读 · 0 评论 -
Mysql之mysqladmin工具
mysqladmin是用于执行管理操作的客户端。您可以使用它来检查服务器的配置和当前状态,创建和删除数据库等等。mysqladmin支持以下命令。某些命令在命令名称后带有一个参数。- create db_name创建一个名为的新数据库 db_name。- debug告诉服务器将调试信息写入错误日志。连接的用户必须具有 SUPER特权。此信息的格式和内容可能会更改。- drop db_name删除命名数据库db_name 及其所有表。- extended-status......原创 2021-02-13 07:02:10 · 3617 阅读 · 2 评论 -
Mysql之mysql工具
mysql是一个简单的SQL shell,具有输入行编辑功能。mysql工具是MySQL官方提供的连接工具,用户可以通过mysql连接到mysqld上进行一系列的SQL操作。mysql工具有两种模式:交互模式和命令行模式。交互模式指令需要连接到mysql服务器下达,命令行模式通过特定(-e)参数读取shell命令行传递的指令到服务器。交互使用时,查询结果以ASCII表格式显示。非交互使用时(例如,作为过滤器),结果以制表符分隔的格式显示。可以使用命令选项更改输出格式。原创 2021-02-12 11:57:55 · 1175 阅读 · 0 评论 -
Mysql之mysqldump工具
一、mysqldump工具简介 mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert 语句,当我们需要还原这些数据时,只要执行这些 insert 语句,即可将对应的数据还原。二、使用示例三、参数说明...原创 2021-02-11 07:08:33 · 22434 阅读 · 6 评论 -
MySQL之自带四库之information_schema库
Mysql5.7版本自带4个数据库,information_schema、mysql、performance_schema、sys。INFORMATION_SCHEMA提供对数据库元数据的访问 ,有关MySQL服务器的信息,例如数据库或表的名称,列的数据类型或访问权限。有时用于此信息的其他术语是数据字典和系统目录。该位置存储有关MySQL服务器维护的所有其他数据库的信息。information_schema库共计有61张表。原创 2021-02-10 10:29:29 · 5275 阅读 · 2 评论 -
Mysql之rpm安装方式升级
一、环境说明- 操作系统版本centos7.6- 升级前版本为mysql 5.7.26,安装方式为rpm安装- 升级后版本为mysql 5.7.33,通过rpm包安装方式升级二、升级步骤三、FAQ原创 2021-02-03 09:36:09 · 3080 阅读 · 4 评论 -
Mysql之rpm方式安装
一、环境说明操作系统版本:centos7.6mysql版本:5.7.26[root@test1 ~]# cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)二、安装步骤1、下载mysql对应版本的rpm包从官网下载所需的安装包https://downloads.mysql.com/archives/community/2、卸载系统默认安装的maridb[root@test1 mysql5.7.26]# rpm -e原创 2021-02-01 07:46:28 · 6034 阅读 · 0 评论 -
Mysql之三种免密登录方式
一、示例环境版本说明操作系统版本centos7.6[wuhs@test1 mysql]$ cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)mysql数据库版本5.7.32[wuhs@test1 mysql]$ mysql -Vmysql Ver 14.14 Distrib 5.7.32, for el7 (x86_64) using EditLine wrapper二、MySQL免密登录方式配置示例1、通过设置原创 2020-12-30 15:20:42 · 10371 阅读 · 0 评论 -
MySQL之自带四库之mysql库
一、概述Mysql5.7版本自带4个数据库,information_schema、mysql、performance_schema、sys。其中mysql库是MySQL的核心数据库,类似于sql server中的master表,它包含存储MySQL服务器运行时所需信息的表,mysql库共计31张表。主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。二、mysql库表分类授权信息系统表对象信息系统表日志系统表服务器端帮助系统表时区系统表复制系统表优化器系统原创 2020-12-15 11:53:33 · 1047 阅读 · 0 评论 -
MySQL之CentOS7环境下mysql5.7解压安装
一、解压版mysql简介Mysql解压包是MySQL官网发布的.tar.gz或者.zip格式软件包,其中.tar.gz格式软件包可以用于centos/redhat7操作系统,zip格式软件包为window操作系统。解压版安装包通过简单的解压、数据库初始化即可使用,对应开发人员创建个人开发库非常方便,简单易上手。其中window环境为5.6开始发布免安装的解压版;centos环境为5.7开始发布免安装版,且只支持centos7以上环境。二、环境说明操作系统版本:CentOS Linux releas原创 2020-12-14 15:24:47 · 375 阅读 · 0 评论 -
Mysql之账户密码修改
根据信息系统和数据库安全维护要求,需要定期修改数据库账户密码。修改mysql(5.7.x版本)账户密码的三种方式。试验环境说明:mysql数据库版本:5.7.32方法一:用mysqladmin在操作系统窗口下修改格式:mysqladmin -u用户名 -p旧密码 password 新密码例子:mysqladmin -utest -p password ‘123qwe’[test@testenv ~]$ mysqladmin -u test -p password ‘123qwe’Enter原创 2020-12-13 14:48:15 · 1488 阅读 · 3 评论 -
Mysql之mysqlbackup备份与恢复实践
一、mysqlbackup简介mysqlbackup是ORACLE公司也提供了针对企业的备份软件MySQL Enterprise Backup简称,是MySQL服务器的备份实用程序。它是一个多平台,高性能的工具,具有丰富的功能,例如 “热”(在线)备份,增量和差异备份,选择性备份和还原,支持直接云存储备份,备份加密和压缩以及许多其他有价值的功能特征。经过优化以用于InnoDB表,MySQL Enterprise Backup能够备份和还原MySQL支持的任何存储引擎创建的各种表。它的读取和写入过程(在独立原创 2020-12-12 16:35:34 · 4447 阅读 · 7 评论 -
MySQL之使用过程中报错及处理记录(持续更新)
一、博文初衷此博文初衷是记录自己在使用mysql过程中遇到的问题及处理方法进行记录,以便自己在以后遇到同样的问题的时候可以在此处快速找到答案。也供广大网友参考,系统能够提供点滴帮助。二、报错及处理记录1、执行视图迁移的时候报错:1449 The user specified as a definer (‘root’@’%’) does not exist原因:新库里面没有视图定义者root@%这个账户解决方法:创建改账户或者修改视图定义者修改视图定义者可以参考修改视图定义者https://b原创 2020-12-11 11:27:17 · 912 阅读 · 0 评论 -
Mysql5.7之XtraBackup备份与恢复实践
一、XtrBackup工具简介XtraBackup 是一个用来备份 MySQL 的 InnoDB 数据库的开源工具。支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。Xtrabackup有两个主要的工具:xtrabackup、innobackupex (1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 (2)innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以原创 2020-11-26 16:54:20 · 2202 阅读 · 0 评论