数据库
多云的夏天
读小说一样读代码
展开
-
mysql(28)-1045 access denied for user root
MySQL服务搭建后,默认root用户是不能进行远程访问连接的。1.改配置文件my.ini 添加 [mysqld]这个条目下加入 skip-grant-tables2.重启mysql服务 2.1windows下 2.2 命令行:1.打开cmd,点击“开始”->“运行”(快捷键Win+R)。2.停止:输入 net stop mysql3.启动:输入 net start mysql如果出现1.打开我的电脑在我的电脑右键中选择属性,然后单击选择高级系统设置。...原创 2022-01-07 14:13:27 · 694 阅读 · 0 评论 -
mysql(27)- 本地计算机上的mysql服务启动停止后...
出现如下图所示的错误:原创 2022-01-07 13:18:23 · 722 阅读 · 0 评论 -
mysql(26)- net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动
在DOS窗口下输入:net stop mysql、net start mysql时,提示:服务名无效。net stop mysql、net start mysql,只是对注册了的服务起作用。1.删除mysql服务sc delete MySQL572.注册mysql服务mysqld --install原创 2022-01-07 12:41:41 · 475 阅读 · 0 评论 -
mysql(25)-删除服务
按标准化流程走完删除程序后,在windows服务中有可能仍然能看到mysql服务。1.cmd命令 sc delete mysql572.注册表 2.1. 查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下的键值,如果有相关mysql键值(mysql、mysqladmin)则删掉,即可; 2.2 查看HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\...原创 2021-12-29 17:07:30 · 289 阅读 · 0 评论 -
mysql(24)-ado-mfc- _ConnectionPtr-_RecordsetPtr-增删改查
ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。基本流程:(1)初始化COM库,引入ADO库定义文件(2)用Connection对象连接数据库(3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理。(4)使用完毕后关闭连接释放对象。(1)初始化:初始化COM库,引入ADO库定义文件::CoInitialize(NULL);..原创 2021-11-10 11:23:53 · 1372 阅读 · 0 评论 -
mysql(23)--游标-cursor
游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。1.声明2.打开3.读取4.关闭DECLARE @username varchar(20),@UserId varchar(100)DECLARE cursor_name CURSOR FOR --定义游标 SELECT TOP 10 UserI...原创 2021-11-05 09:10:19 · 302 阅读 · 0 评论 -
mysql(22)-两服务器-跨库查数据-federated
问题:实际中,我们可能会遇到跨库查询数据的需要。查A机器上a库中的表a->B机器上b库中的表b。两个链接,两个库。1.配置federated引擎 1.1看是否开启 1.2 如果没开,linux 下修改my.cnf文件,windows修改my.ini文件 1.3 确认开启2.创建表 sql 语句1.配置federated引擎 1.1看是否开启 show engines; 1.2 如果没开,linux 下修改my.cnf文件,windows修改m...原创 2021-11-04 14:16:44 · 274 阅读 · 0 评论 -
mysql(21)-存储过程-动态插入数据()
#用navicat 做查询运行下列语句是OK的。insert into newday20210701 values('var1','2021-07-01 00:15:00','10');#调用存储过程拼接字符会报各种错#1.表里必须要有主键#2.拼接字符串要有‘\’1.表要设主键2.字符串拼接必须有转义字符'\'delimiter //use `lp_test`;CREATE definer =`root`@`%` PROCEDURE pro_insertTable()B..原创 2021-10-18 18:02:45 · 505 阅读 · 0 评论 -
mysql(20)-存储过程-动态SQL-创建表(CREATE PROCEDURE,动态表名)
1.存储过程基本用法:创建、调用、删除2.动态创建表名称#1.创建create definer =`root`@`%` procedure pro_test()#创建一个无参的过程begin set @mysql=""; prepare stmt_name from @mysql; #必须是自定义变量@,不可以是局部变量 execute stmt_name; #执行end;#2.调用call pro.原创 2021-10-18 14:17:44 · 818 阅读 · 0 评论 -
mysql(19)-变量(局部-全局@@-自定义@)
变量分 :用户变量、局部变量、全局变量、系统变量1.用户变量: 在整个连接中存在。# 定义declare @num int,#赋值set @num=1;2.局部变量 只能在begin end中写。# 定义declare num int,#赋值set num=1;3.全局变量#显示全局变量show global variables;#设置全局变量set global sql_warnings=ON;#查询全局变量select @@ glo...原创 2021-10-16 18:35:48 · 256 阅读 · 0 评论 -
mysql-远程登陆设置- 错误:1130-2059
1.错误号:1130客户端主机:192.168.9.48;mysql 端主机:192.168.9.58原因在于192.168.9.58 机器上 mysql端root没有设置成远程可访问权限。以下操作都是在192.168.9.58上完成。修改Mysql修改一共4步。mysqlmysql -uroot -proot # 1.root用户登录mysql数据库use mysql;select user,host from user; #2.查看用户权限update user s原创 2021-10-04 17:48:37 · 205 阅读 · 0 评论 -
redhat(16)-MariaDB-(安装,使用,管理用户和访问权限,备份与恢复)
数据库的基本使用包括以下方面:1.安装2.使用3.管理用户和访问权限4.备份和恢复1.安装 server: mariadb-server,mariadb-bench,mariadb-test client:mysql-connector-odbc,mysql-python 1.1添加yum源: /etc/yum.repos.d/MariaDB.repo 运行 yum install -y mariadb-server ...原创 2021-04-20 21:59:03 · 390 阅读 · 0 评论 -
redhat(17)-host‘**‘ is not allowed to connect to this mariadb server
mariadb出现如上的问题,原因是client访问用户未被授权。正解:在server端添加:远程被授权用户,具体如下:--进入交互式mysql -u root -predhat use mysql;--创建用户+查询create user user1@'172.25.0.10' identified by 'redhat';--创建用户 user1来自于主机'' 密码select host,user,password from use.原创 2021-04-20 21:00:40 · 136 阅读 · 0 评论 -
mysql(17)-索引-B-B+树
mySQL的索引是B+树。数据结构工具网址: https://www.cs.usfca.edu/~galles/visualization/Algorithms.html11.树hash BST (二叉搜索树) AVL (二叉平衡树) 红黑树(二叉平衡树) B树(多叉树) 为什么hash不行 1.hash散列不均匀 左小,右大。 最长路径和最短路径不超过两倍。 一个节点可以放多个值 max.Degree=4时,一个N...原创 2020-09-16 22:34:18 · 142 阅读 · 0 评论 -
redis(3)-哨兵模式-sentinel
反客为主自动版:后台监控主机是否故障,自动选从库为主库。 实现步骤:#1.创建文件:/myredisconfig/sentinel.confsentinel.conf#2.内容 被监控数据库名字 host6379 1表示主机挂掉后 ,得票数为多少后成为主机 sentinel monitor host6379 127.0.0.1 6379 1#3.启动哨兵cd /usr/local/binredis-sentinel myredisconfig/se...原创 2020-09-15 12:33:52 · 111 阅读 · 0 评论 -
redis(2)-薪火相传-反客为主
薪火相传-反客为主序号 说明 79 master 80 slave1 master 81 slave2 SLAVEOF 127.0.0.1 6379 SLAVEOF 127.0.0.1 6380 1.master 设值,slave1,slave2都是可以得到值的 set k9 v9 get k9 v9 get k9 v9 2.查看信息info replication...原创 2020-09-15 12:28:29 · 129 阅读 · 0 评论 -
redis(1)-主从复制(一主二仆)
1.机器编号2.复制并修改配置文件3.主从复制的实现与5个特点 1.机器编号主机名 修改文件server_id redis.conf 文件的目录 文件差异 IP(此处为我本机的IP地址) PC-centos-57-master 100 /usr/local/bin/myredisconfig(一般都在这) 192.168.9.29:6379 PC-win10-slave1 1 D:\Environment...原创 2020-09-15 03:13:22 · 143 阅读 · 0 评论 -
mysql(16)-读写分离-mycat-配置-schema.xml- server.xml
mycat是一个基于JVM的mysql读写分离的中间件,实现对mysql的读写分离。用前先确定机器上装有JDK。1.下载安装2.配置文件schema.xml修改3.配置文件 server.xml修改4.启动5.JAVA程序中application.properties配置文件修改1.下载安装 http://www.mycat.org.cn/下载 解压到安装目录下2.配置文件schema.xml修改配置文件目录:D:\Environment\mysql\my...原创 2020-09-12 10:45:54 · 458 阅读 · 0 评论 -
mysql(15)-主从复制-(一主多从)-centos-win10-mysql5.7-mysql8
1.设置master和slaves2.主机配置文件3.从机配置文件1.设置master和slaves server-id 修改的配置文件 主从配置 IP PC1-centos-57 master 100 /etc/my.cnf master-OK 192.168.42.128:3306 PC1-win10-57 slave1...原创 2020-09-12 10:20:39 · 122 阅读 · 0 评论 -
win10-NAVICAT-访问虚拟机上centos8-mysql5.7-常见错误码2003-1130等
NAVICAT访问常见错误码:主要就以下方面造成:1、网络不通; 2、服务未启动; 3、防火墙端口未开放; 4、用户未授权。1 开放防火墙访问端口或者关闭防火墙2修改配置文件3修改root用户访问权限1 开放防火墙访问端口或者关闭防火墙#1)关闭防火墙#关闭服务systemctl stop firewalldsystemctl status#开机禁用systemctl disable firewalld#2)开放端口$ firewall-cmd...原创 2020-09-07 19:49:48 · 329 阅读 · 0 评论 -
centos8-离线安装Mysql
1.查看服务器上是否已安装Mysql2.卸载已安装的版本3.离线安装4.启动服务5.本地配置1.查看服务器上是否已安装Mysql1.1切换到root 用户 命令: surpm -qa|grep mysqlrpm -qa|grep mariadb1.2在哪个目录:2.卸载已安装的版本rpm -e bt-mysql56-5.6.49-1.el8.x86_64rpm -e mysql-libs-8.0.17-3.module_el8.0.0+181...原创 2020-09-07 19:49:11 · 1407 阅读 · 0 评论 -
win10-mysql-5-8 -安装与卸载---一机多版----自定义数据存储路径
我想一台机器装两个版本的mysql 一个5+ 版本,一个8+ 版本.两个可以启动:1.在我的电脑->服务->可以看到 2.Navicat连接 2.1可以连mysql57 2.2可以连mysql8 3.环境变量配置4.两个版本 my.ini 文件配置5.卸载安装包下载地址:https://www.mysql.com/cn/downloads/安装步骤参见:https://blog.csdn.net/yahuikiki/article/details/9073...原创 2020-09-05 21:19:44 · 176 阅读 · 0 评论 -
SSM(7)-mybatis整合
分三步走:1.导入jar包:2.写配置文件:mybatis-config.xml和mapper映射文件3,JAVA类实现与调用1.导入jar包: 1.1junit 1.2mybatis 1.3mysql-connector-java 1.4spring相关 1.5aspectJ AOP 织入器 1.6mybatis-spring整合包2.写配置文件:mybatis-config.xml和mapper映射文件mybatis-config.xml<?xml version="1.0" .原创 2020-08-05 22:16:16 · 216 阅读 · 0 评论 -
JAVA(14)-JDBC入门
JAVA数据库操作,入门篇。1.加类库2.经典编程1.加类库1.连接数据库 2.新建project->new java project 3.点击finish new class TestJDBC 自动生成main加载类库:mysql-connector2.经典编程还是那么6步,不赘述了上代码:import java.sql.*;public class T01_HelloJDBC { public static void main(Stri...原创 2020-07-15 20:56:49 · 190 阅读 · 0 评论 -
JAVA(15)-preparedStatement-CallableStatement-Batch-Transaction
1preparedStatement sql 特别长,列特别多。Class.forname("orcale.jdbc.driver.OracleDriver"); conn=DriverManager.getConnection() preparedStatement pstmt=null; pstmt=conn.PreparedStatement(“insert into dept2 values(?,?,?)”); pstmt.setInt(1,deptno);//1代表第一个问号.原创 2020-07-15 21:02:50 · 140 阅读 · 0 评论 -
缓存穿透-布隆过滤器-Zookeeper分布式锁
缓存穿透 数据访问有高、低频之分。我们一般把高频数据放在redis中,所谓的缓存穿透就是一个数据在redis中没查看,得到Mysql中查。那这种现象能否避免吗?肯定不能。但是我们可以避免高频的缓存穿透。 1.布隆过滤器: 1.1.布隆过滤器干什么的?解决内存紧张。 1.2怎么实现:不存数据值,用bitmap标识数据。 1.3过程: 1.4错误率,哈希碰撞: 1.5遇到这种情况怎么办? 2.缓存雪...原创 2020-05-24 17:40:25 · 228 阅读 · 0 评论 -
HIVE(3)-HIVESQL窗口函数
HIVESQL窗口函数还是很好用的。MARK一下基本概念和语法。1.累计计算:sum()、avg()2.排序:row_number(),rank(),dense_rank()3.前百分之多少:ntile()4.偏移分析:lag() ,lead()1.累计计算:sum()、avg()1.1sum()累计a)开始时间为0 第一条数据开始select a.month, a.pay_amount_1, --结果,非原始字段 ...原创 2020-05-21 19:37:17 · 1114 阅读 · 0 评论 -
mySQL(14)-case when
两种:第一种 格式 : 简单Case函数 : case 字段 --此处有字段 when 条件 then 结果 else 结果 end; 第二种 格式 :Case搜索函数 case --没写字段 when 条件 then 结果 when 条件 then 结果 else 结果 end;示例1:-- 1.建表create table users(id int,..原创 2020-05-20 21:18:08 · 127 阅读 · 0 评论 -
HIVE(2)-基础用法
hive是一个应用性很强的工具,没有高深的东西,就是熟练与活用。而越是活用的技能,个人觉得基础越要清晰与精准,于是把基础的东西MARK一遍。其次,通常情况下,HIIVE与mysql同时存在的,写了些异同和常见错误。以供参考。...原创 2020-05-17 21:55:58 · 276 阅读 · 0 评论 -
HIVE(1)-概述
1.什么是HIVE: 架在hadoop上的一个软件.2.用来干什么的:操作MapReduce的。操作MapReduce得java写程序,太费劲,用这个类SQL的工具简单。3.数据库,数据仓库啥区别: 数据仓库,大,无索引,分片查询。 数据库 数据仓库 只存放当前值,实时值 静态历史的数据 存放3.5个月 定期的,几年或者更长的 数据结构复杂 数据结构简单 ...原创 2020-05-16 16:31:56 · 239 阅读 · 0 评论 -
mySQL(13)-多表查询
承接上篇,MARK一下多表查询。-- 多表查询:-- 1.查询平均成绩大于85的所有学生的学号、姓名和平均成绩 -- 2表查询+返回值(原始字段+计算值)-- 两表查询:student, sc;返回值:s.sid,s.sname.avg(sc.score)-- note: 筛选条件:分组后用having avg(sc.score)>85 而不是where select s.sid,s.sname,avg(score) from sc原创 2020-05-14 21:13:38 · 355 阅读 · 0 评论 -
mySQL(12)-单表查询
mysql下单表查询、更新的一般用法,总结MARK了一下。真正到工程中就把字段改改,套路是一样的。-- 1.查询姓“朱”的学生名单-- 单表查询+返回值(原始字段)-- 单表:student;返回值:名字(snmae 原始字段)-- note:_'单一字符' '%'任意字符 select * from student where sname like "朱%" -- 2.查询同名同性学生名单,并统计同名人数-- 单表查询+返回值(原始字段+原始字段+计算值)-- ..原创 2020-05-14 21:13:10 · 188 阅读 · 0 评论 -
mysql(11)-索引
索引是用来加速查找的。1.索引:是创建了另外的文件,占用硬盘资源的。 索引格式有两种:hash ,btree2.索引表特点 查询快 :插入更新删除慢 命中索引 Select * from useinfo where email=‘asdf’; 不可以用like3.三种索引 3.1普通索引 Create index 索引名 on 表名(列名) drop index 索引名 on 表名...原创 2020-05-10 21:43:31 · 165 阅读 · 0 评论 -
mySQL(10)-动态注入
SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。实际应用时其实有点小复杂,比如;PreparedStatement,正则过滤参数,字符串过滤之类,不在此赘述。本文就这个知识点MARK一下基础语法.3步:begin 1.预检测某个东西,sql语句合法性 2.SQL=格式化+arg 3.执行sql语句enddelimiter \\CREATE PROCEDUR...原创 2020-05-10 17:12:02 · 200 阅读 · 0 评论 -
mySQL(9)-游标
解决的问题:我有表A和表B,表Bnum的值有a.id+a.num组成。要实现需要遍历A表的所有id和Num.语法:1.创建 2.获取每一行数据begin--声明变量 declare ssid int; -- 自定义变量1 int ssiddeclare ssname varchar(50); -- 自定义变量2 varhar(50) ssnameDECLAR...原创 2020-05-10 16:09:35 · 127 阅读 · 0 评论 -
mySQL(8)-事务
事务:用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。过程:1.创建 create PROCEDURE p1( OUT p_return_code tinyint )2.实现 begin 1.声明如果出现异常 { set status=1; rollback; } 2.开始事务 ...原创 2020-05-10 12:13:11 · 116 阅读 · 0 评论 -
mySQL(8)-主键与外键
1.主键: 干什么的?保证数据的唯一性。 一个表只能有一个主键吗? 对 一个主键只能有一列吗?错。主键可以由两列合起来。2.外键: 干什么的?某列数据来自于另一张表的一列,且只来自于另一张的一列。 好处:1.节约空间:比如department,由中文字变数字。比如“中共中央。。。”->12.对department做约束,两表数据一致。不会出现如图所示的情况3.查询表1...原创 2021-03-29 10:07:18 · 924 阅读 · 0 评论 -
mySQL(7)-存储过程
创建与调用。1.无参创建2.有参创建3.结果集与out4.python的调用1.无参创建 delimiter // create procedure p1() BEGIN select * from t1; Insert into teacher(tname) values("ct"); END// delimiter ; call p1() cursor.callproc('p1') -- 程序里调用 ...原创 2020-05-09 19:59:41 · 126 阅读 · 0 评论 -
mySQL(6)-函数-内置和自定义函数
函数包括内置函数和自定义函数1.内置函数: 参看官方文档 比如: select SUM(1,2,3,4); --求和 select_CHAR_LENGTH('ADHFA');--字符长度 select CONCAT('ADHFA','as','dd');--字符串拼接 select CURDATE();--当前时间2.自定义函数: -- 1.函数的定义与实现 delimiter \\create ...原创 2020-05-09 19:59:18 · 184 阅读 · 0 评论 -
mySQL(5)-视图-触发器
1.视图 1.1是什么:临时表 1.2 语法: 创建,修改,删除 1.3 特点:动态生成2.触发器 2.1是什么 2.2 语法 1.视图 1.1是什么:临时表 临时表 : select* from student 的返回值 子查询:select * from student 1.2 语法: 创建,修改,删除 create view v1 as select * from student where sid&g...原创 2020-05-09 19:59:02 · 148 阅读 · 0 评论