挺多朋友问我宝塔面板的二进制日志怎么关闭,其实前面介绍过宝塔的二进制日志,因为最开始买的服务器硬盘不够,二进制日志文件生成的文件比较占空间,还导致mysql服务启动不了,最后因此关掉了宝塔的二进制日志,具体可以参见关闭二进制日志文件解决宝塔面板mysql服务无法启动。
本篇文章主要讲述的是在数据库中使用清空命令,具有一定学习价值,有需要的朋友可以了解一下,希望能够对你有所帮助。
TA想问:在这样的场景下,还有办法让B库尽快跑完这7200秒延迟数据吗,或者正确的办法是什么呢?
搭建一个网站时,后台的应用程序会连接mysql,连接mysql就需要一个用户密码,但是不能让它使用root用户,root用户的权限太高不安全,所以需要创建一个用户,并授予这个用户一些权限,你可以具体的授予这些用户的某些权限,让它能操作什么不能操作什么。
备份并清空 /var/lib/mysql (也就是mysql的数据目录),不清空在之后的恢复过程中会报错
第一种方法 是删除表中数据且主键ID是继续顺序排下去 第二种方法 是彻底清空表中数据 把数据结构恢复至刚建表的时候 数据全部清空
mysql用户管理: grant all on *.* to 'user1'@'127.0.0.1' identified by '用户密码' = 创建一个新用户 查看当前用户授予的权限:show g
在前面的B站视频,已经给大家演示了如何安装MySQL,如果你还没有安装MySQL,你可以参考“极客开发者”B站视频频道的相关教程。再看以下内容
# /usr/bin/innobackupex --defaults-file=/etc/my.cnf --user=root --password='xxxx' /data/backup
2、在mysql安装目录下,新建my.ini文件,设置默认字符集、端口、存储引擎等;
一、增 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); 语法二: INSERT INTO 表名 VALUES (值1,值2,值3…值n); 2. 指定字段插入数据 语法: INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…); 3. 插入多条记录 语法: INSERT INTO 表名 VALUES
MySQL作为蓝鲸平台存取数据的主要数据库,其稳定性关系到蓝鲸平台的使用体验,而其数据安全性则可能关系到企业IT资产相关信息,在安装和维护蓝鲸平台的过程中应引起足够重视。本文将对如下几个出现过的问题进行分析和提供处理建议。这几个问题分别为:升级,配置日志自动清理,binlog手动清理维护,表清空,备份。
ln -fs /www/server/mysql/bin/mysqlbinlog /usr/bin
MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启binlog才能进行主从。 主从过程大致有3个步骤 1)主将更改操作记录到binlog里 2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里 3)从根据relaylog里面的sql语句按顺序执行 主上有一个log dump线程,用来和从的I/O线程传递b
技术交流群总是能带来很多实际生产环境遇到的问题,例如,近期就有人遇到user表内容被清空的情况。如果发生了此情况,千万不要慌,更不能隐瞒问题(这位朋友就比较惨,别人删了也没敢告知,结果binlog已经清理了),以免不利于恢复。现在针对几种情况,进行恢复操作的演示。
MySQL Group Replication(MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案,MGR是基于原生复制及paxos协议的组复制技术,并以插件的方式提供,可以采取多主模式和单主模式,单主模式下,会自动选主,所有更新操作都在主上进行,多主模式下,所有server都可以同时处理更新操作。下面我们就来搭建下MGR集群(单主模式)。
早起删除mysql库中异常数据,使用控制台ssh连接上进行删除。第一次删除成功,第二次删除改写where条件。中文输入法忘记关闭,没有确认SQL语句,点击Enter..........意外的整表被清空了。
MySQL创建用户以及授权 给用户user1授权,指定IP:127.0.0.1,只有在这个IP下才能登陆,密码为11111,*.*是可以访问所有mysql文件,因为这了指定了IP,所在登陆的时候需要加-h指定IP:127.0.0.1 grant all on *.* to ‘user1’@’127.0.0.1’ identified by ‘111111’; 针对user2在库db1中授权使用select,upadte,insert: grant SELECT,UPDATE,INSERT on db
主要也是参考下面链接最终成功恢复。 这篇文章的步骤稍微有点多。有些是恢复不必要的,这里做一下自己的整理。
docker volume create volume_name命令新建一个数据卷
13.4 mysql用户管理 mysql用户管理目录概要 grant all on . to 'user1' identified by 'passwd'; grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd'; grant all on db1.* to 'user3'@'%' identified by 'passwd'; show grants; show grants for use
问题:会导致备份的数据时间点可能不一致,恢复后的数据时间点不一致,还有可能造成mysql拒绝恢复
从日志中可以看出是innodb引擎出了问题。日志里提示到 http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html查看强制恢复的方法。
常用的 MySQL 数据库恢复工具(也能进行备份操作)是 phpMyAdmin,这是一个开源、免费的工具,大多数主机商(例如 Hawkhost)都会免费提供 。相信很多站长也用过 phpMyAdmin 来进行网站数据库的备份和恢复,确实很方便,并且有多国语言界面。不过,有一种情况可能你还没碰到,就是当你的数据库体积比较大时,例如 SQL 备份文件大于 2MB,甚至大于 10MB,这个时候如果你通过 phpMyAdmin 来进行数据库的恢复,就会出错,显示如下的提示:
1.安装依赖 yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL libev-devel
每当有节点新加入或重新加入MGR集群时,该节点必须要先追平落后(有差异)的事务,这个追平最新数据的过程称为分布式恢复。先进行 本地恢复,然后再进行 全局恢复。
最近我想将网站的数据库版本升级,发现宝塔面板可以切换数据库版本。我尝试切换MySQL版本,但是发现并不像PHP版本切换那么简单。
ACSR(Auto Crash Safey Recovery)自动的故障安全恢复 更新操作 在一行数据被更新时: 1、在使用BEGIN开启事务时,会先给.ibd文件中分配一个TXID号和LSN号,假设为tx_01与lsn1001; 2、在UPDATE执行时,MySQL会找到需更新数据的数据页,并将其内容加载到data buffer pool中,由DBWR(double write)线程记录变更数据页的内容,并且记录好TXID和更新LSN号,此时将产生脏页与脏数据; 3、使用LOGBWR(log doubl
作为小站长,mysql数据库算是比较常用的了。作为运维,肯定遇到过数据被误删的情况。下面模拟数据库为误操作删除后的恢复过程。
今天我们的zabbix-server机器根空间不够了,我一步步排查结果发现是/var/lib/mysql/下的libdata1文件过大,已经达到了41G。我立即想到了zabbix的数据库原因,随后百度、谷歌才知道zabbix的数据库他的表模式是共享表空间模式,随着数据增长,ibdata1 越来越大,性能方面会有影响,而且innodb把数据和索引都放在ibdata1下。
一次意外让我有幸了解了binlog,我无意间将某个库的数据都清空了,当时差点没喘过气来,然后经过一晚上的抢救,把这个经验留下。
墨墨导读:日常MySQL运维中,会遇到各种各样的问题,下面分享二十个MySQL运维案例,附有问题的分析和解决办法,希望你遇到同样的问题的时候,可以淡定地处理。
一、mysql默认安装的4个库: 1.information_schema:保存关于mysql服务器所维护的所有的其他数据库的信息,例如:数据库名、数据库中的表名; 2.mysql:记录数据库用户,权限,关键字等。mysql自己需要使用的控制和管理信息; 3.performance_schema:5.5版本新增一个库,用于手机服务器性能参数,且该库中所有的表的存储引擎均为performance_schema; 4.test:测试库,所有用户再test库里都有root权限(一般不会存储有用的信息再test库里) 二.1.创建数据库:create database databasename; databasename是指数据库名称 2.移动到指定的数据库里:use databasename; 3.删除数据库:drop database databasename; 其它用法 1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2、创建一个数据库MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3、选择你所创建的数据库 mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!) 4、查看现在的数据库中存在什么表 mysql> SHOW TABLES; 5、创建一个数据库表 mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6、显示表的结构: mysql> DESCRIBE MYTABLE; 7、往表中加入记录 mysql> insert into MYTABLE values (”hyq”,”M”); 8、用文本方式将数据装入数据库表中(例如D:/mysql.txt) mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE; 9、导入.sql文件命令(例如D:/mysql.sql) mysql>use database; mysql>source d:/mysql.sql; 三,数据库的存储引擎: 1.什么是存储引擎:数据库的存储引擎是数据库的底层软件组件,数据库管理系统(Dbms)就是依赖存储引擎来对数据表进行创建,查询,更新和删除操作的。不同的存储引擎提供了不同的存储机制,索引技巧和锁定水平等功能。还可以获得某些特定的功能。现在不同的数据库的管理系统都支持多种不同的存储引擎。mysql的核心就是存储引擎。 2.MySQL的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在MySQL中不需要所有的表都使用同一种引擎,针对具体的需求每一张表都可以选择不同的存储引擎。 MySQL5.5支持的存储引擎有:InnoDB,MyiSAM,Memory,CVS等。 查看mysql中所有的存储引擎的命令:show engines\G Engine: PERFORMANCE_SCHEMA #引擎名称 Support: YES #mysql是否支持这种引擎 Comment: Performance Schema #mysql对它的评价 Transactions: NO #是否支持事务 XA: NO #是否支持事务的分布式 Savepoints: NO #事务的保存点 1.myisam存储引擎的特点: (1)myisam引擎读取速度快,占用资源少,不支持事务,不支持外键约束,但支持全文索引 (2)读写相互阻塞,也就是说读数据的时候就不能写数据,写数据的时候就不能读数据; (3)myisam引擎只能缓存索引,而不能缓存数据; (4)mysql5.5之前的默认引擎。 使用场景: (1)不需要事务支持的业务,例如银行转账就不适合用myisam引擎; (2)适用于读数据比较多的业务,不适用于读写频繁的业务; (3)并发相对较低的业务(纯读或者纯写的高并发也可以),数据修改相对较少的业务; (4)硬件资源比较差的机器可以考虑多使用myisam引擎。 2.InnoDB存储引擎的特点: (1)事物类数据表的首选引擎,支持事物安全表,支持行级别锁定和外键,mysql5.5之后的默认引擎; (2)具有提交,回滚和崩溃恢复能力的事物安全存储引擎,能处理巨大的数据量,性能及效率高,完全支持外键完整约束条件; (3)具有非常高的效的缓存特性,能缓存索引也能缓存数据,对硬件要求高, (4)使用InnoDB时,将在mysql数据目录创建一个名为ibdata的10M带大小的自动扩展文件,以及两个名为ib_logfile0和ib_logfile1的5M带大小的日志文件。 使用场景:
删库跑路也是个老梗了,可见在运维数据库的过程中误删除数据,或者开发的代码有bug,造成数据的误删除屡见不鲜。不过现在也有许多用于恢复或预防误删除的方案,例如SQL管理系统,将要执行的SQL先交由管理员审核,然后由管理员备份一个镜像数据库,在镜像上执行该SQL,并在执行后还原镜像。这样经过层层把关就可以大大减小出现误操作的几率。
备份恢复是 DBA 必备的技能,开源数据库 MySQL 在社区中有不少常用的备份恢复方案,xtrabackup,mypump,mydumper,mysqldump,mysql enterprise backup 等等。但是这些方法多数都是从外部利用各类数据库的机制来完成备份与回复,因此多多少少会存在操作步骤多,备份恢复比较慢等问题。于是 Oracle 在 19 年 7 月下旬发布的 MySQL 的 8.0.17 版本中,加入了一个全新的功能性插件:Clone。这个插件只需要几行 client 命令就可以完成数据库的备份恢复,且花费的时间远也低于常规的备份恢复手段。
如下,该节点被踢出集群,直接执行Stop group_replication;报错:
每条 SQL 前面的数字是它的编号,4 条 SQL 分别为 SQL 1、SQL 2、SQL 3、SQL 4,其中,SQL 4 是本文的主角。
大家当年在学MySQL的时候,为了能够迅速就业,一般是学习一下MySQL的基本语法,差不多就出山找工作了。水平稍微好一点的童鞋呢还会懂一点存储过程的编写,又或者是懂一点索引的创建和使用。但是呢,基本上大家都忽略了对底层知识的学习。为什么呢?因为工作中很少用到嘛。然后呢,市面上流传的大部分这种底层的知识,又比较偏运维,研发懂这么多意义也不是太大,很多知识可能这辈子都不会用到。 因此,我整理了一部分相关的知识,希望大家有所收获。
折腾 WordPress 多少要接触到 MySQL 的一些操作,比如,玛思阁之前重装 postview 插件后发现所有的 view 数据都被清空了!只好到 phpMyAdmin 后台去进行 wp_postmeta 表的部分数据恢复,其中就会用到下文【根据条件导出 mysql 的指定表】的方法,将 meta_key=views 的栏位对应的 meta_value 值全部恢复过来。所以,以下内容很基础,但是却很实用,特地搜集整理,以备不时之需。 一、终端登陸 Mysql $mysql -u[用戶名] -p[p
mysql数据库使用总结 本文主要记录一些mysql日常使用的命令,供以后查询。 1.更改root密码 mysqladmin -uroot password 'yourpassword' 2.远程登陆mysql服务器 mysql -uroot -p -h192.168.137.10 -P3306 3.查询数据库 show databases; 4.进入某个数据库 use databasename; 5.列出数据库中的表 show tables; 6.查看某个表全部字段 desc slow_log; show
关于这种方式的更多内容,可以参考: https://dev.mysql.com/doc/refman/5.7/en/point-in-time-recovery.html
上午同事反应MySQL连不上了,我到服务器上用"df -h"查一下磁盘,发现磁盘打满了。解决顺便记录一下流程:
之前老哥讲了Redis常用命令大全、Redis持久化备份及容灾恢复的处理。今天我们来讲讲Redis的主从复制如何实现。
原文地址:http://blog.itpub.net/29773961/viewspace-2143726/
出现这个问题感觉还是挺疑惑的,因为测试环境已经稳定运行了几个月的时间,一直没有出现过mysql事务锁的问题,于是开始着手查问题。
MySQL、Mariadb、PostgreSQL删除表数据、清空表命令 都可用以上三种命令。
近段时间一直在研究mysql的日志系统,在网上看了N多mysql日志操作的文章,但都过于零乱,为了让自己以后不再搞忘,特作出以下总结:
SHOW TABLES FROM 数据库名 直接写SHOW TABLES,查看的是当前使用数据库下的表
2.启动顺序 PD->tikv->pump->tidb->tiflash->drainer
领取专属 10元无门槛券
手把手带您无忧上云