day23(mysql主从脚本与mysql详细语句介绍)

news2024/9/24 5:29:28

一、mysql主从脚本

在同步时,对删除和修改都比较慎重(监控同步时)

mysql主从搭建 前提软件libaio,rsync

1.主

2.从

3.同步

4.测试

注意:先执行从服务器的脚本,再执行主服务器脚本

master-mysql配置脚本

先要在主服务器上配置免密登录

ssh-keygen

ssh-copy-id root@10.0.0.12

vim mysql.sh

source mysql.sh

# source /etc/profile     //激活profile文件

mysql -p'hz),bpIhb2x+'   //密码为上面初始化之后自动生成的

slave-mysql配置脚本

source mysql.sh

两个脚本都运行完之后

主服务器配置

从服务器配置

主服务器配置

到此配置全部完成

二、MySQL详细介绍

1、聚合函数

只有 select ⼦句和 having ⼦句、order by ⼦句中能使⽤聚合函数,where ⼦句不能使⽤聚合函 数。当使⽤聚合查询以后,不能使⽤where条件,如果要添加条件,就使⽤having。

常⽤聚合``函数
统计表中数据的⾏数或者统计指定列不为空值的数据⾏个数select count(*或表头名) from 表名;
计算指定列的最⼤值,如果指定列是字符串类型(⽂字类型)则使 ⽤字符⾸拼排序select max(表头名) from 表名;
计算指定列的最⼩值,如果指定列是字符串类型(⽂字类型)则使 ⽤字符⾸拼排序select min(表头名) from 表名;
计算指定列的数值和,如果指定列不是数值类型则计算结果为 0select sum(表头名) from 表名;
计算指定列的平均值,如果指定列不是数值类型则计算结果为 0select avg(表头名) from 表名;

2、其他常⽤函数

(1)⽇期函数

⽇期时间函数
获取当前⽇期和时间select now();
显示输⼊⽇期的年份select year('date');例如:select year('1998-08-24');(只显示 1998 年)
计算输⼊的⽇期 到年 初的周数select weekofyear ('date');例如:select year('2023-01-31');(会显示 5,也就是5 周)
计算输⼊的⽇期 到年 初的天数select dayofyear ('date');例如:select dayofyear('2023-01-31');(会显 示 31,也就是 31 天)
显示输⼊⽇期的 ⽉份 值select month('date');例如:select month('1998-08-24');(只显示 8 ⽉)
显示输⼊⽇期是 ⼏号select day('date');例如:select day('1998-08-24');(只显示 24 号)
显示输⼊⽇期是 ⼀周 中的第⼏天 (从周⽇ 开始)select dayofweek('date');例如:select dayofweek('1998-08-24');(显 示 2,也就是周⼀)
显示输⼊⽇期的 ⽉份 的最后⼀天select last_day('date');例如:select last_day('2023-09-24');(会显示 2023 年 9 ⽉ 最后⼀天是⼏号)
显示输⼊⽇期加多少天 的结果select adddate(current_date,需要加的天数);例如:select adddate(current_date,44);(会显示当前⽇期加上 44 天的结果)
显示输⼊⽇期减 多少 天的结果select subdate(current_date,需要减的天数); 例如:select subdate(current_date,44);(会显示当前⽇期减去 44 天的结果)
显示两个⽇期中 间隔 了多少天select datediff ('date1','date2');例如:select datediff ('2023-09- 24','1998-08-24');(会显示 9162,也就是两个⽇期之间隔了 9162 天)
显示输⼊时间已 经过 了多少⼩时select hour('time');例如:select hour('18:41:44');(会显示已经过去了 18 个⼩ 时)
显示输⼊时间已 经过 了多少分钟select minute('time');(time 为时间标准格式)
显示过了多少秒select second('time');(time 为时间标准格式)
显示输⼊⽇期时 间的 时间值select time('datetime');(datetime:标准⽇期格式)
显示输⼊⽇期select date('datetime');(datetime:标准⽇期 格式)

(2)数字函数

(3)字符串函数

3.MySQL分组查询

