#切换账号
#切换至个人账号,直接切换
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