mysql数据库

用JMeter对MySQL数据库进行压测

﹥>﹥吖頭↗ 提交于 2020-02-12 04:54:50
1. 下载相关软件,以下是我使用的软件及版本   JMeter 3.3   MySqL 版本未知,是公司测试环境的数据库   mysql-connector-java-5.1.44-bin.jar 2. 将mysql-connector-java-5.1.44-bin.jar 放到JMeter的lib目录下(放在别的目录下也可以),并在测试计划中添加mysql-connector-java-5.1.44-bin.jar 3. 添加一个线程组并且在线程组下添加配置元件JDBC Connection Configuration 4. JDBC Connection Configuration配置如下,为避免泄露公司数据隐私,数据库地址为虚构。 5. 在线程组下添加取样器JDBC Request 6. JDBC Request配置如下 7. JDBC Request下添加一个断言,断言设置如下(断言意在检验查询结果是否正确,应根据实际查询语句设计) 8. 线程组下添加查看结果树 9. 点击运行,并在查看结果树中查看是否运行成功    来源: https://www.cnblogs.com/Jadie/p/8056541.html

【原创】面试官:讲讲mysql表设计要注意啥

一个人想着一个人 提交于 2020-02-12 04:52:27
引言 近期由于复习了一下mysql的内容,有些心得。随手讲其中一部分知识,都是一些烟哥自己平时工作的总结以及经验。大家看完,其实能避开很多坑。而且很多问题,都是面试中实打实会问到的! 比如 OK,具体有下面这些问题 1、为什么一定要设一个主键? 2、你们主键是用自增还是UUID? 3、主键为什么不推荐有业务含义? 4、表示枚举的字段为什么不用enum类型? 5、货币字段用什么类型? 6、时间字段用什么类型? 7、为什么不直接存储图片、音频、视频等大容量内容? 8、字段为什么要定义为NOT NULL? 其实上面这些问题,我最早想法是,每个问题都可以啰嗦出一篇文章。后来由于良心发现,烟哥就决定用一篇文章将这些问题都讲明白。 当然,我给的回答可能并非标准答案,毕竟是自己的一些工作总结。各位读者有更好的回答,也欢迎交流! 这里我要说一下,我用mysql只用过 innodb 存储引擎,其他的引擎真没用过。因此我的回答,都是基于 innodb 存储引擎中的。 正文 问题1:为什么一定要设一个主键? 回答 :因为你不设主键的情况下,innodb也会帮你生成一个隐藏列,作为自增主键。所以啦,反正都要生成一个主键,那你还不如自己指定一个主键,在有些情况下,就能显式的用上主键索引,提高查询效率! 问题2:主键是用自增还是UUID? 回答 :肯定答自增啊。innodb 中的主键是聚簇索引

mysql索引原理

时光怂恿深爱的人放手 提交于 2020-02-12 04:40:05
为什么要使用索引?使用索引有什么优点和缺点? 使用索引是为了使我们查询变得更快。使用索引如果我们对数据进行修改或者删除那么他的索引也要随之改变,所以使用索引就会降低我们修改删除的效率。 mysql有几种索引类型? 普通索引:这一类索引可以创建在任何数据类型中,没有限制。 唯一索引:创建该类索引时,需要保证创建索引的那一列值是唯一的。 全文索引:全文索引只能创建在CHAR,VARCHAR,TEXT类型的字段上,主要是为了提高查询较大字符串的查询速度,只有MyISAM存储引擎支持 单列索引:在表中给单个列创建索引,单列索引可以是普通索引,唯一索引,全文索引 多列索引:在同一张表的多个列上创建索引 索引为什么会使查询效率大大提高? mysql默认使用的是B+树的数据结构。 索引:排好序的数据结构,类似于书的目录,我们可以通过一本书的目录,快速查找到我们需要的内容,而不需要一页一页的去查看。 mysql索引数据结构为什么要默认使用B+树,而不使用其他的数据结构? 据我了解的数据结构有,二叉树,红黑树,B树,B+树 (他们都有一个共同的特点,就是右边的数据一定都比左边的小) 二叉树: 以上两组数据虽然数字是一样的但是他们的顺序不一样,所以构建出来的二叉树不一样,通过上面这张图可以看出来,如果如果数据是从大到小或者是从小到大的顺序插入,这样会导致二叉树变为链表数据结构,链表查询效率比较慢

MySQL 8.0版本连接报错:Could not create connection to database server.