语法:

        select 聚合函数(表头名 1),表头名 2 from 数据表名 group by 表 头名;

        select 聚合函数(表头名) 临时表头名,真实表头名 from 数据表名 group by 真实表头名;

        若⽤ group by 分组查询语句,必须加⼊聚合函数,否则报错 (踩坑)

4.MySQL子查询语句

⼦查询是指⼀个查询语句嵌套在另⼀个查询语句内部的查询;

该查询语句可以嵌套在⼀个 SELECT、SELECT...INTO、 INSERT...INTO 等语句中。

在执⾏查询时,⾸先会执⾏⼦查询中的语句,再将返回的结果作为外层查询的过滤条件。

在⼦查询中通常可以使⽤⽐较运算符和 IN、EXISTS、ANY、 ALL 等关键字。

例如:select * from class where cid=(select classid from student where sname='张三');

(1)⽐较运算符的⼦查询

也就是⽤“=”、“、“>”这类⽐较运算符

(2)exists 关键字的⼦查询

        exists 关键字后⾯的参数可以是任意⼀个⼦查询, 它不产⽣任何数据,只返回 true 或 false。⽽当 返回值为 true 时外层查询才会执⾏。

        相当于内层句⼦是⼀个判断句式。

5.MySQL多表联合查询

(1)交叉连接查询

        交叉连接返回的结果是被连接的两个表中所有数据⾏的笛卡尔积;

        交叉连接返回的结果是被连接的两个表中所有数据⾏的笛卡尔积;

        语法: select * from 表1 cross join 表2;

(2)多表联合查询

        语法:select 查询字段1,查询字段2, ... from 表1 join 表2 join ... on 表1.关系字段=表2.关系字段 =...;

        join:联合

         on:条件

6.MySQL授权

(1)MySQL基础权限

权限说明
all设置 grant option 之外的所有权限(授权选项)
alter允许使⽤ alter table(修改表的权限)
create允许使⽤ create table(添加表的权限)
create user允许使⽤ create user(添加⽤户权限)
delete允许使⽤ index(索引权限)

index

允许使⽤ index(索引权限)
insert允许使⽤ insert(插⼊权限)
update允许使⽤ update(更新权限)
drop允许使⽤ drop table(删除表权限)

replication slave

允许从主服务器中读取⼆进制⽇志⽂件
show databases允许显示所有数据库
select允许使用   select (插入权限)

(2)权限语法

grant all on test.user

客户机地址可以有以下表现形式:

%:表示所有地址

192.168.33.%:表示 33 ⽹段下所有主机,⼀般为你想为哪个⽹段授权,或为⾃⼰⽹段下的主机授权

三、MySQL触发器

1.概念

        触发器是⼀种特殊的存储过程,它在插⼊,删除或修改特定表中的数据时触发执⾏,它⽐数据库本 身标准的功能有更精细和更复杂的数据控制能⼒。

        1、例如在某⼀个时间触发什么事情

        2、例如不允许股票价格的升幅⼀次超过%10

        3、审计功能,某⼀个⼈登录会记录所有的操作

2、触发器语法

create trigger 触发器名称 触发的时机 触发的动作 on 表名 for each row 触发器状态

1、语法的红字为固定格式

2、触发器名称:⾃定义

3、触发的时机:before(之前) 或 after(之后),在执⾏动作之前还是之后

4、触发的动作:指的激发触发程序的语句类型(插⼊、更新、删除表或数据等)

5、each row:操作的每⼀⾏都会被监控

6、触发器状态:在触发的动作之前或之后做什么事情,⽐如当我删 了表 1 的某条数据后,⾃动清空 表 2。

3、触发器创建的四要素

(1)监视地点:table(表)

(2)监视事件:insert(插⼊)、update(更新)、delete(删除) 等动作

(3)触发时间:before(之前)、after(之后)

(4)触发事件:在监视事件之前或之后,对当前表或其他表的插 ⼊、更新、删除等动作

4、触发器实例

四、MySQL基本优化操作

1、忘记 MySQL 密码

2、MySQL 存储引擎

(1)查看数据库使⽤的存储引擎

(2)创建表并指定存储引擎

(3)修改已存在数据表的存储引擎

(4)修改 MySQL 服务的默认存储引擎

练习

远程连接数据库的要素 :

1、username 2、password 3、url mysql ip|域名 数据库名称 端口

