RabbIT

MySQL数据库--MySQL数据库语句、坑点总结

时光毁灭记忆、已成空白 提交于 2020-12-08 02:53:51
MySQL实用语句操作 1.清空数据库表的同时将id的增长顺序重新设为从0开始: TRUNCATE TABLE 数据库表名 2.在知道数据库原密码的时候进行修改密码: mysqladmin -u root -p password "new password" 3.将选定数据库导出至sql脚本:(只导出表结构) mysqldump -u root -p -d "数据库名" > "sql脚本" 4.将选定数据库导出至sql脚本(表结构和数据全部导出): mysqldump -u root -p "数据库名" > "sql脚本" 5.将mysql脚本导入至数据库: mysql -u root -p "数据库名" < "sql脚本" 6.查看字段编码: SHOW FULL COLUMNS FROM <表名> 7.查看表编码: SHOW CREATE TABLE <表名> 解决中文乱码 原文链接: 整理 : 查看和修改 mysql库、表、字段编码 文中好像有些许错误… … 忘记数据库密码,我们应该怎么办? 此方法在Centos7下进行了有效测试: 1.编辑/etc/my.cnf实现免密登录,确保你的数据库不会被其他人进行恶意修改。 找到 [mysqld] 段,并给段中任意地方加上一句: skip-grant-tables skip -grant -tables 2.重启mysql服务:

Rabbitmq---消息队列

随声附和 提交于 2020-12-05 05:13:03
一 . MQ:message queue   消息队列的作用:    1 通信解耦   2 高峰限流 原理分析: 一开始,认证系统是强耦合的,A系统传递认证系统消息接收计算结果的过程中   1 传给认证系统   2 认证系统计算   3 返回计算结果   4 读取A系统逻辑 只要当前计算没有完成,对于认证系统来讲消耗线程资源.并存在强耦合现象 有了消息队列,每一次连接不管是生成消息还是消费消息,都有各自的逻辑与其他逻辑无关--通信解耦    通信强耦合的情况下高峰访问拒绝,达到了高峰限流的效果 二 . Rabbitmq    1 rabbitmq的结构(组件)    外部: 生产者和消费者     生产者:对于消息来讲,生成消息客户端是生产者     消费者:消费消息执行消费后的逻辑的客户端是消费者    客户端可以使用各种其他技术或者语言 都不是rabbitmq自身的技术    2 rabbitmq内部组件    connection: 基于底层通信逻辑的长连接    channel: 基于长连接创建的;可以在一次长连接的基础上多次频繁的创建和销毁,占用资源非常少    交换机Exchange 优点:并发能力高 并发稳定      客户端连接发送消息,多种情况都需要并发的发送,如果从客户端执行并发的发送逻辑,rabbitmq的并发能力就限制在了客户端    

Python——输入输出及while循环

依然范特西╮ 提交于 2020-12-04 01:56:50
1 # #用户的输入输出和while循环 2 name=input( ' 输入你的名字: ' ) 3 name+= ' 先生 ' # #字符串拼接 4 print ( ' \n\n很高兴认识你! ' + name) 5 age=int(input(name+ ' 请输入年龄: ' )) 6 if age>=17 and age<28 : 7 print ( ' \n ' +name+ ' 要记得主席的话:“只争朝夕,不负韶华!” ' ) 8 if age>=28 : 9 print (name+ ' 天地广大,记得做喜欢的事! ' ) 10 # #求模运算 11 print ( ' \n---------------------------分割线---------------------------- ' ) 12 print ( ' ------判断数字奇偶----------- ' ) 13 flag=int(input( ' 输入数字: ' )) 14 15 if flag%2== 0: 16 print (str(flag)+ ' 是偶数! ' ) 17 else : 18 print (str(flag)+ ' 是奇数! ' ) 19 20 # #while 循环简介 21 ''' 22 for 循环用于针对集合中的每个元素都一个代码块,而 while 循环不断地运行

RabbitMQ学习笔记(六、RabbitMQ进阶)

