- 博客(43)
- 收藏
- 关注
原创 解决Linux中文乱码、字体横向问题
8、若还乱码,点击编码,选择UTF-8,若字体是横着的 字体选择不带@的字体。5、source ~/.bash_profile --更新配置文件。3、vim ~/.bash_profile --修改配置文件。2、echo $LANG --查看当前使用的语言。6、echo $LANG --查看当前使用的语言。7、date --查看日期 检查乱码解决某。1、locale --查看当先系统编码集。解决Linux中文乱码问题。
2023-11-27 23:07:39 583
原创 运维简单面试题
dump $db_name 2>/dev/null |gzip >${backfile}/${db_name}_$(date +%m%d).sql.gz #库名+时间备份打包至指定路径下。" 2>/dev/null |sed 1d|egrep -v "_schema|mysql"` #获取库名列表。" 2>/dev/null |sed 1d|egrep -v "_schema|mysql"` #获取库名列表。if [ -n "$n" -a -z "$test" ] #检测空输入。
2023-05-05 14:38:12 944
原创 shell脚本 sort工具
sort -t " " -k2n,2 sort.txtsort -t " " -k2n,2 -uk1,2 sort.txtsort -t " " -k2n,2 -uk1,2 -o sort2.txt sort.txtsort -t " " -k2nr,2 -uk1,2 sort.txtsort -t "," -k1,1 -k3nr,3 sort3.txt
2023-05-04 21:41:19 831
原创 shell脚本 sed工具
sed 's/abc/hello/2w sed2.txt' sed.txt 将每行中第二个匹配的itheima替换为hello , 将替换后的内容写入到sed2.txt文件中 w命令写入。sed -e '1d' -e 's/abc/adc/g' sed.txt 执行多个sed程序命令,删除第1行,替换abc为adc全部。sed '/i/s/t.*//g' sed.txt 正则表达式匹配替换,t.* 表示 t后面的所有字符,不限个数。
2023-05-04 20:47:46 1041
原创 shell脚本 cut工具
cat cut1.txt | grep ittt | cut -d " " -f 2 先在文件中过滤出单词 ittt 再以空格分割 提取第二个ittt。cut cut1.txt -d " " -f 1 提取cut1.txt文件 第一列数据 以空格为分隔符。cut cut1.txt -d " " -f 2- 提取该文件 第二列及以后的所有列 以空格分。cut cut1.txt -d " " -f -2 提取该文件 第二列及以前的所有列 以空格分。
2023-05-04 17:14:46 1265
原创 shell脚本
函数的定义函数名 ()命令# 使用$n获取函数的参数[return 返回值]# 调用函数funname 传递参数1 传递参数2 ...
2023-05-03 21:12:05 1160
原创 shell脚本流程控制语句
提示"请输入你的考试成绩:" 接收用户输入一个成绩, 之后使用if else条件句判断。select hobby in "编程" "游戏" "篮球" "游泳"select hobby in "编程" "游戏" "篮球" "游泳"提示输入"请输入文件全名: "和"请输入数据:" 并接收文件名与数据。要求4: 大于等于90 并且 小于等于100 输出"优秀"echo "输入错误,请重新输入"read -p "请输入文件全名: " filename。read -p "请输入你的考试成绩:" score。
2023-05-03 20:05:58 728
原创 shell脚本
正则表达式1 expr match 字符串 正则表达式 expr match "itheima" ".*m"正则表达式2 expr 字符串 :正则表达式 expr "itheima" : ".*m"赋值给变量:变量名=$(echo "bc表达式" | bc [-options])# 打印变量a,变量b, 变量c的值。# 打印变量a,变量b, 变量c的值。# 打印变量a,变量b, 变量c的值。# 计算变量a+变量b赋值给变量c。
2023-05-03 17:08:03 1203
原创 shell脚本 运算符
逻辑运算符 必须在 [[ ]] 或 (( )) 执行!可以用在 [ ] [[ ]] 中, 不可以在 (( ))注意: 整数比较运算符只支持整数,不支持小数与字符串,除非字符串的值是整数数字。[ ]需要加转义符 \ [[ ]]不需要。比较两个字符串或数字,不相同则返回 0。比较两个字符串或数字,相同则返回 0。比较两个字符串或数字, 小于返回0。比较两个字符串或数字, 大于返回0。检测字符串长度是否不为 0,不为 0 返回 0 true。为0返回 0 true。
2023-05-02 21:38:43 1217
原创 Shell脚本3
加载shell登录环境 su 用户名 --login su 用户名 -l。bash -l 脚本文件 bash --login 脚本文件 加载登录环境。bash -l 脚本文件 bash --login 脚本文件。sh -l 脚本文件 sh --login 脚本文件。sh -l 脚本文件 sh --login 脚本文件。使用 -l 或 --login 先加载shell登录环境变量 在执行脚本文件。
2023-05-01 21:44:47 805
原创 Shell脚本2
定义在一个脚本文件中的变量 只能在这个脚本文件中使用的变量,局部变量语法: var_name=value变量定义规则变量名称可以有字母,数字和下划线组成, 但是不能以数字开头等号两侧不能有空格在bash环境中, 变量的默认类型都是字符串类型, 无法直接进行数值运算变量的值如果有空格, 必须使用双引号括起来不能使用Shell的关键字作为变量名称如:var1=it:变量设置值以后不可以修改的变量叫常量 ,只读变量如:var3=itt。
2023-05-01 17:45:26 805
原创 Shell脚本
echo "Hello Shell" >> /root/TTT/one.txt #输出数据到one.txt文件中。chmod a+x hello.sh #修改hello.sh文件的权限 a全部赋予 x执行权限。touch 创建文件 文件名/root/TTT/one.txt。touch batch.sh 创建.sh文件。vim batch.sh 编辑.sh文件。sh执行脚本文件: sh hello.sh。路径执行脚本文件: ./hello.sh。
2023-04-27 21:26:20 639
原创 Linux一些基操
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt 将123文件 压缩到test.tar.gz文件 使用gzip模式。压缩: tar -cvf test.tar 1.txt 2.txt 3.txt 将123文件 压缩到test.tar文件。tar -xvf test.tar -C /home/500w 解压文件test.tar 到指定目录。tar -zxvf test.tar.gz -C /home/500w 以gzip模式解压文件。
2023-04-26 17:16:20 80
原创 运维篇 读写分离
读写分离简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作,从数据库提供读操作,这样能有效地减轻单台数据库的压力。
2023-04-24 15:37:21 59
原创 运维篇 MyCat
Mycat是开源的、活跃的、基于Java语言编写的MySQL数据库中间件。可以像使用mysql一样来使用mycat,对于开发人员来说根本感觉不到mycat的存在。Mycat是采用java语言开发的开源的数据库中间件,支持Windows和Linux运行环境具体的分库分表的策略,只需要在MyCat中配置即可bin :存放可执行文件,用于启动停止mycatconf:存放mycat的配置文件lib:存放mycat的项目依赖包(jarlogs:存放。
2023-04-20 16:25:10 423
原创 运维篇 分库分表
采用单数据库进行数据存储,存在瓶颈:1、IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘IO,效率较低,请求数据太多,带宽不够,网络IO瓶颈2、CPU瓶颈:排序、分组、连接查询、集合统计等SQL会耗费大量的CPU资源,请求数太多,CPU出现瓶颈为解决瓶颈,对数据库进行分库分表处理中心思想:将数据分散存储,使得单一数据库表的数据量变小来缓解单一数据库的性能问题,从而达到提升数据库性能的目的。
2023-04-20 15:16:33 61
原创 运维篇 主从复制
指将主数据库的DDL和DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步DDL 数据定义语言 操作数据库、表DML 数据操作语言 对表中数据进行增删改MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制优点 三个方面:主库出现问题,可以快速切换到从库提供服务实现读写分离,降低主库的访问压力(增删改 可以在主库 查 可以在从库)
2023-04-20 13:45:51 65
原创 vim 编译器 简单命令
-- 打开文件vim + 文件名-- 按 i 键 进入插入模式,对文本进行编写-- 按 esc 键 进入 命令模式,-- 命令模式下 按 :wq 或者 :x 保存退出-- 命令模式下 按 :q! 不保存退出--命令模式下 按 u 键返回上一步
2023-04-09 22:49:16 122
原创 MySQL数据库 常用工具
mysqldump 客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表,及插入表的。mysqlshow 客户端对象查找工具,用来很快地查找存在哪些数据库、数据库中的表、表中的列或者索引。由于服务器生成的二进制日志文件以二进制格式保存,所以如果想要检查这些文本的文本格式,就会使用到。是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前状态、创建并删除数据库等。是客户端数据导入工具,用来导入。参数后导出的文本文件。
2023-04-09 21:20:53 213
原创 MySQL数据库 锁
也就是说,某一张表涉及到未提交的事务时,是不能够修改这张表的表结构的。而其他客户,在对这张表加表锁的时候,会根据该表上所加的意向锁来判定是否可以成功加表锁,而不用逐行判断行锁情况了。客户1,在执行DML操作时,会对涉及的行加行锁,同时也会对该表加上意向锁。允许获取排他锁的事务更新数据,阻止其他事务获得相同数据集的共享锁和排他锁。针对唯一索引进行检索时,对已存在的记录进行匹配时,将会自动优化为行锁。的行锁是针对于索引加的锁,不通过索引条件检索数据,那么。在执行时,加的行锁与表锁的冲突,在。
2023-04-07 17:46:48 295
原创 MySQL数据库 视图
视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视 图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作 就落在创建这条SQL查询语句上。
2023-04-06 10:35:56 47
原创 MySQL数据库 SQL优化
按照效率排序的话,count(字段) < count(主键 id) < count(1) ≈ count(*),所以尽量使用 count(*)。InnoDB的行锁是针对索引加的锁,不是针对记录加的锁 ,并且该索引不能失效,否则会从行锁。根据排序字段建立合适的索引,多字段排序时,也遵循最左前缀法则。通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区。分组操作时,索引的使用也是满足最左前缀法则的。分页查询,在查询时,越往后,分页查询效率越低。这一行的数据,然后事务提交之后,行锁释放。
2023-04-05 20:58:49 90
原创 MySQL数据库 引擎
- 创建表 my_memory 指定memory引擎。-- 创建表my_myisam 指定myisam引擎。-- 查询建表语句 -- 默认引擎 InnoDB。-- 查询当前数据库支持的存储引擎。
2023-04-03 16:21:58 39
原创 MySQL数据库 事务基础
name varchar(10) comment '姓名',values (null, '张三', 2000),(null, '李四', 2000);or name = '李四';-- 转账操作 张三给李四转1000。where name = '张三';where name = '张三';where name = '李四';where name = '张三'-- 2、张三 减1000。-- 3、李四 加1000。-- 1、查询张三余额。-- 查看事务隔离级别。-- 设置事务隔离级别。
2023-04-03 15:28:12 36
原创 MySQL数据库 多表查询案例
select *, (select avg(e1.salary) from emp1 e1 where e1.dept_id = e2.dept_id) '平均薪资'select d.id, d.name, (select count(*) from emp1 e where e.dept_id = d.id) '人数'-- 4、查询所有年龄大于40岁的员工, 及其归属的部门名称;-- 3、查询拥有员工的部门ID、部门名称 (求员工表 和 部门表的 交集) distinct去重。-- 查询指定部门薪资。
2023-04-02 23:31:23 87
原创 MySQL数据库 多表查询2
select * from emp1 where (job, salary) in (select job, salary from emp1 where name = '鹿杖客' or name = '宋远桥');select * from emp1 where dept_id in (select id from dept where name = '销售部' or name = '市场部');-- 2、查询 入职日期是 2006-01-01 之后的员工 及部门信息。
2023-03-31 18:35:27 83
原创 MySQL数据库 多表查询1
(null,'本科','舞蹈','静安区第一小学','静安区第一中学','北京舞蹈学院',1),(null,'硕士','表演','朝阳区第一小学','朝阳区第一中学','北京电影学院',2),(null,'本科','英语','杭州市第一小学','杭州市第一中学','杭州师范大学',3),(null,'本科','应用数学','阳泉第一小学','阳泉区第一中学','清华大学',4);(3, '财务部'), (4, '销售部'), (5, '总经办'), (6, '人事部');
2023-03-31 16:35:07 126
原创 MySQL数据库 约束
insert into dept(id, name) values (1, '研发部'), (2, '市场部'), (3, '财务部'), (4, '销售部'), (5, '总部');(1, '金庸', 66, '总裁',20000, '2000-01-01', null,5),(2, '张无忌', 20, '项目经理',12500, '2005-12-05', 1,1),('Tom1', 19, '1', '男'), ('Tom2', 20, '0', '男');
2023-03-31 15:43:22 46
原创 MySQL数据库基本函数
(case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end) as '工作地址'(case when english>= 85 then '优秀' when english >= 60 then '及格' else '不及格' end) '英语',(case when math>= 85 then '优秀' when math >= 60 then '及格' else '不及格' end) '数学',
2023-03-28 11:03:11 72
原创 MySQL数据库基本操作练习2
- 查询性别为男 年龄在20-40岁(含)以内的前5个员工信息 对查询结果 按年龄升序排序 若年龄相同 按入职时间降序排序。-- 查询所有年龄小于35岁的员工的姓名 年龄 并对查询结果 按年龄升序排序 若年龄相同 按入职时间降序排序。-- 查询年龄小于45的员工 并根据工作地址分组 获取员工数量大于等于3的工作地址。-- 查询性别为 男 年龄在 20-40岁(含)以内的姓名三个字的员工。-- 统计员工中 年龄小于60岁的 男性和女性员工的人数。-- 根据性别分组 统计男性员工 和 女性员工的数据。
2023-03-28 09:38:12 374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人