- 博客(419)
- 资源 (1)
- 收藏
- 关注
原创 记录ubuntu1804做k8s实验前,sysctl.conf和limits.conf配置脚本
记录ubuntu1804做k8s实验前,sysctl.conf和limits.conf配置脚本
2022-05-25 16:40:59
625
原创 解决typecho网站logo生成及配置问题
**第一步:**需要制作一个ico格式的图片上传到主题根目录中可在 logo神器 这个网站免费生成**第二步:**将生成的ico文件放入 typecho路径/usr/themes/主题目录/图标.ico**第三步:**找到head.php或者header.php(主题的区别),添加一行代码即可<link rel="shortcut icon" href="/usr/themes/主题目录/图标.ico"type="image/x-icon" />...
2022-03-10 15:13:56
772
原创 解决 Typecho 的 Gravatar 头像显示问题
个人博客链接使用 Cravatar 自动匹配机制解决 Gravatar 被墙和 QQ 邮箱用户显示问题官方解释: 独有的三级头像匹配机制(当访客请求自己的头像时,我们会按此顺序分三级匹配头像:Cravatar->Gravatar->QQ 头像,这平均可以为 70% 的访客提供准确的头像)具体步骤:在根目录程序配置文件 config.inc.php 最后面插一段/** * 替换Gravatar头像为Cravatar头像 * * Cravatar是Gravatar在中国的完美替代方案,
2022-03-10 15:11:03
840
原创 运维自动化之系统安装-cobbler
1 cobbler介绍Cobbler:快速网络安装linux操作系统的服务,支持众多的Linux发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE,也可以支持网络安装windowsPXE的二次封装,将多种安装参数封装到一个菜单Python编写提供了CLI和Web的管理形式安装包:cobblercobbler服务集成:pxe服务DHCPrsyncHttpDNSKickstartIPMI电源官理检查cobbler环境:
2021-09-29 17:01:18
241
原创 linux 简易维护脚本 使用functions函数实现
#!/bin/bash. /etc/init.d/functionsdisable_selinux(){ sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config action "SElinux已禁用,重新启动后才可生效"}disable_firewall(){ systemctl disable --now firewalld &> /dev/null
2021-06-18 10:04:38
156
原创 linux read命令互动脚本
#!/bin/bash#read -p "Are you rich?yes or no: " ANSWER[[ $ANSWER =~ ^[Yy]|[Yy][Ee][Ss]$ ]] && echo "You are rich" || echo "Good Good Study,Day Day Up!"
2021-06-01 11:30:24
180
原创 linux 磁盘空间和文件编号邮件报警脚本
#!/bin/bash#WARNING=80SPACE_USED=`df | grep '^/dev/sd' |grep -Eo '[0-9]+%' |tr -d % | sort -nr|head -1`INODE_USED=`df -i | grep '^/dev/sd' |grep -Eo '[0-9]+%' |tr -d % | sort -nr|head -1`[ "$SPACE_USED" -gt $WARNING -o "$INODE_USED" -gt $WARNING ] &a
2021-05-31 22:55:13
149
原创 linux 使用正则表达式匹配IP地址
[root@centos8 ~]#: IP=1.2.3.4[root@centos8 ~]#: [[ $IP =~ ^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ ]] ;echo $?0[root@centos8 ~]#: IP=1.2.3.444[root@centos8 ~]#: [[ $IP =~ ^(([1-9]?[0-9]|1[0-9]{2}|2
2021-05-31 11:40:20
1575
原创 linux 计算文件中数值之和
[root@centos8 data]#: cat nianling.txt xiaoming=20xiaohong=18xiaoqiang=22cut -d'=' -f2 nianling.txt |tr '\n' "+"|grep -Eo ".*[0-9]" |bc grep -Eo "[0-9]+" nianling.txt |tr '\n' + |grep -Eo ".*[0-9]"|bc两种方法均可
2021-05-29 21:14:24
865
原创 linux 脚本安全和set用法
set 命令:可以用来定制shell环境$- 变量h:hashall,打开选项后,Shell 会将命令所在的路径hash下来,避免每次都要查询。通过set +h将h选项关闭i:interactive-comments,包含这个选项说明当前的 shell 是一个交互式的 shell。所谓的交互式shell,在脚本中,i选项是关闭的m:monitor,打开监控模式,就可以通过Job control来控制进程的停止、继续,后台或者前台执行等B:braceexpand,大括号扩展H:history,
2021-05-28 14:19:35
536
原创 linux 过滤网络日志 筛选IP访问量 禁止IP访问 并发连接数 空间占用
wc /日志路径统计 行数 单词数 字节数cut -d' ' -f1 /日志路径 |sort |uniq -c |sort -nr | head排序筛选网络日志中IP地址出现次数iptables -AINPUT -s ip地址 -j REJECT禁止某IP地址访问
2021-05-25 12:00:26
214
原创 centos8 centos7 修改网卡名称 恢复传统的网卡命名 并指定eth0网卡取出IP地址(增加sed方法)
[root@centos8 ~]#: vim /etc/default/grubGRUB_CMDLINE_LINUX="resume=UUID=7c877369-a4e8-4dc6-bcaf-b65cd5cd567b rhgb quiet net.ifnames=0" [root@centos8 ~]#: grub2-mkconfig -o /boot/grub2/grub.cfg[root@centos8 ~]#:reboot
2021-05-25 09:29:36
217
原创 0基础入门CCNA视频学习(附链接和注意事项)
一直坚持自学,觉得IT技术相互之间是有很大关联关系的,需要不断完善自己的知识结构,所以把目前正在学习的CCNA学习连接分享出来,供大家探讨和学习,努力一定会有收获。学习链接:2019最新思科认证CCNA网络工程师网络基础精品全集教程(0基础入门必备教学视频)注意事项:1、第5课因为看不到老师的屏幕操作,所以有其他链接来替代,此处为链接地址2、第7课后的观看顺序需要自行调整一下,P7——P9——P8——P14——P10——P11——P12——P13——P16——P15——P173、Wireshark
2021-03-08 13:45:20
671
原创 阿里前端开发学习路线:前端基础进阶-JavaScript核心 DOM BOM操作:共167课时(转载链接)
B站视频学习链接个人觉得要系统性的学习一门技术还是应该全面了解相关技术,但是要分清主次,不然太费时间,前端知识目前只作了解,进行快速学习理解。
2021-01-19 09:34:51
214
原创 阿里前端开发学习路线:JavaScript入门与实战:共52课时(转载链接)
视频学习链接视频文档链接个人觉得要系统性的学习一门技术还是应该全面了解相关技术,但是要分清主次,不然太费时间,前端知识目前只作了解,进行快速学习理解。
2021-01-13 10:02:09
364
原创 阿里前端开发学习路线:CSS 快速掌握:共49课时(转载链接)
视频学习链接视频文档链接个人觉得要系统性的学习一门技术还是应该全面了解相关技术,但是要分清主次,不然太费时间,前端知识目前只作了解,进行快速学习理解。
2021-01-07 09:17:37
240
原创 阿里Java学习路线:阶段 2:数据库开发-JDBC数据库开发入门:课时10:JdbcUtils1.0小工具
1、JdbcUtils的作用连接数据库的四大参数是:启动类、url、用户名、以及密码。这些参数都与数据库关联,如果将来想要更新数据库,那么就要去修改这四大参数,那么为了不去修改代码,我们写一个jdbcUtils类,让它从配置文件中读取配置参数,然后创建连接对象。2、JdbcUtils代码dbconfig.propertiesdriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/mydb1?characterEnco
2020-12-29 10:26:59
105
原创 阿里Java学习路线:阶段 2:数据库开发-JDBC数据库开发入门:课时9:mysql的预编译功能默认是关闭的
1、预编译的好处 大家平时都使用过JDBC中的PreparedStatement接口,它有预编译功能。什么是预编译功能呢?它有什么好处呢? 当客户发送一条SQL语句给服务器后,服务器总是需要校验SQL语句的语法格式是否正确,然后把SQL语句编译成可执行的函数,最后才是执行SQL语句。其中校验语法,和编译所花的时间可能比执行SQL语句花的时间还要多。 如果我们需要执行多次insert语句,但只是每次插入的值不同,MySQL服务器也是需要每次都去校验SQL语句的语法格式,以及编译,这就浪费了太多的时
2020-12-29 09:45:45
151
原创 阿里Java学习路线:阶段 2:数据库开发-JDBC数据库开发入门:课时8:预处理的原理
PreparedStatement预处理的原理—服务器的工作:——校验sql语句的语法。——编译:一个与函数相似的东西——执行:调用函数—PreparedStatement:——前提:连接的数据库必须支持预处理!几乎没有不支持的!——每个pstmt都与一个sql模板绑定在一起,先把sql模板给数据库,数据库先进行校验,再进行编译。执行时只是把参数传递过去而已!——若二次执行时,就不用再次校验语法,也不用再次编译!直接执行! String sql = "select * from t_u
2020-12-29 09:28:14
101
原创 阿里Java学习路线:阶段 2:数据库开发-JDBC数据库开发入门:课时7:PreparedStatement的用法
PreparedStatement它是Statement接口的子接口;强大之处:—防SQL攻击;—提高代码的可读性,以可维护性;—提高效率。学习PreparedStatement的用法:—如何得到PreparedStatement的用法:——给出SQL模板;——调用Connection的PreparedStatement preparedStatement(String sql 模板);——调用 pstmt的 setXxx()系统方法sql模板中的?赋值。——调用 pstmt的 exe
2020-12-28 13:34:47
91
原创 阿里Java学习路线:阶段 2:数据库开发-JDBC数据库开发入门:课时6:结果集的特性(是否可滚动、是否敏感、是否可更新)
结果集特性:当使用Connection的createStatement时,已经确定了Statement生成的结果集是什么特性。是否可滚动是否敏感是否可更新con.createStatement():生成的结果集:不滚动、不敏感、不可更新。con.createStatement(int,int):第一个参数:ResultSet.TYPE_FORWARD_ONLY:不滚动结果集;ResultSet.TYPE_SCROLL_INSENSITIVE:滚动结果集,但结果集数据不会再跟随数据库而变化;
2020-12-28 10:56:36
103
原创 阿里Java学习路线:阶段 2:数据库开发-JDBC数据库开发入门:课时5:结果集光标与元数据
2、DriverManager其实我们今后只需要会用DriverManager的getConnection()方法即可:Class.forName(com.mysql.jdbc.Driver);// 注册驱动String url = "jdbc:mysql://localhost:3306/mydb1?characterEncoding=utf8&useSSL=true";String username = "root";String password = "1234";注意,上面代码
2020-12-28 10:23:54
132
原创 阿里Java学习路线:阶段 2:数据库开发-JDBC数据库开发入门:课时4:JDBC之代码规范化
规范化代码所谓规范化代码就是无论是否出现异常, 都要关闭 ResultSet, Statement 以及 Connection,如果你还记得IO流的规范化代码,那么下面的代码你就明白什么意思了。示例:public void query() { Connection con = null; Statement stmt = null; ResultSet rs = null; // 在try外给出引用的定义 try{
2020-12-25 16:37:58
97
原创 阿里Java学习路线:阶段 2:数据库开发-JDBC数据库开发入门:课时3:JDBC完成增、删、改、查
.\day17\day17_res\dbconfig.properties#mysql#url=jdbc:mysql://localhost:3306/mydb?#driverClassName=com.mysql.jdbc.Driver#mssql#driverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver#url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=mydb#mssql
2020-12-25 15:41:46
93
原创 阿里Java学习路线:阶段 2:数据库开发-JDBC数据库开发入门:课时2:JDBC的原理
2、JDBC原理早期sun公司的天才们想写一可以连接天下所有数据库的API,是当他们刚刚开始时发现这是不可完成的任务,因为个厂商的据库服务差异太大了.后来sun开始与数据库厂商们讨论,是终得出的结论是,由sun提供一套访问数据库的规范(就是一组接口),并提供连接数据库的协标准,然后各个数据库厂商会遵循sun的规供提供一套访问自己公司的数据库服务器的API出来.sun提供的规范命名为jdbc,而各个厂商提供的,遵循了jdbc规范的,可以访问自己据库的API被称之为驱动。...
2020-12-25 09:31:18
80
1
原创 阿里Java学习路线:阶段 2:数据库开发-JDBC数据库开发入门:课时1:什么是JDBC
JDBC入门导 jar 包:驱动加载驱动类:Class.forName(“类名”);给出url、username、password,其中url背下来使用 DriverManager 类来得到 Connection 对象1、什么是JDBCjdbc(java DataBase connectivity) 就是java数据库连接,即用java语言来操作数据库。原来我们操作数据库是在控制体使用sql语句来操作数据库,jdbc是用java语言向数据发送sql语句。package cn.itcast.d
2020-12-25 08:54:17
115
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时16-25:多表查询练习
练习题:– 1、查出至少有一个员工的部门。显示部门编号、部门名称、部门位置、部门人数。– 列:d.deptno,d.dname,d.loc,部门人数– 表:dept d, emp e– 条件:e.deptno=d.deptnoSELECT d.*,z1.cntFROM dept d,(SELECT deptno,COUNT(*) cnt FROM emp GROUP BY deptno) z1 WHERE d.deptno=z1.deptno;– 2、列出薪金比关羽高的所有员工。SELE
2020-12-24 14:53:22
169
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时15:子查询
子查询查询中有查询(查看select关键字的个数);1、出现的位置where后作为条件存在from后作为表存在2、条件单行单列:SELECT * FROM 表1 别名1 WHERE 列1 [= > < >= <= !=] (SELECT 列 FROM 表2 别名2 WHERE 条件);多行单列:SELECT * FROM 表1 别名1 WHERE 列1 [IN ALL ANY] (SELECT 列 FROM 表2 别名2 WHERE 条件);单行多列: SELECT
2020-12-24 09:52:18
82
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时14:连接查询之外连接
外连接:左外:SELECT * FROM 表1 别名1 LEFT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx;左表记录无论是否满足条件都会查询出来,而右表只有满足条件才能出来。左表中不满足条件的记录,右表部分都为NULL左外自然:SELECT * FROM 表1 别名1 NATURAL LEFT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx;右外:SELECT * FROM 表1 别名1 RIGHT OUTER JOIN 表2 别名2 ON 别名1
2020-12-23 17:13:09
86
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时12-13:连接查询之内连接(方言、标签和自然)
连接查询1、分类:内连接外连接(1)左外连接(2)右外连接(3)全外连接(MySQL不支持)自然连接 (属于一种简化方式)2、内连接:方言:SELECT * FROM 表1 别名1, 表2 别名2 WHERE 别名1.xx=别名2.xx;标准: SELECT * FROM 表1 别名1 INNER JOIN 表2 别名2 ON 别名1.xx=别名2.xx;自然: SELECT * FROM 表1 别名1 NATURAL JOIN 表2 别名2;内连接查询出的所有记录都满足条件笛卡
2020-12-23 16:34:42
93
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时11:合并结果集
多表查询分类:合并结果集(了解)连接查询子查询合并结果集:要求被合并的表中,类的类型和列数相同UNION,去除重复行UNION ALL,不去除重复行CREATE TABLE ab(a INT,b VARCHAR(50));INSERT INTO ab VALUES(1,'1');INSERT INTO ab VALUES(2,'2');INSERT INTO ab VALUES(3,'3');CREATE TABLE cd(c INT,d VARCHAR(50));INSERT
2020-12-23 15:15:51
97
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时10:多对多关系
2 多对多关系在表中建立多对多关系需要使用中间表,即需要三张表,在中间表中使用两个外键,分别引用其他两个表的主键。CREATE TABLE student( sid INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR(50));CREATE TABLE teacher( tid INT PRIMARY KEY AUTO_INCREMENT, tname VARCHAR(50));CREATE TABLE student_teacher( si
2020-12-23 14:47:42
81
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时9:一对一关系
数据库一对一关系在表中建立一对一关系比较特殊,需要让其中一张表的主键,既是主键又是外键。CREATE TABLE hasband( hid INT PRIMARY KEY AUTO_INCREMENT, hname VARCHAR(50));INSERT INTO hasband VALUES(NULL,'刘备');INSERT INTO hasband VALUES(NULL,'关羽');INSERT INTO hasband VALUES(NULL,'张飞');SELECT * FRO
2020-12-23 13:48:46
87
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时8:外键约束
外键约束# 新建表格,设置主键:CREATE TABLE dept1( deptno INT PRIMARY KEY AUTO_INCREMENT, dname VARCHAR(50));INSERT INTO dept1 VALUES(10,'研发部');INSERT INTO dept1 VALUES(20,'人力部');INSERT INTO dept1 VALUES(30,'财务部');SELECT * FROM dept1;DROP TABLE emp1;# 新建表,
2020-12-23 13:10:53
93
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时7:概述模型、对象模型、关系模型
1、概述模型对象模型:在java中是domain,例如:User、Studentis a :继承关系has a :关系关系(1)1对1(2)1对多(3)多对多public class Person { private Hand[] hands;}use a :class 人 { public void 吃 (筷子) { 人与筷子是用一个的关系 }}关系模型:在数据库中表当我们要完成一个软件系统时,需要把系统中的实体抽取出来,形成概念模型。例如部门、员工都是系统中的实
2020-12-22 16:33:44
124
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时6:非空和唯一约束
非空和唯一约束1、非空约束因为某些列不能设置为NULL值,所以可以对列添加非空约束。(1)例如:CREATE TABLE stu(sid INT PRIMARY KEY AUTO_INCREMENT,name CHAR(10) NOT NULL,…);12345对name列设置了非空约束。2、唯一约束(1)数据库某些列不能设置重复值,所以可以对列添加唯一约束。(2)例如:CREATE TABLE stu(sid INT PRIMARY KEY AUTO_INCREMEN
2020-12-22 15:51:16
131
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时5:主键自增长
主键自增长因为主键列的特性是:必须唯一、不能为空,所以我们通常会指定主键类为整型,然后设置其为自动增长,这样可以保证在插入数据时主键列的唯一和非空特性。1、创建表时指定主键自增长CREATE TABLE stu( sid INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR(20), age INT, gender VARCHAR(10));2、修改表时设置主键自增长:ALTER TABLE stu CHANGE sid sid INT AUTO_I
2020-12-22 11:15:46
83
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时4:约束之主键约束
约束约束是添加在列上的,用来约束列的。1、主键约束(唯一标识)下面是主键的特点:(1)非空(2)唯一(3)被引用(学习外键时)当表的某一列被指定为主键后,该列就不能为空,不能有重复值出现。创建表时指定主键的两种方式:CREATE TABLE stu( sid CHAR(6) PRIMARY KEY, sname VARCHAR(20), age INT, gender VARCHAR(10));指定sid列为主键列,即为sid列添加主键约束。CREATE TABLE stu
2020-12-22 10:51:53
83
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时3:mysql备份与恢复数据库
备份与恢复数据库 --> sql 语句sql语句 --> 数据库1、数据库导出SQL脚本(备份数据库内容,并不是备份数据库)(1)mysqldump -u用户名 -p密码 数据库名>生成的脚本文件路径(2)例如:mysqldump -uroot -p123456 mydb>C:\mydb.sql(与mysql.exe和mysqld.exe一样都在bin目录下)(3)注意,不要打分号,不要登录mysql,直接在cmd下运行(4)注意,生成的脚本文件中不包含create d
2020-12-22 09:27:18
97
原创 阿里Java学习路线:阶段 2:数据库开发-SQL进阶及查询练习:课时2:mysql编码问题
编码1、查看MySQL数据库编码SHOW VARIABLES LIKE ‘char%’;2、编码解释character_set_client:MySQL 使用该编码来解读从客户端发送过来的数据,例如该编码为UTF8,那么如果客户端不用UTF8来解码,那么就会出现乱码。character_set_results:MySQL会把数据转换成该编码后,再发送给客户端。3、控制台乱码问题插入或修改时出现乱码因为cmd下的编码与character_set_client不同,只需让编码相同即可查询出的数
2020-12-21 15:28:32
83
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人