别名:

select id as 编号,name as 姓名,gender as 性别 from student;

数据分析的基础

1、排序 :max min

2、汇总 :count sum avg

3、数学进制 :

二进制 八进制 十进制 十六进制

select max(price) from product;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1993506.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3+setup使用vuemap/vue-amap实现地图相关操作

首先要下载依赖并且引入 npm安装 // 安装核心库 npm install vuemap/vue-amap --save// 安装loca库 npm install vuemap/vue-amap-loca --save// 安装扩展库 npm install vuemap/vue-amap-extra --save cdn <script src"https://cdn.jsdelivr.net/npm/vuemap/vue-a…

ArcGIS基础:自定义创建点线面等样式符号以方便使用

有时&#xff0c;使用ArcGIS自带的符号样式库无法满足我们使用要求&#xff0c;还需要进行调整&#xff0c;可能会浪费一些时间&#xff0c;那么自己新建一些样式符号备用&#xff0c; 需要的时候直接使用&#xff0c;会节省很多时间&#xff0c;大家学会之后&#xff0c;对学…

ctfshow-web入门-sql注入(web196-web200)堆叠注入

目录 1、web196 2、web197 3、web198 4、web199 5、web200 1、web196 对输入长度做了限制 输出 flag 的条件&#xff1a; if($row[0]$password){$ret[msg]"登陆成功 flag is $flag";} 其中 $row[0] 表示从数据库查询结果中提取的某一行的第一个字段值&#x…

Linux网络编程5

IO多路复用 1.IO模型 在unix/linu下主要有四种I/O模式&#xff1a; 阻塞I/O: 最常用 大部分程序使用的都是阻塞模式的I/O 阻塞I/O 缺省情况下&#xff0c;套接字建立后所处于的模式就是阻塞I/O模式 读操作&#xff1a;read,recv,recvfrom 写操作&#xff1a;write,send …

【最新】推荐7款智能AI写作论文生成网站工具

在当前的AI技术浪潮中&#xff0c;智能AI写作工具已经成为了学术研究和论文撰写的重要助手。本文将推荐7款高效且功能全面的智能AI写作论文生成网站工具&#xff0c;并重点介绍其中备受好评的千笔-AIPassPaPer。 1. 千笔-AIPassPaPer 千笔-AIPassPaPer是一款集多种功能于一体…

最近在写的支付模块

最近再写支付模块就到处借鉴 旨在回顾一下。 1.确认订单功能 使用场景是&#xff1a;用户在选择好购物车后&#xff0c;或者是直接选择商品后&#xff08;选择商品封装为购物车&#xff09; 这样做是根据尚硅谷来学习的 目前需要这些属性&#xff0c;原因是在确认订单页面后…

如何采集淘宝商品评论?

采集商品评论对于企业和消费者都至关重要。它不仅帮助企业了解产品优势与不足&#xff0c;指导产品改进和市场策略调整&#xff0c;还能通过积极回应顾客反馈增强品牌忠诚度。对消费者而言&#xff0c;真实客观的评价是决策的重要参考&#xff0c;有助于避开潜在问题&#xff0…

Apache Tomcat 7下载、安装、环境变量配置 详细教程

Apache Tomcat 7下载、安装、环境变量配置 详细教程 Apache Tomcat 7下载Apache Tomcat 7 安装Apache Tomcat 7 环境变量配置启动 Apache Tomcat 7测试Tomcat7是否启动成功 Apache Tomcat 7下载 1、下载地址&#xff0c;找到Archives 链接: 官网下载地址 2、找到Tomcat 7&…

Linux查看系统线程数

Linux查看系统线程数 查看线程数查看进程内的线程统计线程数 查看线程数 想要查看Linux操作系统允许的最大线程数&#xff0c;可以通过命令 ulimit -a返回配置项的详细说明&#xff1a; # core文件的最大值为100blocks core file size (blocks, -c) 0# 进程的数…

[区间概率预测]CNN-BiLSTM-Attention-ABKDE多变量时序预测 基于改进自适应核密度估计实现区间预测

