lunix的一些基本命令

#切换账号
#切换至个人账号,直接切换
su ACCOUNT
#切换至root账号,需要输入密码

#查看主机名
hostname
#设置主机名
hostnamectl set-hostname single

#网络配置
#打开网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33

#以替换的方式删除所有的"

:%s/"//g

先将文件中的BOOTPROTO=dhcp改成BOOTPROTO=static
在文件中增加几行代码:
IPADDR=192.168.153.130 //编辑–虚拟网络编辑器–最上面网络选择NAT模式–DHCP设置–(设置虚拟机IP地址在起止位置和结束之间就行)
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.153.2 //网关
DNS1=8.8.8.8 //域名
DNS2=114.114.114.114

我的虚拟机IP地址:
single:192.168.153.130
master:192.168.153.140
slave01:192.168.153.150
slave02:192.168.153.160
slave03:192.168.153.170

##########XSHELL/XFTP连VM##################

优化xshell连接慢 vi /etc/ssh/sshd_config

按“shift+g”→找到“#UseDNS yes”
把他修改成“UseDNS no”

然后重启sshd服务
systemctl restart sshd

就OK了;

当XSHELL连接不上VM时,应该是两个管理网络冲突了。可以进行以下操作:
systemctl status network //先查看以下此网络设置的状态,保持:active(exited)
再:systemctl status NetworkManager //再查看这个网络管理的状态,active(running)
再关闭NetworkManager:systemctl stop NetworkManager
然后就可以连接上了。

#重启网络服务
systemctl restart network
#查看防火墙状态
systemctl status firewalld

#关闭并禁用防火墙
systemctl stop firewalld
systemctl disable firewalld

#检测外网访问
ping www.baidu.com
ctrl+c退出ping命令

#检测内网访问
ping 192.168.153.130

使用xshell和xftp链接虚拟机

Linux常用命令
目录
pwd #查看当前目录的路径
ls [-la] #查看目录

	-rw-r--r--	
	第一位:	-	表示文件	d	表示目录
	rw- 表示所有者权限		可读,可写
	r--	表示组内用户权限	可读
	r--	表示其他用户权限	可读
	
	r	read,可读
	w   write,可写
	x	execute,可执行
	-	none,无权限
	
	rwx	111	7
	rw-	110	6
	r-x	101	5
	r--	100	4
	-wx	011	3
	-w-	010	2
	--x	001	1
	---	000	0
	
cd 	#切换目录
	#相对路径
	cd ../	#返回上一级目录
	cd DIR_NAME/	#进入指定子目录
	
	#绝对路径
	cd /父目录/子目录...
	cd ~	#返回当前目录的HOME目录
mkdir DIR_NAME[	DIR_NAME2...]	#创建目录
rm -d DIR_NAME	#删除目录
mv path rename #移动/重命名