拟墨画扇 提交于 2020-02-12 04:20:54
原文: MySQL 8.0版本连接报错:Could not create connection to database server. 准备搭建一个Spring Boot 组合mybatis的项目,数据库采用的是MySQL 8.0.11按照以往的配置,使用插件mybatis-generator-maven-plugin生成代码时,一直报错Could not create connection to database server.如下: [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building songci-serv 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- mybatis-generator-maven-plugin:1.3.5:generate (default-cli) @ songci-serv --- [INFO] Connecting to the Database [INFO] --

Linux下实现MySQL每天自动备份

核能气质少年 提交于 2020-02-12 04:12:41
1.查看磁盘空间 #df -hFilesystem 2.创建备份目录 cd /home mkdir backuped backup 3.创建备份shell脚本 建议把DatabaseName换为实际的数据库名称 vi bkDatabaseName.sh 输入/粘贴以下内容: #!/bin/bash mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql 对备份进行压缩: #!/bin/bash mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz ​ 注意: ​ 把 username 替换为实际的用户名; ​ 把 password 替换为实际的密码; ​ 把 DatabaseName 替换为实际的数据库名; 4.添加权限 chomd u+x bkDatabaseName.sh ./bkDatabaseName.sh //检查脚本是否可以正常使用 5.添加计划任务 检测或安装 crontab 确认crontab是否安装: 执行 crontab 命令如果报 command not

MySQL--浅析JDBC及简单操作

余生长醉 提交于 2020-02-12 03:49:24
一、什么是JDBC 1、概念 JDBC由一组用Java语言编写的类和接口组成,是Java和数据库之间的一个桥梁,是一个规范,而不是一个实现,能够执行SQL语句。 2、各种不同类型的数据库都有相应的实现 所有不同类型数据库的开发商依照这这种规范编写了相应Java代码以提供相应的操作数据库的方法。 3、关于数据库的执行流程 二、用JDBC访问MySQL 1、配置 (1)导入相关依赖 < ! -- https : / / mvnrepository . com / artifact / mysql / mysql - connector - java -- > < dependency > < groupId > mysql < / groupId > < artifactId > mysql - connector - java < / artifactId > < version > 5.1 .31 < / version > < / dependency > (2)参数配置 pro = new Properties ( ) ; try { //参数配置 pro . load ( new FileInputStream ( "D:\\db.properties" ) ) ; jdbcDriver = pro . getProperty ( "jdbcDriver" ) ;

MySQL:索引

﹥>﹥吖頭↗ 提交于 2020-02-12 03:38:02
  索引的目的在于提高查询效率,它的作用就相当于一本书的目录; 1. 常见的索引模型 1.1 哈希表   优点:适用于等值查询的场景;   缺点:范围查询效率较低; 1.2 有序数组   优点:范围查询和等值查询效率较高;   缺点:插入、删除操作效率较低;   适用于静态存储引擎,保存一些不会修改的数据; 1.3 搜索树   二叉树是一个经典的数据结构,增删改查效率都不错。不过由于索引需要存储在磁盘中,使用二叉树时,当节点数量很大时,树的高度会变的很高,一次查询可能访问很多数据块,由于磁盘IO问题,导致效率偏低;   为了查询中尽量减少磁盘IO,必须访问尽量少的数据块,N叉树就是一个不错的选择;N叉树由于 读写性能上的优点 ,以及 适配磁盘的访问模式 ,已经广泛的用于搜索引擎。   磁盘IO是非常高昂的操作, 当进行一次磁盘IO时,不光把当前磁盘地址的数据,而是把相邻的数据也都读取到内存缓冲区内 ,因为 局部预读性原理 告诉我们,当计算机访问一个地址的数据的时候,与其相邻的数据也会很快被访问到。每一次IO读取的数据我们称之为一页(page)。具体一页有多大数据跟操作系统有关,一般为4k或8k,也就是我们读取一页内的数据时候,实际上才发生了一次磁盘IO。   设计数据库时,我们可以将N叉树的一个节点的大小设计为刚好一个操作系统的数据页大小

power designer 连接mysql提示“connection test failed”

℡╲_俬逩灬. 提交于 2020-02-12 03:12:24
本机环境: win10 64位 jdk8 64位 问题: 测试连接时,总是提示 根据网上搜索: 根源在于:PowerDesigner based on 32 bit JVM kernel 参考: http://hunt1574.blog.51cto.com/1390776/1016582 http://prog3.com/sbdm/blog/czmchen/article/details/32155753 下面是连接的内容,怕丢了,这边贴过来: Using PowerDesigner to generate the table structure in reverse, need MySQL connection, configured to connect directly, test report: connection test failed"! OS: WIN7 flagship version 64 JDK: 64 PowerDesigner:15.1.0.2850 Problem causes: PowerDesigner based on 32 bit JVM kernel Detailed processing ideas // 这里:安装32位jdk,配置32jdk的环境变量,配置jdk的powedesign环境变量 Install JDK 32bit

Could not get JDBC connection

风格不统一 提交于 2020-02-12 01:22:09
/*--> */ /*--> */ 想学习下JavaWeb,手头有2017年有活动的时候买的一本书,还是全彩的,应该很适合我这种菜鸟技术渣。 只可惜照着书搭建了一套Web环境,代码和db脚本都是拷贝的光盘里的,也反复检查了数据库的连接情况,Navicat可以正常连,涉及到的两个数据库配置文件里面的url、端口、密码应该都是对的,反复折腾了一晚上没搞定,临了百度一顿乱搜,看到一个帖子( https://www.2cto.com/database/201807/762696.html )里面提到的一句话(最后发现因为我使用的是MySQL8.0,mysql-connector-java-5.1.28-bin.jar的驱动需要升级,于是我升级到了mysql-connector-java-8.0.11-bin.jar.),感觉有戏,因为我本地装的mysql也是8的,只是已经2点多了,吃不消赶紧睡了,第二天再看吧。报错日志: ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis

windows mysql提示:1045 access denied for user'root'@'localhost' using password yes

让人想犯罪 __ 提交于 2020-02-12 01:07:26
1、打开DOS进入mysql下bin目录:本人:C:\Program Files\MySQL\MySQL Server 5.1\bin 2、停止mysql服务,net stop mysql 3、在C:\Program Files\MySQL\MySQL Server 5.1\bin后面输入:mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables 具体操作如下图: 4、重新打开一个DOS窗口,在C:\Program Files\MySQL\MySQL Server 5.1\bin后面输入:mysql -root -p 5、提示输入密码,在Enter后面输入密码,进入mysql> 6、在mysql>下输入: mysql>update ssh set password=PASSWORD('newpassword') where USER='root' mysql>FLUSH PRIVILEGES; mysql>quit 其中,ssh为数据库名称,改为自己的即可,若有多个数据库可多次update操作即可。 问题:mysql服务无法启动 服务没有报告任何错误? 答案:在cmd命令行中执行 mysqld --initialize