[区间概率预测]CNN-BiLSTM-Attention-ABKDE多变量时序预测 基于改进自适应核密度估计实现区间预测 【原创区间概率预测】CNN-BiLSTM-Attention-ABKDE多变量时序预测 基于卷积神经网络-双向长短期记忆神经网络-注意力机制结合自适应带宽核函数密度估计的多变量时序预测【点预测…

【51单片机仿真】基于51单片机设计的温度检测与高低温报警系统仿真源码设计文档演示视频——文末资料下载

基于51单片机设计的温度检测与高低温报警系统仿真设计 演示视频 基于51单片机设计的温度检测与高低温报警系统仿真 系统功能简介 1、实时温度测量&#xff0c;可调整温度值 2、显示测量的温度值&#xff0c;按键切换可查看高温和低温报警值 3、可通过按键输入报警最高值以及最…

8/8总结

1.三分 | 函数 虽然提示很明显了&#xff0c;但是还是没掌握套路&#xff0c;看了题解才会的&#xff0c;估计也有四分&#xff0c;就是三次方的形式。 例子&#xff1a; 2 1 2 0 0 2 2 0 0 2 -4 2AC: #include<bits/stdc.h> using namespace std; const int maxn1001…

动态规划(一)

目录 &#xff08;一&#xff09;递归到动规的一般转化方法 &#xff08;二&#xff09;动规解题的一般思路 1. 将原问题分解为子问题 2. 确定状态 3. 确定一些初始状态&#xff08;边界状态&#xff09;的值 4. 确定状态转移方程 &#xff08;三&#xff09;能用动规解…

【Android Studio】Webview 内核升级得三种方法

【Android Studio】Webview 内核升级得三种方法 前言X5 腾讯组件crosswalk开源项目webview升级加载的内核&#xff08;完美解决&#xff09;总结 前言 在APP 中进行网页加载&#xff0c;一般采用原生自带的Webview 组件&#xff0c;但在需要加载高版本网页的时候&#xff0c;有…

工业三防平板助力MES系统打造工厂移动式生产管理

随着工业4.0时代的到来&#xff0c;智能制造、数字化车间等概念层出不穷&#xff0c;生产过程的可视化管理也成为了企业提升效率、优化生产的关键。而工业三防平板&#xff0c;凭借其坚固耐用、功能强大、便携易用等特性&#xff0c;成为了实现生产过程可视化管理的重要利器&am…

SQL注入实例(sqli-labs/less-21)

与第20关无异&#xff0c;只多了一步base64加密 0、初始页面 1、确定闭合字符 2、爆库名 3、爆表名 4、爆列名 5、查询最终目标

POS刷卡开发源码之语音播报-CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构

一、终端语音提醒的好处 1. 增强信息传递的有效性&#xff1a;在人们忙碌或者注意力分散时&#xff0c;语音提醒能够直接穿透噪音和干扰&#xff0c;确保重要信息被准确接收。 2. 提高操作的便捷性&#xff1a;用户无需停下手中的工作去查看屏幕或阅读文字&#xff0c;直接通过…

算法——动态规划:0/1 背包问题

文章目录 一、问题描述二、解决方案1. DP 状态的设计2. 状态转移方程3. 算法复杂度4. 举例5. 实现6. 滚动数组6.1 两行实现6.2 单行实现6.3 优缺点 三、总结 一、问题描述 问题的抽象&#xff1a;给定 n n n 种物品和一个背包&#xff0c;第 i i i 个物品的体积为 c i c_i …

NET8中WebAPI使用JWT入门教程

目录 1、JWT2、具体实现3、代码下载 1、JWT 现在在各类API的开发中&#xff0c;token已经是必备了。例如&#xff1a;微信公众号开发中&#xff0c;第一个方法就是获取token。JWT具体的定义及组成部分大家可以到网上找找&#xff0c;这儿给一个简单的描述&#xff1a;JWT 令牌…

yaml语法+yaml配置文件

yaml语法 k:(空格)v > 表示一对键值对空格必须有 yaml拥有严格的空格缩进格式控制&#xff0c;以空格的缩进来控制层级关系&#xff1b;只要是左对齐的一列数据&#xff0c;都是同一个层级的 spring:thymeleaf:cache: true# 检查模板是否存在&#xff0c;然后再呈现check…