使用控制台操作数据库 1、服务连接 mysql -u root -p 回车输入密码
连接远程主机的mysql mysql -h xx.xx.xx.xx(远程主机的ip) -u root -p xxxxxx(密码)
2、数据库建立于删除 select now(); 查看当前时间
show databases; 查看数据库数量
create database database_name; 创建数据库
drop database databases_name; 删除数据库
use database_name; 选择数据库-->(使用 show tables;可以查看改数据下的全部表)
3、数据库下的表创建 在我们进行选择好数据库后,使用 show tables;可以查看全部的数据表。
create table tab_test(v1 int(10),v2 varchar(50),...); 创建数据表
建好数据表后:进行查看表单中的字段:
describe tal_test; 进行查看建的tal_test 数据表
进行删除数据表:
drop table tal_test; 进行删除tal_test 表
我们需要进行添加数据和删除数据等操作,使用sql语句来进行操作。
4、sql语句 select 查询语句(查询全部):
insert 添加数据:
update 进行修改:
03:三种初始化及内存分析 java内存分析
写代码画图分析内存
1 [client] 2 port=3306 3 4 [mysql] 5 default-character-set=gbk 6 7 [mysqld] 8 port = 3306 9 socket = /tmp/mysql.sock 10 # 设置mysql的安装目录 11 basedir=F:\\Hzq Soft\\MySql Server 51GA 12 # 设置mysql数据库的数据的存放目录,必须是data,或者是\\xxx-data 13 datadir=F:\\Hzq Soft\\MySql Server 51GA\\data 14 #innodb_log_arch_dir 默认datadir 15 #innodb_log_group_home_dir 默认datadir 16 # 设置mysql服务器的字符集,默认编码 17 default-character-set=utf8 18 19 #连接数的操作系统监听队列数量,如果经常出现“拒绝连接”错误可适当增加此值 20 back_log = 50 21 #不使用接听TCP / IP端口方法,mysqld通过命名管道连接 22 #skip-networking 23 # 最大连接数量 24 max_connections = 90 25 #打开表的线程数量限定,最大4096,除非用mysqld_safe打开限制 26 table_open_cache = 2048 27 #MySql 服务接收针对每个进程最大查询包大小 28 max_allowed_packet = 16M 29 #作用于SQL查询单笔处理使用的内存缓存,如果一笔操作的二进制数据超过了限定大小,将会在磁盘上开辟空间处理,一般设为 1-2M即可,默认1M 30 binlog_cache_size = 2M 31 #单个内存表的最大值限定 32 max_heap_table_size = 64M 33 #为每个线程分配的排序缓冲大小 34 sort_buffer_size = 8M 35 #join 连表操作的缓冲大小,根据实际业务来设置,默认8M 36 join_buffer_size = 32M 37 #操作多少个离开连接的线程的缓存 38 thread_cache_size = 8 39 #并发线程数量,默认为8,可适当增加到2倍以内。如果有多个CPU可以乘 上CPU的数量。双核CPU可以乘 上当前最核数再乘 上70%-85% 40 thread_concurrency = 16 41 #专用于具体SQL的缓存,如果提交的查询与几次中的某查询相同,并且在query缓存中存在,则直接返回缓存中的结果。 42 query_cache_size = 64M 43 #对应上一条设置,当查询的结果超过下面设置的大小时,将不会趣入到上面设置的缓存区中,避免了一个大的结果占据大量缓存。 44 query_cache_limit = 2M 45 #设置加全文检索中的最小单词长度。 46 #ft_min_word_len = 4 47 #CREATE TABLE 语句的默认表类型,如果不自己指定类型,则使用下行的类型 48 default-storage-engine = InnoDB 49 #线程堆栈大小,mysql说它自己用的堆栈大小不超过64K。这个值可适当设高一点(在RCA的项目中都是共用同一个数据库连接的),默认192K 50 thread_stack = 800K 51 #设置事务处理的级别,默认 REPEATABLE-READ,一般用它就即可,以下二行按顺序对应, 52 #可读写未提交的数据,创建未提交的数据副本读写,未提交之前可读不可写,只允许串行序列招行事务。 53 # READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE 54 transaction_isolation = REPEATABLE-READ 55 #单一内存临时表在内存中的大小,超过此值自动转换到磁盘操作 56 tmp_table_size = 64M 57 #启动二进制日志功能,可通过它实现时间点恢复最新的备份 58 #log-bin=mysql-bin 59 #二进制日志格式,对就上一条,-建议混合格式 60 #binlog_format=mixed 61 #转换查询为缓慢查询 62 slow_query_log 63 #对应上一条,如果一个查询超过了下条设定的时间则执行上一条。 64 long_query_time = 2 65 #自定义主机ID识别符,用于主从或多服务器之间识别,为 一个 int 类型 66 server-id = 1 67 #一般用来缓存MyISAM表的主键,也用于临时的磁盘表缓存主键,上面多次出现临时磁盘表,所以就算不用MyISAM也最好为其设置一个不小的值,默认32M 68 key_buffer_size = 56M 69 #全表扫描MyISAM表时的缓存,每个线程拥有下行的大小。 70 read_buffer_size = 2M 71 #排序操作时与磁盘之间的缓存,分到每个线程,默认16M 72 read_rnd_buffer_size = 16M 73 #MyISAM使用特殊树形进行批量插入时的缓存,如insert .
通过if else的方式解决 <choose> <when test=site==5> and p.is_default=1 and p.payment_method in('1','7','8','12','13','14') </when> <otherwise> and p.payment_method in('7','8') </otherwise> </choose>
描述写一个 bash脚本以输出一个文本文件 nowcoder.txt 中第5行的内容。
示例:假设 nowcoder.txt 内容如下:welcometonowcoderthisisshellcode
你的脚本应当输出:is
方法1:变量定义+for循环
#!/bin/bash let j=0 for i in `cat nowcoder.txt` do if [[ $j -eq 4 ]]; then echo $i fi let j++ done 方法2:head和tail配合使用
#!/bin/bash head -n 5 nowcoder.txt | tail -n 1 方法3:sed方式
#!/bin/bash sed -n 5,5p nowcoder.txt $n0 表示当前文件名如果你只想看文件的前100行,可以使用head命令,如 head -100 $n0
如果你想查看文件的后100行,可以使用tail命令,如: tail -100 $n0 或 tail -n 100 $n0
查看文件中间一段,你可以使用sed命令,如: sed -n ‘100,200p’ $n0 这样你就可以只查看文件的第100行到第200行。
-n 处理匹配到的行-e 命令行进行编辑
来源:https://blog.niekun.net/archives/1801.html
在升级到 wsl 2 后发现一些网络问题和之前的 wsl 不一样了,主要是 DNS 解析和 wsl 和 Windows 网络互访问题,这里介绍如何处理。
DNS 解析 wsl 2 使用的 DNS 解析服务器设置在文件:/etc/resolv.conf 内设置,这是一个 link 文件,真正的文件路径是:/run/resolvconf/resolv.conf,这个文件是每次 wsl 启动时自动生成的,内容如下:
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf: # [network] # generateResolvConf = false nameserver 172.24.144.1 nameserver 后面的就是指定的 DNS 服务器地址。我发现有时候分配的服务器地址是无效的,如:127.0.0.53,使用 ping 来测试发现提示无法解析地址。需要设置一个固定的 DNS 地址,方法如下:
新建文件:/etc/wsl.conf,内容如下:
[network] generateResolvConf = false 以上配置好就不会自动创建 /run/resolvconf/resolv.
根据官网提供的解决办法下载对应版本的vmtools
Linux总结 一、概述 1. 简介 1.概念:Linux是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的一套免费使用和自由传播的类 Unix 操作系统 。
2.发行版: Linux 内核与应用软件做一个打包
3.Linux vs Windows
二、安装 1.下载
1.CentOS-7.0-x86_64-DVD-1503-01.iso : 标准安装版 2.CentOS-7.0-x86_64-NetInstall-1503-01.iso : 网络安装镜像 3.CentOS-7.0-x86_64-Everything-1503-01.iso: 对完整版安装盘的软件进行补充,集成所有软件。 安装虚拟机 剩下的一路都默认next
安装Linux 三、文件系统管理 1.系统目录结构
2.文件目录管理命令
3.文本处理命令
4.vim的使用
四、用户和用户组管理 1.概念:Linux系统是一个多用户多任务的分时操作系统,任何一个想要使用系统资源的用户都必须向系统管理员申请账号以此进入系统。
2.用户与组的配置文件
3.用户与用户组的管理命令
五、权限管理 1.文件基本属性
2.权限管理命令
六、磁盘管理 1.文件系统简介
2.磁盘分区简介
1.分区方式
2.磁盘分类
3.磁盘管理命令
4.备份压缩命令
LVM LVM的工作原理
LVM(Logical Volume Manager)逻辑卷管理,是在硬盘分区和文件系统之间添加的一个逻辑层,为文件系统屏蔽下层硬盘分区布局,并提供一个抽象的盘卷,在盘卷上建立文件系统。
管理员利用LVM可以在硬盘不用重新分区的情况下动态调整文件系统的大小,并且利用LVM管理的文件系统可以跨越物理硬盘。
当服务器添加了新的硬盘后,管理员不必将原有的文件移动到新的硬盘上,而是通过LVM直接扩展文件系统来跨越物理硬盘。
LVM就是通过将底层的物理硬盘封装,然后以逻辑卷的方式呈现给上层应用。当我们对底层的物理硬盘进行操作时,不再是针对分区进行操作,而是通过逻辑卷对底层硬盘进行管理操作。
元素结构图
1.物理卷PV(physical volume):物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质比较却包含与LVM相关的管理参数,创建物理卷可以用硬盘分区,也可以用硬盘本身。
2.卷组VG(Volume Group):类似于非LVM系统中的物理硬盘,一个卷组VG由一个或多个物理卷PV组成。可以在卷组VG上建立逻辑卷LV。
Redis 概念:redis是一款高性能的nosql系列的非关系型数据库
存储的是key:value 的形式
name:zhangsan
age:23
mysql:数据存在硬盘上
redis:数据存在内存中 所以很快(存入缓存(在内存区域中开辟出一个缓存区))
redis是nosql
下载和安装 解压可以直接使用
redis.windows.conf:配置文件
redis-cli:客户端
redis-server:服务器端
命令操作 redis的数据结构 *redis存储的是:键值对格式 的数据,其中key都是字符串,value有五种不同的数据结构
*value的数据结构:
字符串:String hash:map list:linkedlist set:不允许重复 sortedset:不允许重复字符串:String String 存储:set: key value 获取:get:key 删除 :del:key 哈希类型 hash 存储:hset key field value 获取:hget key field hget key field:获取指定的field的值 hgetall key:获取所有的field和value 删除:hdel key field 列表类型 list(允许重复):可以添加一个元素到列表的头部或者尾部(左边或者右边) 添加: lpush key value:将元素加入列表左侧 rpush key value:将元素加入列表右侧 获取: lrange key start end:范围获取 删除 lpop key:删除列表最左边的元素并将元素返回 rpop key:删除列表最右边的元素并将元素返回 集合类型 set:不允许重复元素 存储:sadd key value 获取:smembers key:获取set集合中的所有元素 删除:srem key value:删除set集合中的某个元素 有序集合类型:sortedset:不允许重复,且元素有顺序 存储:zadd key score value 获取:zrange key start end 删除:zrem key value 通用命令 keys *:查询所有的键 type key:获取键对应的类型 del key:删除指定的key value 持久化 redis是一个内存数据库,数据是零时的,当redis服务器重启了或者电脑重启了,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中
https://blog.csdn.net/u011127019/article/details/77527480 / SqlDbType转换为C#数据类型 public static Type SqlType2CsharpType(SqlDbType sqlType) { switch (sqlType) { case SqlDbType.BigInt: return typeof(Int64); case SqlDbType.Binary: return typeof(Object); case SqlDbType.Bit: return typeof(Boolean); case SqlDbType.Char: return typeof(String); case SqlDbType.DateTime: return typeof(DateTime); case SqlDbType.Decimal: return typeof(Decimal); case SqlDbType.Float: return typeof(Double); case SqlDbType.Image: return typeof(Object); case SqlDbType.Int: return typeof(Int32); case SqlDbType.Money: return typeof(Decimal); case SqlDbType.NChar: return typeof(String); case SqlDbType.NText: return typeof(String); case SqlDbType.NVarChar: return typeof(String); case SqlDbType.Real: return typeof(Single); case SqlDbType.SmallDateTime: return typeof(DateTime); case SqlDbType.