大憨熊 提交于 2020-11-28 09:37:20
目录: 性能 存储机制 内存及磁盘告警 性能: 影响RabbitMQ性能的因素有很多,主要的分为硬件性能与软件性能。 ) 硬件性能 :如网络、内存、CPU等等。 ) 软件性能 :消息持久化、消息确认、路由算法与绑定规则、投递消息等等。 1、消息持久化:持久化会写入磁盘,多一次IO操作,设置非持久化可提升性能。 2、消息确认:消费者订阅队列时,设置自动确认也可以提升性能。 3、路由算法与绑定规则:fanout,只要绑定了交换器就可以匹配到,匹配规则少,性能肯定是绑定规则中最佳的;direct,除了交换器还需要匹配路由键,性能次之;topic,最复杂的匹配规则,相对其它两个性能最差。 4、投递消息 存储机制: ) 队列结构 : 消息通常由两部分组成,rabbit_amqqueue_process和backing_queue。 1、rabbit_amqqueue_process:负责协议相关的消息处理,即 接受生产者发布的消息、消息的投递、处理消息的确认 等等。 2、backing_queue:消息存储的具体形式和引擎,并向rabbit_amqqueue_process提供相关接口。 ) 消息在队列中的状态 : 1、alpha:消息内容、索引 全在内存中 。 2、beta:内容在磁盘,索引在内存。 3、gamma:内容在磁盘,索引在内存和磁盘都有( 只有持久化的消息才会处理此状态 )。

二丶SpringBoot整合RabbitMQ

被刻印的时光 ゝ 提交于 2020-11-26 03:39:40
什么是RabbitMQ? rabbitMQ是一个开源的消息代理和队列的服务器,用来通过普通的协议在完全不同的应用之前共享数据,rabbitmq是Erlang语言编写的,并且rabbitMQ是基于AMQP协议的 1.创建product <parent> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter-parent </artifactId> <version> 2.1.5.RELEASE </version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding> <project.reporting.outputEncoding> UTF-8 </project.reporting.outputEncoding> <java.version> 1.8 </java.version> </properties> <dependencies> <dependency> <groupId> org.springframework.boot <

深入了解RabbitMQ工作原理及简单使用

旧巷老猫 提交于 2020-11-22 03:26:16
深入了解RabbitMQ工作原理及简单使用 转自:https://www.cnblogs.com/vipstone/p/9275256.html RabbitMQ系列文章 RabbitMQ在Ubuntu上的环境搭建 深入了解RabbitMQ工作原理及简单使用 RabbitMQ交换器Exchange介绍与实践 RabbitMQ事务和Confirm发送方消息确认——深入解读 使用Docker部署RabbitMQ集群 你不知道的RabbitMQ集群架构全解 RabbitMQ简介 在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么? MQ全称是Message Queue,可以理解为消息队列的意思,简单来说就是消息以管道的方式进行传递。 RabbitMQ是一个实现了AMQP(Advanced Message Queuing Protocol)高级消息队列协议的消息队列服务,用Erlang语言的。 使用场景 在我们秒杀抢购商品的时候,系统会提醒我们稍等排队中,而不是像几年前一样页面卡死或报错给用户。 像这种排队结算就用到了消息队列机制,放入通道里面一个一个结算处理,而不是某个时间断突然涌入大批量的查询新增把数据库给搞宕机,所以RabbitMQ本质上起到的作用就是削峰填谷,为业务保驾护航。 为什么选择RabbitMQ 现在的市面上有很多MQ可以选择,比如ActiveMQ、ZeroMQ

Java后端面试题

烈酒焚心 提交于 2020-11-19 06:34:45
标★号为重要知识点 id全局唯一且自增,如何实现? Redis的 incr 和 increby 自增原子命令 统一数据库的id发放 美团Leaf Leaf——美团点评分布式ID生成系统(批发号段) Twitter的snowflake算法 UUID ★如何设计算法压缩一段URL? 通过发号策略,给每一个过来的长地址,发一个号即可,小型系统直接用mysql的自增索引就搞定了。如果是大型应用,可以考虑各种分布式key-value系统做发号器。不停的自增就行了。第一个使用这个服务的人得到的短地址是 http://xx.xx/0 第二个是 http://xx.xx/1 第11个是 http://xx.xx/a 第依次往后,相当于实现了一个62进制的自增字段即可。 常用的url压缩算法是短地址映射法。具体步骤是: 将长网址用md5算法生成32位签名串,分为4段,,每段8个字符; 对这4段循环处理,取每段的8个字符, 将他看成16进制字符串与0x3fffffff(30位1)的位与操作,超过30位的忽略处理; 将每段得到的这30位又分成6段,每5位的数字作为字母表的索引取得特定字符,依次进行获得6位字符串; 这样一个md5字符串可以获得4个6位串,取里面的任意一个就可作为这个长url的短url地址。 ★Dubbo负载均衡策略? 随机、轮询、最少使用、一致性哈希(除了一致性哈希外,都有加权)

