mysql数据库

Kettle学习

妖精的绣舞 提交于 2020-01-20 01:14:16
kettle连接mysql 从今天开始学习kettle,版本pdi-ce-8.3.0.0-371(安装在D:\pdi-ce-8.3.0.0-371),安装后先测试连接mysql-8.0.15. 1、需要下载mysql8.0.15驱动包“mysql-connector-java-8.0.15.jar”,并放入D:\pdi-ce-8.3.0.0-371\data-integration\lib目录下。 2、修改D:\pdi-ce-8.3.0.0-371\data-integration\simple-jndi目录下jdbc.properties文件,在末尾添加连接到我的数据库的配置: MYSQL8_DB/type=javax.sql.DataSource MYSQL8_DB/driver=com.mysql.cj.jdbc.Driver MYSQL8_DB/url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT MYSQL8_DB/user=root MYSQL8_DB/password=password testdb:我的mysql数据库。 3、启动spoon,测试连接成功。 以上内容借鉴了网络的资料。 来源: CSDN

MySQL性能优化规范建议

倖福魔咒の 提交于 2020-01-20 01:13:08
一、数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割。 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)。 数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符。 临时库表必须以 tmp_为前缀并以日期为后缀,备份表必须以 bak_为前缀并以日期 (时间戳) 为后缀。 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)。 二、数据库基本设计规范 没有特殊要求(即 Innodb 无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用 Innodb 存储引擎(MySQL5.5 之前默认使用 Myisam,5.6 以后默认的为 Innodb)。Innodb 支持事务,支持行级锁,更好的恢复性,高并发下性能更好。 数据库和表的字符集统一。建议UTF-8,因为其兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效,如果数据库中有存储 emoji 表情的需要,字符集需要采用 utf8mb4 字符集。 所有表和字段都需要添加注释。 尽量控制单表数据量的大小,建议控制在 500 万以内。500 万并不是 MySQL 数据库的限制,过大会造成修改表结构

分库分表理论篇—— 以MySQL为例

时光总嘲笑我的痴心妄想 提交于 2020-01-20 00:27:06
分库分表理论篇—— 以MySQL为例 文章目录 分库分表理论篇—— 以MySQL为例 一、背景 二、如何优化 三、什么是分库分表 三、优势和弊端 一、背景 当今互联网大爆炸的时代, 业务 越来越多和大, 单库单表 数据超出数据库支持 容量 ,数据库 I/O操作 次数会越来越多和慢,数据库的整体 性能 就会急剧下降。 二、如何优化 这里我想到几种优化的方法 减少数据库访问压力 使用 缓存 技术,对数据库的信息进行缓存,减少数据库访问压力 使用 Nginx 进行静态资源的获取,对一些高访问的 网页 ,一次访问时可以先生成 静态页面 存到 本地 中,用户再次访问就会直接返回,这样减少与数据库的交互和渲染页面的操作,提高效率 读写分离 互联网业务一般 读多写少 , 读写 比例基本是 10:1 。比如订单业务,顾客购买商品生成 一次 订单后,就会 多次 查看订单情况。这时可以采用 主从架构 , 主库 负责 DML (增删改)操作, 从库 负责 DQL (查看操作), 一 个主库可以有 多 个从库,极大减轻读写压力 提升数据库性能 可以从机器性能入手,内存不够加内存条,外存( 如硬盘 )不够加外存,这样即使数据量在大,也不会影响I/O读写速率, 但是 ,数据量大会增加 I/O的次数 ,数据库性能依旧会下降,不推荐,成本太高,没钱花,/(ㄒoㄒ)/~~ 优化数据库 索引 ,数据库 语句

Centos 7环境安装SonarQube和SonarQube Runner

﹥>﹥吖頭↗ 提交于 2020-01-20 00:06:30
SonarQube简介 Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言(支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex等)提供支持,对国际化以及报告文档化也有良好的支持。可以说Sonar是目前最强大的代码质量管理工具之一。 下面就来揭开Sonar的神秘面纱,看看如何在Centos环境上安装Sonar。 安装环境 系统环境:centos7.0 -x86_64(最小化安装) 前置条件:jdk1.8 , mysql-5.6 软件下载目录:/usr/local/ 软件安装目录:/usr/local/ 软件版本:sonarqube-6.7,sonar-runner-dist-2.4 sonar-scanner-3.0.3.778 sonarqube下载地址: http://www.sonarqube.org

阿里云服务器搭建zabbix监控4.0

旧时模样 提交于 2020-01-19 22:40:56
1、Zabbix 4.0 LTS 2018年10月1日,Zabbix官方正式发布Zabbix 4.0 LTS版本,作为长期支持版本,意味着可以获得官方5年的支持。其中完全支持到2021年10月31日,以及有限支持到2023年10月31日,同时官方4.0文档已经更新。 最直观的感受就是重新设计了图形展示,新增了Kiosk模式实现真正意义上的全屏,可以直接做大屏展示,时间选择器做的和Kibana类似; Zabbix 4.0 LTS对分布式监控Proxy方式也做了优化,引入了与Proxy通信的压缩,大大减少了传输数据的大小。从而提高了性能。 Zabbix 4.0 LTS 详细了解优化及新增功能参考如下: 新增功能: https://www.zabbix.com/whats_new 官方文档: https://www.zabbix.com/documentation/4.0/manual 2、Grafana5.3 Grafana v5.3带来了新功能,许多增强功能和错误修复。 Google Stackdriver作为核心数据源; 电视模式得到改善,更易于访问 提醒通知提醒; Postgres获得了一个新的查询构建器; 改进了对Gitlab的OAuth支持; 带模板变量过滤的注释; 具有自由文本支持的变量。 Grafana5.3 详细了解优化及新增功能参考如下: 新增功能: http:/

监控三剑客<cacti、nagios、zabbix>

杀马特。学长 韩版系。学妹 提交于 2020-01-19 22:31:42
监控三剑客<cacti、nagios、zabbix> 在企业网络运维过程中,管理员闭虚随时关注服务器和网络运行情况,以便及时发现问题,尽可能减少故障的发生。当网络中的设备、服务器数量较多时,为了更加方便,快捷的获得各种监控信息,通常会借助一些集中监测软件。 下面为大家介绍一下日常生活中的三种监控软件,俗称:监控三剑客(基于CentOS7安装) 一、cacti cacti是一款使用PHP语言开的发性能与流量检测软件,检测对象可以是Linux、Windows服务器,也可以是路由交换机等网络设备,主要基于SNMP(simple、Network、Management、Protocol,简单网络管理协议)来搜集CPU占用、内存使用、运行进程、网卡流量等数据 1、服务器配置 构建cacti监控平台时要先进行LAMP架构,这边实验我直接用yum一键安装、在生产环境中最好使用手工编译安装 LAMP手工编译安装可以参考以下博客文章 Apache手工编译安装 https://blog.51cto.com/13645280/2117794 MySQL数据库基础 https://blog.51cto.com/13645280/2132869 构建PHP运行环境 https://blog.51cto.com/13645280/2136415 (1)yum安装LAMP yum -y install httpd

【红日Day12-CTF】htmlentities造成的SQL注入

别等时光非礼了梦想. 提交于 2020-01-19 20:03:40
练习记录 复现代码: index.php <?php require 'config.php' ; if ( isset ( $_REQUEST [ 'username' ] ) ) { if ( preg_match ( "/(?:\w*)\W*?[a-z].*(R|ELECT|OIN|NTO|HERE|NION)/i" , $_REQUEST [ 'username' ] ) ) { die ( "Attack detected!!!" ) ; } } if ( isset ( $_REQUEST [ 'password' ] ) ) { if ( preg_match ( "/(?:\w*)\W*?[a-z].*(R|ELECT|OIN|NTO|HERE|NION)/i" , $_REQUEST [ 'password' ] ) ) { die ( "Attack detected!!!" ) ; } } function clean ( $str ) { if ( get_magic_quotes_gpc ( ) ) { $str = stripslashes ( $str ) ; } return htmlentities ( $str , ENT_QUOTES ) ; } $username = @ clean ( ( string ) $_GET [

mac 下连接数据库,导入sql表

谁都会走 提交于 2020-01-19 19:26:32
首先找到mamp 中mysql的安装目录: /Applications/MAMP/Library/bin/mysql 然后进入: /Applications/MAMP/Library/bin/mysql -u root -p 1,导入 打开终端输入:(前提是已经配置过MySQL环境变量) 1,show databases; 2,create database name; 3,use name; 4,source 『将.sql文件直接拖拽至终端,自动补全其文件目录』 1,导出 cd 『打开要将.sql文件生成的文件位置』 mysqldump -u root -p database_name>sql_name.sql 另外,[Unix的一些终端命令] 终端登录mysql(相对路径) 终端中输入命令:查看路径中有没有需要的路径: 终端中输入命令: echo $PATH 没有? 添加需要路径: PATH="$PATH":/usr/local/mysql/bin 以后 终端中需输入命令: mysql -u root -p 即可 参考 https://www.cnblogs.com/zhengbin/p/4749938.html 来源: CSDN 作者: 月入十万不是梦 链接: https://blog.csdn.net/weixin_46209016/article/details

【干货】Mysql的\"事件探查器\"-之Mysql-Proxy代理实战一(安装部署与实战sql拦截与性能监控)

有些话、适合烂在心里 提交于 2020-01-19 17:29:40
1:资料参考 https://blog.csdn.net/coldljy/article/details/3168906 https://www.cnblogs.com/jwentest/p/8552075.html https://www.cnblogs.com/ExMan/p/10396298.html 一:原理 Mysql-Proxy是一个处于你的client端和Mysql Server端之间的一个简单程序,它可以监测、分析和改变他们的通信。它使用灵活没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。 Mysql -Proxy就是这么一个中间层代理,简单的说,Mysql-Proxy就是一个连接池,负责将前台应用的请求转发给后台数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡。对于应用来说,MySQL Proxy是完全透明的,应用则只需要连接到MySQL Proxy的监听端口即可。当然,这样proxy机器可能成为单点失效,但完全可以使用多个proxy机器做为 冗余 ,在 应用服务器 的连接池配置中配置到多个proxy的连接参数即可。 mysql-proxy最基本的用法,就是作为一个请求拦截,请求中转的中间层: 根本上,mysql-proxy是一个官方提供的框架,具备良好的扩展性,可以用来完成: sql拦截与修改

redis与mysql数据互通

旧时模样 提交于 2020-01-19 16:59:39
from time import sleep import pymysql from rediscluster import StrictRedisCluster class MysqldbHelper(object): def __init__(self, host='数据库地址', username='登录名', password='密码', database='库名称', charset='utf8'): self.host = host self.username = username self.password = password self.database = database self.con = None self.cur = None self.charset = charset try: self.con = pymysql.connect(host=self.host, user=self.username, passwd=self.password, db=self.database) # self.con = pymysql.connect(host=self.host, user=self.username, passwd=self.password, port=self.port, # db=self.database) # 所有的查询,都在连接