数据库
文章平均质量分 71
妖四灵.Shuen
这个作者很懒,什么都没留下…
展开
-
mysql 查询账号创建
一. 创建用户命令:CREATE USER '用户名'@'允许的主机' IDENTIFIED BY '密码';说明:username:你将创建的用户名 host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符% password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器例子:CREATE USER 'mysqluser'@'localhost' IDENTIFIED转载 2021-04-09 16:27:52 · 1685 阅读 · 0 评论 -
2021-04-02
在用复制账号对mysql salve管理过程中,使用哪些权限合适?首先看一下mysql官方提供的权限表: 权限 列 上下文 CREATE Create_priv 数据库、表或索引 DROP Drop_priv 数据库或表 GRANT OPTION Grant_priv .转载 2021-04-02 15:36:33 · 1073 阅读 · 0 评论 -
mycat 配置文件元素类型为“mycat:schema“ 的内容必须匹配 “(schema*,dataNode*,dataHost*)“。
记录一下mycat 配置文件注意事项。什么意思?注意这意思是你配置文件的时候一定要按照 schema dataNode dataHost 的顺序来配置节点信息。出现这种问题是因为有些伙伴喜欢按不同的数据库节点关联关系放置,不按照dom节点顺序放置就会产生这样的效果 <!--先放置schame dom节点信息--> <schema name="campus_test_2020online" checkSQLschema="false" sqlMaxLimi..原创 2021-01-19 12:33:08 · 1423 阅读 · 0 评论 -
mycat 可视化监控 mycat-web 安装使用
下载地址:http://dl.mycat.org.cn/里面就有zk包,jdk包,以及mycat-web包,注意:地址有可能会发生变化,如果失效了,直接去mycat官网找到下载就行1.下载安装zookeeper服务下载zk包wget http://dl.mycat.org.cn/zookeeper-3.4.6.tar.gz解压tar xvf zookeeper-3.4.6.tar.gz -C /usr/local/cd /usr/local/zookeeper-3.4..原创 2020-12-30 15:58:32 · 875 阅读 · 0 评论 -
Centos7 Mysql5.7 Xtrabackup的安装与使用
Xtrabackup的安装与使用1. XtraBackup 简介物理备份:开源最佳工具Xtrabackup XtraBackup(PXB) 工具是 Percona 公司用 perl 语言开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,并且全部开源,真可谓是业界良心。阿里的 RDS MySQL 物理备份就是基于这个工具做的。由于是采取物理拷贝的方式来做的备份,所以速度非常快,几十G数据几分钟就搞定了,而它巧原创 2020-12-25 12:27:47 · 2722 阅读 · 4 评论 -
centos7 Mysql 5.7安装
很久没用直接使用mysql源码包在linux安装了,今天刚好因为项目环境需要在物理机上搭建一个mysql环境,刚好记录下MySQL 5.7.32详细下载安装配置教程前言在安装MySQL的时候会遇到很多问题,博客上有很多解决问题的办法,在这里我附上一些链接,遇到问题的朋友们可以阅读参考哈~本文主要针对于刚接触数据库的小白,来安装MySQL数据库。目前官网上的MySQL版本有5.5,5.6,5.7和8,在开发的时候我们一般要选择比最新版低1到2个版本的,因此我选择了5.7作为要安装的数据库1..原创 2020-12-02 14:36:39 · 351 阅读 · 1 评论 -
GTID 模式 优缺点以及使用注意
Mysql主从复制1.)普通主从复制: 普通主从复制主要是基于二进制日志文件位置的复制,因此主必须启动二进制日志记录并建立唯一的服务器ID,复制组中的每个服务器都必须配置唯一的服务器ID。如果您省略server-id(或者明确地将其设置为其默认值0),则主设备将拒绝来自从设备的任何连接。2.)GTID 主从: (1.)基本概念 MySQL 5.6 的新特性之一,全局事务标识符(GTID)是创建的唯一标识符,并与在源(主)服务器上提交的每个事务相关联。此标识符不但是唯一的,而且在给...原创 2020-09-21 16:53:50 · 2936 阅读 · 0 评论 -
Slave_SQL_Running: No Mysql同步故障解决方法(包含GTID 解决方案)
今天测试突然找到我,说主从同步出问题了,南哩,又出现了什么骚操作?我马上连接数据库,执行下面语句,查看slave 从库的状态SHOW SLAVE STATUS;居然Slave_SQL_Running = NO注:从库正常Slave_IO_Running 以及Slave_SQL_Running 值为YES,Slave_IO_State :Waiting for master to send eventSlave_IO_Running:连接到主库,并读取主库的日志到本地...原创 2020-09-21 15:46:27 · 2588 阅读 · 0 评论 -
Mysql 主从设置模板
主库[mysqld]#唯一标志server-id=110#binlog 开启binlog,以及文件的前缀名称log_bin=master-bin-log#忽略哪些库不记录binlogbinlog-ignore-db=mysql#过期时间expire_logs_days = 7#binlog文件大小max_binlog_size = 512M#记录的格式 mixed row smixed row statementbinlog_format=mixed#gtid 同原创 2020-09-19 18:01:31 · 351 阅读 · 0 评论 -
数据库同步操作记录
主库#查看只读模式是否开启show global variables like "%read_only%";#开启只读模式 set global read_only=1; 只能锁住普通用户,加上 flush tables with read lock; 锁住super用户flush tables with read lock;set global read_only=1;#将MySQL从只读设置为读写状态的命令:unlock tables;set global read_o原创 2020-09-15 16:13:42 · 474 阅读 · 0 评论 -
mysql 一次数据更新过程(undo redo binlog 内存缓冲池扮演了什么角色)
介绍本篇博文是自己学习儒猿技术窝)中:《从零开始带你成为MySQL实战优化高手》专栏课程,进行的总结,因为老师写的很好,所以很大一部分直接拿过来使用。如果想学习完整的知识,请支持正版,地址:从零开始带你称为MySQL实战优化高手(儒猿技术窝)本文主要讲解了一次数据更新在mysql中经历了哪些过程。先直接看下我们会讲到哪些步骤,文章中 主要有以下9个步骤:(1)更新语句经过 解析,优化 生成执行计划,交由执行器调用存储引擎接口(注:执行器会多次调用存储引擎接口,并不是一次完成)原创 2020-08-13 17:44:19 · 9630 阅读 · 4 评论 -
Mysql 优化之 buffer pool 设置
介绍Buffer pool是内存中用来缓存数据和索引的存储区域,其是MySQL性能调优的重要一环。 理想情况下,设置的size越大,则缓存到内存的数据越多,InnoDB就越像是内存数据库。以便于以后在查询的时候,万一你要是内存缓冲池里有数据,就可以不用去查磁盘了,我们看下图。Buffer pool的底层是一个列表,通过LRU算法进行数据页的换进换出操作。当空间原因导致新页的加入需要换出一页时,InnoDB取出最近最少使用的页并将这个新的数据页加入到列表的中央。从方向上看,列表的头部是最常使用.原创 2020-08-13 15:45:45 · 12065 阅读 · 0 评论 -
Mysql 选择 逻辑备份 or 物理备份?
为什么要备份?这里有大概以下几个原因灾难恢复 人们改变了想法或误操作 审计,法律规定 测试备份方案得建议:再生成实践中,对于大数据库来说,物理备份是必须得(注:但是像使用 RDS等云数据库,无法访问底层文件得话,就只有逻辑备份)逻辑备份太慢并收到资源限制,从逻辑备份中恢复需要很长时间,这也是最大得缺点。基于快照得备份。对于较小得数据库,逻辑备份可以很好地胜任。 保留多个备份集。 定期从逻辑备份(或者物理备份)中抽取数据进行恢复测试。 保存二进制日志以用于基于故障时间点得恢.原创 2020-08-13 14:28:44 · 7889 阅读 · 0 评论 -
Could not open JDBC Connection for transaction; nested exception is : Communications link failure
CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet successfully received from the server was 2,297,746.原创 2020-08-06 15:24:11 · 14113 阅读 · 0 评论 -
为什么要分解Mysql复杂的关联查询?在应用层实现多次请求?
因为科学技术的快速发展,千万不要忽略了科技的发展,不然你最终会被如今快速发展的社会所淘汰。在多年以前,最好的方案是让数据库尽可能多的去完成复杂的工作,那是因为在那时的环境下,重视强调网络通信慢,多次网络请求开销大,数据库查询解析和优化花费代价很高,综合考虑下得出的最优的方案是:让数据库一次性多干活。但是对于现在的Mysql并不适用,网络通信性能的提升(带宽和延迟),mysql连接和断开很轻量级,分析和优化代价更小,让返回小结果集更加高效,之前的网络限制也不再是问题的关键,那么我们就应该转变思维,改成原创 2020-07-29 16:14:14 · 8574 阅读 · 1 评论 -
Mysql 主从复制重要参数
一些重要的参数:log-bin :搭建主从复制,必须开启二进制日志server-id:mysql在同一组主从结构中的唯一标识,各个服务器必须不同server-uuid:从mysql5.6开始有了该参数,在数据库启动过程中自动产生,每个机器都不一样, uuid存放在auto.cnf文件中read only:设置从库只读状态,避免在从库上写操作,但该指令对超级管理员是无效的,mysql5.7增加了一个新的参数super_read_only,该参数使得超级管理员也无法进行写操作。原创 2020-07-29 10:27:18 · 8633 阅读 · 0 评论 -
mysql 命令行导入导出
本文介绍一些常用的导入导出,文章末尾附带额外的参数。有3种方式来调用mysqldump:shell> mysqldump [options] db_name [tables]shell> mysqldump [options] ---database db1 [db2 db3...]shell> mysqldump [options] --all--database示例:导出导出所有库系统CMD命令行:mysqldump -uusername -ppassword原创 2020-07-28 19:09:48 · 7328 阅读 · 0 评论 -
使用Navicat 同步数据
因为最近项目数据库要加入主从机制,因此需要对原有的数据库进行克隆,当然也可以通过执行mysqldump命令完成复制,但这里我主要讲下如何使用Mycat 进行数据库的一个克隆二、结构同步1、打开Navicat之后,点击上方工具-》结构同步。选择资源数据库 -> 目标数据库 选择完以后,会显示对应的数据库信息。(注:最好在克隆或者备份的时候进行一次备份,避免意外情况),也可以根据自己的需要调整对比的选项然后点击比对,等待数据库结构的对比3、比对之后,在如下图查询修改中会...原创 2020-07-28 12:54:34 · 6547 阅读 · 0 评论 -
为什么数据库尽量不用UUID作为主键
注:本文数据库主要以Mysql InnoDB存储引擎为基础进行讨论。我们都知道在选择主键的类型的时候,尽量避免随机的(不连续且值得分布范围非常大)值作为数据库主键,特别是对于I/O密集型得应用。那么为什么?原创 2020-07-26 22:53:25 · 10554 阅读 · 0 评论 -
mysql mvcc多版本并发控制
事务隔离的实现方案有两种,LBCC和MVCC,MySQL的大多数事务型存储引擎实现的都不是简单的行级锁。基于提升并发性能的考虑,他们一般都是同事实现了多版本并发控制(MVCC,Mutil-Version Concurrency Control)。原创 2020-07-21 17:18:37 · 7386 阅读 · 0 评论 -
Mysql 哈希索引(hash index)
哈希索引本身在实际项目中使用的并不多,但是常常在面试的时候拿来与B+Tree 索引等进行比较提问,那么哈希索引到底是怎样的结构?又适用于哪些场景呢?有哪些优点和缺点呢?结构实现哈希索引(hash index) 是基于哈希表实现,只有精确匹配索引所有列,查询才会有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码(hash code),哈希码是一个较小的值,并且不同健值的行计算出来的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针。特性因为索原创 2020-07-13 17:42:36 · 8955 阅读 · 1 评论 -
Mysql 数据库表设计 应该注意什么?
良好的逻辑设计和物理设计是高性能的基石,在进行设计的时候应该根据系统将要执行的查询语句来设计表,这往往需要权衡各种因素,那么这些因素有哪些呢?我们应该重点关注什么呢?这常常苦恼着我们,良好的设计原则是普遍适用的,下面文章将介绍一些常规的思考维度提供参考尽量避免过度设计,例如会导致极其复杂查询的表设计,或者有很多列的表设计(很多的意思是介于有点多和非常多之间) 适用小而简单的合适数据类型,除非真实数据模型中有确切的需要,否则应该尽可能地避免使用NULL值(详细见 为什么Mysql 尽量使用NULL值?原创 2020-07-13 17:00:58 · 8707 阅读 · 0 评论 -
为什么Mysql 数据库尽量避免NULL?
在Mysql中很多表都包含可为NULL(空值)的列,即使应用程序并不需要保存NULL也是如此,这是因为可为NULL是列的默认属性。但我们常在一些Mysql性能优化的书或者一些博客中看到观点:在数据列中,尽量不要用NULL 值,使用0,-1或者其他特殊标识替换NULL值,除非真的需要存储NULL值,那到底是为什么?如果替换了会有什么好处?同时又有什么问题呢?那么就看下面:(1)如果查询中包含可为NULL的列,对Mysql来说更难优化,因为可为NULL的列使得索引,索引统计和值比较都更复杂。 (2)含N原创 2020-07-13 16:55:09 · 10214 阅读 · 0 评论 -
MySQL事务(Transaction)详解
事务定义事务是一组原子性的SQL查询,或者说是一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中有任何一跳语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。事务的概念并不仅仅专属于Mysql。事务的例子关于银行账户转账操作,账户转账是一个完整的业务,最小的单元,不可再分———也就是说银行账户转账是一个事务以下是银行账户表t_act(账号、余额),进行转账操作up原创 2020-07-09 11:25:00 · 8020 阅读 · 0 评论 -
Mysql 语法执行顺序
熟悉Mysql 语法的小伙伴们都知道sql的语法顺序,如下:select[distinct] from join(如left join) on where group by having union order by limit 如果有去查阅一些文档或书籍,应该就知道sql在执行的过程过其实并没有按照上诉的语法顺序执行的,它内部机制中会对语法进行解析,处理,优化 后生成查询计划,然后交给查询执行引擎 调用相应的存储引擎处理,如下:这里主要是对最终的语原创 2020-07-08 10:30:24 · 7988 阅读 · 0 评论 -
Mysql字符串字段判断是否包含某个字符串的几种方法
方法一:SELECT * FROM users WHERE emails like "%b@email.com%";方法二:利用mysql 字符串函数 find_in_set();SELECT * FROM users WHERE find_in_set('aa@email.com', emails);这样是可以的,怎么理解呢?mysql有很多字符串函数 find_in_set(str1,str2)函数是返回str2中str1所在的位置索引,str2必须以","分割开。注:当st转载 2020-05-26 11:08:00 · 12753 阅读 · 0 评论 -
mysql binlog恢复数据 之 binlog2sql 使用
python binlog2sql.py -hlocalhost -P3306 -udev -p'\*' -d room -t room_info --start-file='mysql-bin.011012' --start-position 129886892 --stop-position 130917280 > rollback.sql详细的说明和使用可以参考github主...原创 2020-04-30 16:03:16 · 13336 阅读 · 0 评论 -
windows系统 mysql 安装
前言本人使用的下载包 mysql-5.7.16-winx64.zip1.官方获取下载包根据个人使用情况下载相应的ZIP包就行官方地址:https://dev.mysql.com/downloads/mysql/下载好MySQL 压缩包后,解压,根据个人喜好解压在其他盘符的路径下(尽量保证路径是全英文)2.配置环境变量(可选,如果不配置 每次启动需要到 Mysql/b...原创 2020-06-04 17:46:09 · 110 阅读 · 0 评论 -
@@GLOBAL.GTID_MODE = OFF 问题
背景mysql 用binlog文件进行增量恢复时mysqlbinlog temp\mysql-bin.002559 --start-datetime="2020-04-29 00:29:30" --database=campus | mysql -uroot -p提示报错:ERROR 1781 (HY000) at line 14: @@SESSION.GTID_NEXT cann...原创 2020-04-29 21:13:00 · 16543 阅读 · 0 评论 -
mysql如何利用binlog进行数据恢复详解
mysqlbinlog 官方操作文档:https://dev.mysql.com/doc/refman/5.6/en/mysqlbinlog.html前言MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个:* 数据回复* 主从数据库。用于slave端执行增删改,保持与master同步如果线上误操作了一个数据...原创 2020-04-29 20:32:26 · 13648 阅读 · 0 评论 -
linux下卸载mysql
1.查看是否已经安装过mysql数据库命令:rpm -qa|grep -i mysql可以看到现在环境下已经安装了mysq5.1.13的版本2、停止mysql服务、删除之前安装的mysql删除命令:rpm -e -nodeps 包名如果提示依赖包错误,则使用以下命令尝试rpm -ev 包名 --nodeps如果提示错误:error: %preun(xxxxxx) scriptlet failed,...原创 2018-03-29 10:42:58 · 12606 阅读 · 0 评论