文件
touch FILE_NAME #创建文件
vi FILE_NAME #编辑文件
#默认进入命令行模式
:x :wq! //保存后退出
:w //保存不退出
:q! //退出不保存
shift+g//进入文档尾行
dd //删除一行代码
点击o或者i进入编辑模式 esc返回命令行模式
用户
分组
权限
安装
绿色安装
解压缩配置安装
xxx.tar
xxx.tar.gz
tar -[z]xvf /srcpath/xxx.tar[.gz] -C /pathDest
配置环境变量
编辑配置文件
vi /etc/profile
export JAVA_HOME=/opt/software/jdk180
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
export CLASS_PATH=.: J A V A H O M E / l i b / t o o l s . j a r : JAVA_HOME/lib/tools.jar: JAVAHOME/lib/tools.jar:JAVA_HOME/lib/dt.jar
esc
:x :wq!//保存后退出
:w//保存不退出
:q!//退出不保存
激活配置文件
source /etc/profile
验证环境变量
echo $JAVA_HOME
/opt/software/jdk180
java -version
java version “1.8.0_111”
Java™ SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot™ 64-Bit Server VM (build 25.111-b14, mixed mode)

		rpm安装mysql
			查看是否存在mysql旧版本
			rpm -qa|grep mariadb
				mariadb-libs.x86_64 1:5.5.65-1.el7.x86_64
			yum -y remove  mariadb-libs.x86_64 1:5.5.65-1.el7.x86_64
				complete
			wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
				100%
			rpm -ivh mysql-community-release-el7-5.noarch.rpm
				100%
			yum -y install mysql-server
			systemctl status mysql
				inactive
			systemctl start mysql
				active(running)
			首次免密登录MYSQL服务
			mysql //进入mysql
			//改密码:
			use mysql;
			update user set password=password('root') where user='root';
			//查看刚刚设置的密码
			select host,user,password from user;
			//设置远程连接密码
			grand all on *.* to root@'%' identified by 'root';
			//查看刚刚设置的密码
			select host,user,password from user;
			quit;//退出mysql
			systemctl restart mysql;//重启mysql服务结束免密登录
			mysql -u root -p//安全登录 ,回车后输入密码,正常登录表示Mysql安装完毕
			
		yum安装
			yum update
			yum search COMMAND
			==================N/S matched: wget ============
			xxx.x86_64:xxxxx
			yum -y install xxx.x86_64

		navicat连接
			连接不上的原因
				防火墙未关闭
				未开启root@'%'授权,未重启服务或未flush privileges;

#mysql
#数据库
#Sql关系型数据库
Mysql,Oracle,SqlServer,DB2
#NoSql非关系型数据库
Redis,Kafka,RabbitMQ,…
#对象
#库 database
#表 table 视图 view
#索引
#事务
#函数
#自定义函数
#系统函数
#字符串函数
#数学函数
#日期函数
#系统级函数
#聚合函数
min(NUMBER_FIELD_NAME)
max(NUMBER_FIELD_NAME)
sum(NUMBER_FIELD_NAME)
avg(NUMBER_FIELD_NAME)
count(1/distinct FIELD_NAME)
#高阶函数:存储过程
#触发器
#列(字段) column(field)
#操作
#操作对象
create(增)
create database [if not exists] DATABASE_NAME;//建库
#数据类型 java mysql
#字符串 String char(n)固定长度/varchar(n) 相当于集合ArrayList,长度不固定.英文存8000个,中文存4000个/text/…
#字符串 char
#整数 byte/short/int/long smallint/【int(n)/bigint】
#小数 float/double/BigDecimal float/double/money/real/【numeric(m,n)/decimal(m,n)】//(m,n)Ⓜ️整数长度,n:小数长度
#布尔 boolean bit
#日期 java.util.Date date/datetime/timestamp

			//建表
			create table TABLE_NAME(
			
				FIELD_NAME DATA_TYPE(N) 	#约束
				/zerofill(补零)				#int(4)	-zerofill高位不足则补0
				/ auto_increment(自增)		#auto_increment	自增列
				/primary					#primary key	主键,不可重复,不可为NULL,单表唯一
				/not null					#not null 非空
				/default VALUE				#默认值
				/unique key 				#unique key 唯一值,不可重复,可以有一个空NULL,可以多字段
			
			);
		
		
		
		drop(删)
			drop database [if exists] DATABASE_NAME;
			drop table TABLE_NAME;
		
		show(查)
			show databases;//查看都有哪些数据库
			use DATABASE_NAME;//使用某个数据库
			show tables;//查看库里面有哪些表
		desc	
			desc TABLE_NAME;//查看表的结构
		alter(改)
	#操作数据
		insert(增)
			insert into TABLE_NAME(FIELD_NAME,...) values(VALUE1,...);//一次性插入一条数据
			insert into TABLE_NAME(FIELD_NAME,...) values(VALUE1,...),(VALUE1,...),...;//一次性插入多条数据
			
			将表中的数据搬到另一张表中(两种方法)
			第一种:
			create table TABLE_NAME(FIELD_NAME1,...)
			insert into TABLE_NAME(FIELD_NAME1,...) select FIELD_NAME1,...FROM ANOTHER_TABLE;//将另一张表中的部分数据搬到本表中
			第二种:
			create table NEW_TABLE(select FIELD_NAME1,...from SOURCE_TABLE);//创建一张表同时将另一张表中的部分数据搬过来
		delete(删)
		delete from TABLE_NAME where... 
		
		
		update(改)
		update TABLE_NAME set FIELD_NAME1=VALUE1,...where...
		
		
		select(查)
			select
				[distinct(去重)]FIELD_NAME,...
			from
				TABLE_NAME
			where
				CONDITION
			group by
				GROUP_FIELD_NAME,...
			having
				GROUP_RESULT...
			order by
				ORDER_FIELD(ASC升序|DESC降序),...
				
	#条件语法:
		where | having 
			#单条件
			
			#限数值类型
			FIELD_NAME = | <> | > |>= |< | <= VALUE
			FIELD_NAME between VALUE _SMALL and _BIG  
				<=> FIELD_NAME>=VALUE_SMALL and FIELD_NAME<=VALUE_BIG
			#NULL or Not NULL
			FIELD_NAME is[not] NULL	
			#列举				
			FIELD_NAME in(VALUE1,...)	
			#字符串
			FIELD_NAME like ''
				#模糊条件
				%	任意长度,任意内容
				_	一个长度任意内容
				[]	一个长度指定内容
			#多条件(逻辑运算符)
				and
				or
				not