SringCloud通过RabbitMQ实现Zipkin持久化到Mysql8

拥有回忆 提交于 2020-11-13 01:16:14
​ ​ 上一篇 通过自己搭建zipkin的方式实现分布式链路跟踪,但没有将请求服务的链路信息存储到数据库,以下通过RabbitMQ实现Zipkin持久化到Mysql8。使用zipkin 2版本提供了 jar包启动应用。 Java 8及以上版本 Spring Cloud Hoxton.SR8 RabbitMQ 3.8.9 Erlang 23.1.1 zipkin-server-2.22.2 Mysql8 一、搭建Zipkin Server ​ mac中安装 RabbitMQ ​ 1. 安装Erlang,执行brew install erlang命令。 ​ 2. 安装RabbitMQ Server,执行 brew install rabbitmq命令。 ​ 进入目录/usr/local/sbin,执行rabbitmq-server,访问RabbitMQ http://localhost:15672 #guest guest ​ 创建一个名为 zipkin 的数据库,从Github下载 zipkin 的 sql语句 ,导入数据库。 ​ 下载zipkin-server包 ,执行如下指令启动zipkin应用。 java -jar zipkin-server-2.22.2-exec.jar --MYSQL_HOST=127.0.0.1 --MYSQL_TCP_PORT=3306 --MYSQL

阿里高级面试题 2019

馋奶兔 提交于 2020-11-10 05:35:20
阿里内推Java一面题目 数据库 1. 使用mysql索引都有哪些原则??索引什么数据结构??B+tree 和 B tree 什么区别?? 1、 对于查询频率高的字段创建索引; 2、 对排序、分组、联合查询频率高的字段创建索引; 3、 索引的数目不宜太多 原因:a、每创建一个索引都会占用相应的物理控件;    b、过多的索引会导致insert、update、delete语句的执行效率降低; 4、若在实际中,需要将多个列设置索引时,可以采用多列索引 如:某个表(假设表名为Student),存在多个字段(StudentNo, StudentName, Sex, Address, Phone, BirthDate),其中需要对StudentNo,StudentName字段进行查询,对Sex字段进行分组,对BirthDate字段进行排序,此时可以创建多列索引 index index_name (StudentNo, StudentName, Sex, BirthDate); #index_name为索引名 在上面的语句中只创建了一个索引,但是对4个字段都赋予了索引的功能。 创建多列索引,需要遵循BTree类型, 即第一列使用时,才启用索引。 在上面的创建语句中,只有mysql语句在使用到StudentNo字段时,索引才会被启用。 如: select * from Student where

2020版中间件面试题总结(RabbitMQ+Kafka+ZooKeeper)

随声附和 提交于 2020-11-08 22:25:59
RabbitMQ 1. RabbitMQ的使用场景有哪些? 抢购活动,削峰填谷,防止系统崩塌。 延迟信息处理,比如10分钟之后给下单未付款的用户发送邮件提醒。解耦系统,对于新增的功能可以单独写模块扩展,比如用户确认评价之后,新增了给用户返积分的功能,这个时候不用在业务代码里添加新增积分的功能,只需要把新增积分的接口订阅确认评价的消息队列即可,后面再添加任何功能只需要订阅对应的消息队列即可。 2. RabbitMQ有哪些重要的角色? RabbitMQ中重要的角色有:生产者、消费者和代理: [图片上传失败...(image-40f1e0-1604821335945)] 生产者:消息的创建者,负责创建和推送数据到消息服务器; 消费者:消息的接收方,用于处理数据和确认消息; 代理:就是RabbitMQ本身,用于扮演“快递”的角色,本身不生产消息,只是扮演“快递”的角色。 3. RabbitMQ有哪些重要的组件? ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器,程序代码中使用。 Channel(信道):消息推送使用的通道。 Exchange(交换器):用于接受、分配消息。 Queue(队列):用于存储生产者的消息。 RoutingKey(路由键):用于把生成者的数据分配到交换器上。 BindingKey(绑定键):用于把交换器的消息绑定到队列上。