SQL注入问题及其解决办法 前几次的 JDBC 案列的数据库操作对象我一直使用的是 Statement 对象, 但是这个类实际上是存在一些问题的, 这就是我想要分享的 SQL 注入问题. 目录 SQL注入问题及其解决办法 问题发现 sql 注入的定义及其原因分析 问题解决------ PreparedStatement PreparedStatement 和 Statement 比较 问题发现 前几天用 JDBC 编写一个从数据库获取用户名和密码登录的简单 java 程序发现了一个 bug 下面请看源代码…

2021年4月23日 0条评论 33点热度 阅读全文

安装之后需要登录,首次登录不论是使用默认密码还是设置了不用密码, 在输入:mysqld -install之后跳出密码输入,输入之后出错。出错为 mysqld: Can not perform keyring migration : Invalid --keyring-migration-source option. 这是因为mysqld命令是MySQL的主程序,用来安装初始化;mysql是MySQL的命令行工具;这里因为命令敲成了mysqld -u root -p导致的,正确的命令应该是mysql -uroot -…

2021年4月23日 0条评论 39点热度 阅读全文

MySQL的innodb和Myisam引擎的优缺点对比 什么是数据库引擎 Myisam 引擎和InnoDB引擎对比 1.事务安全 2.锁机制 3.空间使用和使用内存的对比 4.是否支持外键 什么是数据库引擎 数据库引擎是用于存储、处理和保护数据的核心服务。 简单的来说数据库引擎就是一个用来提供管理数据库数据的方式,如上图有很多机制,不同的数据库引擎有不同的侧重点和不同的机制,我们要讨论的就是MySQL中两款免费的官方提供的引擎直接的优点和缺点 Myisam 引擎和InnoDB引擎对比 1.事务安全 什么是事务安全 …

2021年4月22日 0条评论 39点热度 阅读全文

ubuntu-18.04.5上安装MySQL教程 背景 先决条件 安装MySQL 接下来给MySQL设置密码, 保护MySQL 背景 最近在公司搭建内部服务,所以新装了一台ubuntu服务器,需要在上面安装mysql数据库 先决条件 保证服务器安装正常后,使用sudo用户身份登录 安装MySQL 先更新下apt版本 sudo apt update sudo apt install mysql-server 安装完成后,MySQL服务会自动启动,验证是否正常运行,输入: sudo systemctl status m…

2021年4月21日 0条评论 43点热度 阅读全文

`简介` 官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍。MySQL 8.0 上做了许多重大更新,在往企业级数据库的路上大步前行,全新 Data Dictionary 设计,支持 Atomic DDL,全新的版本升级策略,安全和账号管理加强,InnoDB 功能增强等。 1、mysql8安装 `centos` #1、下载安装包 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.23-1.el7.x86_64.rpm-bundle.…

2021年4月21日 0条评论 36点热度 阅读全文

数据库分表后对表添加多个索引值,查询拼接出添加索引的语句 SELECT GROUP_CONCAT( CONCAT( 'ALTER TABLE ', TABLE_NAME, ' ADD INDEX app_time (`app_time`), ##需要添加索引的列 ADD INDEX CREATE_TIME (`CREATE_TIME`), ADD INDEX STATE ( `STATE`); ' ) SEPARATOR '' ) FROM information_schema.TABLES AS t WHERE …

2021年4月20日 0条评论 45点热度 阅读全文

关系型数据库保证了数据的独立性和安全性 cd / 进入根目录 cd /etc 进入配置文件 cd mysql 进入mysql数据库 cd mysql.conf.d/ 进入 vim mysqld.cnf 进入并可以看到文件内容 mysql 的端口(port) 3306 绑定的客户端的地址:bind-address 0.0.0.0,任意的一个IP都可以连接 查看mysql的服务是否开启 service mysql status 查看mysql是否开启 service mysql start 开启服务 service m…

2021年4月20日 0条评论 38点热度 阅读全文

密码加密解密 一、springboot+MD5实现注册登录的密码的加密解密 需求:登录和注册的密码涉及到网络安全,对密码的加密能够在一定程度上增加安全性 注册加密实现思路: 1.编写MD5加密的工具类 2.注册时调用工具类,把密码作为参数传进去进行加密,然后存到数据库 1、配置pom.xml <dependency> <!-- MD5加密依赖 --> <groupId>commons-codec</groupId> <artifactId>commons-…

2021年4月19日 0条评论 50点热度 阅读全文

&12、引擎 一、引擎(engine) 1.两个官方引擎——InnoDB(5.0之后) Myisam(5.0之前) 2.区别 1.Myisam:应用于以读写操作为主, 很少更新 、 删除 , 并对事务的完整性、 并发性要求不高的情况。InnoDB:应用于对事务的完整性要求高,在并发条件下要求数据的一致性的情况。 2.Myisam:使用表锁,InnoDB:使用行锁。 *加锁:一但产生数据高频发时必须加锁,适应高并发性。 *表锁:加锁的方式:自动加锁。查询操作(SELECT),会自动给涉及的所有表加读锁,更新操…

2021年4月19日 0条评论 39点热度 阅读全文

1. 死锁背景 1.1 在做高并发秒杀中创建订单、减库存步骤时出现异常:MySQLTransactionRollbackException: Deadlock found when trying to get lock,也就是出现了死锁。 1.2 我们在学多线程时,知道死锁发生在两个线程互相去抢占对方的锁情况,如下图。 1.3  那我们这边出现死锁的原因是什么呢?出现死锁的原因有很多,比如相同记录行锁、索引锁以及GAP锁,我这边应该算是索引锁。在秒杀时,将创建订单、扣减商品库存放在了一个事务中,并且订单表…

2021年4月19日 0条评论 30点热度 阅读全文