#练习
create database kb10;//创建一个名为‘kb10’的数据库
use kb10;//使用此数据库
//创建一张名为‘student’表
create table student(
stuNo int auto_increment primary key,
stuName varchar(5) not null,
stuAge smallint not null default 18,
stuGender char(1) not null default’男’,
stuPhone char(11) not null unique key
);

insert into student(stuName,stuAge,stuGender,stuPhone) values(‘张三’,18,‘男’,‘1354857585’);//插入一条数据
select * from student;//查询刚刚插入的一条数据

//一次性插入多条数据(数据已知的情况下)
insert into student(stuName,stuAge,stuGender,stuPhone) values
(‘李四’,25,‘男’,‘15487254871’),
(‘王五’,24,‘女’,‘15487254654’),
(‘六子’,37,‘男’,‘15487252365’);

将表中的数据搬到另一张表中(两种方法)

//第一种方法:
//创建一张简单的表stucopy
create table stucopy(
stuName varchar(5),
stuPhone char(11)
);
//将student中的数据搬到stucopy表中
insert into stucopy(stuName,stuPhone) select stuName,stuPhone from student;

第二种方法:
//创建一张stusub表的同时把student表中的数据搬过来
create table stusub(select stuName,stuGender,stuAge from student);

//删除student表的一行满足手机号末尾为5的数据
delete from student where stuPhone like ‘__________5’;
//修改student表中的数据
update student set stuAge=100,stuGender=‘男’ where stuNo=3;

简单查询-练习题
1、查成绩在80-90之间的科目有哪些?
select distinct course_id from score where score between 80 and 90;

2.查各科的平均成绩
select
course_id,avg(score)
from
score
group by
course_id;

3.查各科平均成绩70分以上的科目
select
course_id,avg(score) avg_score
from
score
group by
course_id
having
avg_score>=70;

4.查2,5,7,8,9科目的平均成绩在65分以上,以倒序展示
select
course_id,avg(score) avg_score
from
score
where
course_id in(2,5,7,8,9)
group by
course_id
having
avg_score>=65
order by
avg_score DESC
;

数据库兼容汉字解决办法(mysql不允许插入中文):
#进入mysql查看当前字符集信息
show Variables like ‘char’;
#如果出现以下信息,是不允许中文插入的原因
character-set-database latin1
character-set-server latin1

#ctrl+c退出mysql返回Linux
#查找mysql配置文件路径
find -name ‘*.cnf’

#编辑配置文件
vi /etc/my.cnf

将里面的内容删除,放入以下代码:
[clinet]
default-character-set=utf8

[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci

[mysql]
default-character-set=utf8

:x(:wq!)退出

重启mysql服务重新登录mysql即可解决不能插入中文问题
systemctl restart mysql

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值