Linux 及mysql基础知识总结

一.linux基本环境设置

1.ifconfig 系统管理型命令,查看系统的网络基本信息

2、虚拟机的网络连接方式

-》桥接

-》自动获取IP地址,与本机物理网络有关联

-》可以理解为虚拟机的网络和本机的物理网络使用的是一条网线

-》NAT(建议使用NAT)

-》在虚拟机中创建一个虚拟的网络空间,虚拟出一个网络来连接

-》VMnet8

-》可以去指定一个静态IP

3、设置静态IP

-》点击虚拟机【编辑】【虚拟网络编辑器】

-》IP地址范围:1-255,一般建议1和2不要去设置

-》设置IP之前先观察一下当前的网段,比如:192.168.189的网段

-》DHCP是一个服务,自动获取IP地址

-》GateWay就是网关

-》设置完成后建议重启下网络,使网络立即生效

4、hostname

-》查看当前系统的主机名

-》主机名的设置规范

-》名称要有意义

-》格式建议:主机名.域名

-》第一种设置主机名的方式:临时修改(只针对当前shell会话有效)

-》第二种设置主机名的方式:永久生效

-》vi /etc/sysconfig/network

—》进入文件,按i进入编辑状态

-》编辑完成后,按ESC键退出编辑状态

-》按shift+:然后进入最后行模式

-》按wq保存并推出,write&quit

-》可以重启机器验证是否配置成功

-》重启命令:reboot

-》命令行的格式

【当前登录的用户】【主机名】【当前所在的路径位置】

5、网络映射

格式:IP+主机名

Linux和windows都需要设置

windows配置文件路径:C:\Windows\System32\drivers\etc\hosts文件

192.168.189.130 bigdata-senior01.ibeifeng.com

6、设置DNS域名解析

www.baidu.com -》底层链接的是IP地址 -》有一个解析的过程

-》一般DNS设置为自己的网关IP地址就可以了

-》在网卡的配置文件中设置DNS解析

vi /etc/sysconfig/network-scripts/ifcfg-eth0

-》eth0表示网卡文件名,eth代表的含义:以太网

lo-》loopback回环网卡

DNS1=网关IP地址

重启网络:service network restart,生效

-》注意:命令行可以使用向上向下键查看历史的命令

www.baidu.com

-》类型com、cn、org等等

-》域名baidu

-》主机www

二.Linux系统的常用命令

1.ls: 查看命令

ls -l 显示详细信息      ls -a显示所有的文件包括隐藏文件(linux 中前缀为.的表示隐藏文件)

ls -d 查看目录或者文件本身的属性

2.pwd: 显示当前用户所在的路径,是绝对路径

3.clear /ctrl+l : 清除当前会话

4.cd: 移动到任何指定的目录下  cd .. 表示移动返回到上一级的目录 ,cd空格  表示回到用户的家目录

5. mkdir: 创建目录  mkdir -p test1/test2  -p表示可以一次递归创建多个目录

    touch: 创建文件  注意:创建带有空格命名的文件时需要加上引号

6.rm:删除一个目录或者文件  rm -r删除目录 如果有子目录会询问是否删除 是输入y  否 输入n

rmdir 删除一个空目录      rm -rf 强制删除,删除时不询问,直接删除  建议谨慎使用

7.cp:复制文件 cp -r 复制目录  命令  原路径  目标路径

8.mv:剪切/重命名

9.cat:查看普通文件

  more 分页查看文件  适合内容较多的文件,按空格翻页查看,按回车逐行查看,按q退出more的浏览状态

less分页查看文件 支持向上或者向下翻滚

head 查看文件的前几行 head后面直接跟上需要查看的行数 默认不加参数就是10行(head -5)

tail 查看文件末尾几行 tail后面直接跟上查看的行数 默认不加参数就是10行

tail -f 滚动实时查看  比较实用

10. cd 切换目录 cd ../    ../表示进入到上一级的目录

11.wc path 统计文件中的内容

    -l  统计行号  -c 统计字节数  一个英文对应一个字节  一个中文对应多个字节

    (UTF-8  3个字节  gbk 2个字节)

    -m  统计字符数

12. find path  选项  查找文件

  例如  find / -name  要查找的名字  *通配符 任意一个字符 可以重复  ?代表单个字符

    find / -user  用户名  查找哪一个用户创建的文件或者目录

13.grep  查找文件中的内容  -i  不区分大小写  -n 显示行数 -w 仅匹配字词

14.| 管道服务  连接两个命令 前一个命令的输出作为后一个命令的输入

15.yum

即Yellowdog Update Modifier,是一种基于RPM (Red-Hat Package Manager)(RPM软件包管理器)的缩写的包管理工具。

yum search 名字 去搜索软件包

yum install -y 软件包名字    直接安装此软件

yum remove 卸载软件包

16. zip 压缩文件  unzip 解压文件

zip  目标文件.zip 源文件1 源文件2 。。。

unzip 目标文件.zip  解压文件至当前目录

解压指定目录下  unzip 目标文件.zip -d 指定路径

17.tar 压缩或者解压文件

tar -cvf 目标文件.tar  源文件1 源文件2  压缩文件至当前目录

tar-tvf 源文件.tar    查看压缩文件中的文件列表

tar -xvf 源文件.tar  解压文件至当前目录

tar -xvf 源文件.tar -C 指定路径  解压文件至指定路径下

18.输出重定向

>覆盖    >>追加

例如  echo hello>1.txt  将hello 写入1.txt文件中  echo hello>>1.txt  将hello 追加到文件内容的后面

三.Linux的目录结构

/:表示根目录,系统最外层的顶层目录,系统最初始的子目录

~:表示用户主目录  /root  管理员的家目录

/home  用户的家目录

每次的用户系统登录都在用户的主目录下

Linux系统的用户权限

1.创建用户:useradd 用户名 

创建用户时 可以直接指定分组,如果不指定分组就默认创建一个组和用户名相同

例如 useradd zhangsan -g aowin -G root

其中  -G 表示附加组

passwd 用户名  给指定用户设置密码

userdel  用户名  删除用户

userdel -r  用户名    彻底删除用户

2. 创建组:groupadd 组名

groups 用户名 查看指定用户所在的组

groupdel 组名  删除组  如果该组下有用户是不能删除组的

3.改变用户的组

usermod -g 新的组名 用户名

4.切换登录账户

su - 用户名  切换环境变量

su  用户名  只切换用户,不会切换环境变量

  root 用户切换普通用户时无需输入密码

普通用户切换root 时需要输入密码

Ctrl + D 退出登录

5.权限问题

查看文件权限 ll 或者ls -l

9个字符 3个为一组 分别都表示文件的创建者 和文件创建者同组的用户  其他用户

r 读权限  4  w 写权限 2  x可执行权限  1  对目录来说是进去该目录去查看

6.修改权限 root 用户 和文件的创建者才有修改文件的权限

方法1 chmod u(+/-) (rwx), g(+/-) (rwx), o(+/-)(rwx)

例如 chmod u-w,g-rwx,o-rwx  文件名字

方法2

最高权限的数字表示 777

r 代表4  w 代表2  x 代表1

7.修改文件所有者 只有root才可以操作

chown 用户:组  文件名

四.Linux shell

1.编程语言:解释型脚本语言,直接调用Linux命令

2.shell 解释器

3.Linux sh  bash  psh  zsh

  bash 一般是Linux 环境中评常用的shell环境

4.环境变量

  用户变量 :只针对某个用户生效  ~/.bash_profile

全局变量:系统全局生效  /etc/profile

脚本规范  每个脚本开头的第一行都会有一个固定的格式

#!/bin/bash 声明当前使用的shell环境是哪一种

执行脚本方式:

(1)sh  脚本名称        直接执行

(2)./ 脚本名称  需要先赋予脚本的x执行权限

5.位置变量

  echo  相当于打印

$1 第一个参数的值  ..... $9 第9个参数的值

6.预定义变量

$0 脚本的名称              $! 进程的PID号      $? 程序执行的状态  0成功  非0 不成功

$* 所有参数  整体          $$ 当前进程的id号        $#参数的总个数  $@ 所有参数 逐个读取

7.自定义变量

  name=value  等号两边不能有空格  对大小写敏感  $符号取值

8.shell 脚本 常用表达式

  a. 逻辑连接符  与 &&  或||      :无逻辑关系

  b. 运算 (a=1 b=2)

$[a+b]  或者 $[$a+$b]

$((a+b)) 或者$(($a+$b))

expr $a+$b

c.内置判断测试

字符串  =  !=  \>  \<  -z

数字 在[] 中eq  ne  lt  le  gt  ge

  在(()) 中 >. ==  <  != >=  <=

文件中 -e  -f  -d  -r  -w  -x

d  时间命令

  查看 date + %Y%m%d%H%M

  修改时间  date -s "2019-07-03 10:05:10"

五.Linux中安装mysql数据库 见教程

  1.linux中 mysql登录

  检查服务:

  systemctl status mysqld    检查mysql服务的状态

  systemctl start mysqld      启动mysql服务

linux  临时关闭防火墙  iptbles -F

查看防火墙状态 systemctl status iptables

设置开机不启动 chkconfig iptables off

开机启动  chkconfig iptables on

关闭防火墙  systemctl  stop iptables

登录mysql 服务  mysql -u root -p  回车

**设置允许root 远程登录的方法

  use mysql;    修改当前使用的数据库

  update user set host ='%'  where  user = 'root' ;

2. mysql 中的基本sql

  show databases;  查看所有的数据库

use 数据库名 ;      进入指定的数据库

show tables ;    查看所有的表

create  database  数据库名;  新建一个数据库

drop  database  数据库名;  删除一个数据库

3.建表

create table 表名(

列1名字  数据类型  列约束条件  [默认值],

列2名字  数据类型  列约束条件  [默认值],

…….

[表约束条件]

);

主键; 唯一的确定一条记录的字段

多主键:不能使用一列唯一确定一条记录  必须使用多列才能确定唯一一条记录

增加外键

  ALTER TABLE 表名 ADD CONSTRAINT 自定义约束的名字 FOREIGN KEY (当前表的列) REFERENCES 主表表名(表中主键)  ON DELETE RESTRICT ON UPDATE RESTRICT;

删除外键

alter  table 表名  drop  foreign  key  外键约束名字;

4.新增记录

所有列新增  按照列的顺序赋值

insert  into  表名  values(值1,值2.....);

批量新增

insert into user (username,password) values ('A','a'),('B','n'),('C','c');

批量新增  通过子查询  将查询的结果插入到表中  常用于表复制

insert into user (username,password) select 'd','d' from dual;

新建一张表  表结构和user一样  并且将查询结果插入到表格中

create table user_1 select * from user;

新建一张表  表结构和user一样 但是不复制数据

create table user_2 select * from user where 1!=1;

将user表中的数据全部导入到user_2表中

insert into user_2 select * from user;

5.修改记录

--单行记录

update user set 字段名=值  where  字段名=值;

--批量修改

update user set password = case user_id when 1 then '1' when 2 then '2'

    when 3 then '3' else null end,

    sex = case user_id when 1 then 0 when 2 then 1 when 3 then 0 end

    where user_id in (1,2,3);

6.删除记录

  delete  from  表名  where ...

  清空表

  delete  from 表名;dml 数据库操作语言  具有事务性

  truncate  table  表名;ddl  数据库定义语言  不具有事务性

  truncate  清空表  效率更高  并且可以恢复高水位线

7.查询语句

select

        查询的结果

    from

        查询的表

    [where 条件]

    [group by 分组]

    [having 分组后的条件筛选]

    [order by 排序]

    [limit n,m]

-- 1. 基本查询

select username from user;

-- 2. 基本条件查询 = !=(<>) > < >= <= between(等价于 >= and <=)

select * from user where username between 'a' and 'z' -- username >= 'a' and username <= 'z'

-- 3. 别名 表别名  表名 [空格或者as] 表别名

select u.username,u.password from user as u;

-- 4. 列别名 列 [空格或者as] 列别名

select u.username a,u.password as b from user as u;

select username password from user;  -- 给username列取了别名叫做password

select username, password from user; -- 查询两列数据

-- 5. like 模糊查询

/*

% 匹配任意长度的 任意字符

_ 匹配一个任意字符

*/

select * from user where username like '%z%';  -- 查询字符串中包含z的记录

select * from user where username like '%z';  -- 查询字符串中以z结尾的记录

select * from user where username like 'z%'; -- 查询字符串中以z开头的记录

select * from user where username like '_a_' ;  -- 查询长度为3 并且中间一个字符是a的记录

-- 6. regexp 正则匹配

-- 查询用户名长度为4的用户信息

select * from user where username regexp '^.{4}$'

-- 查询用户名中包含a或者c或者d 字符的用户信息

select * from user where username regexp '[acd]'

-- 7. 查询空值  is null

select * from user where remark is null;

select * from user where remark = '';

-- 8. 查询非空 is not null

select * from user where remark is not null;

创建表格的约束:

1.主键约束primary key:主键和记录一一对应

主键字段不能为空,不能重复

2.外键约束foreign key:表格之间的关联关系

父表    子表=====》子表引用了父表的数据

插入数据的时候:子表中插入的数据在父表中一定是存在的,否则不能插入的

删除数据的时候:父表中数据删除的时候要求字表中没有引用数据

添加外键:alter table 子表 add constraint 外键名字 foreign key(外键字段) references 父表(主键字段);

可以增加删除策略:

alter table 子表 add constraint 外键名字 foreign key(外键字段) references 父表(主键字段) on delete cascade;    级联删除

alter table 子表 add constraint 外键名字 foreign key(外键字段) references 父表(主键字段) on delete set null;    删除父表,子表中设置为null

删除外键:alter table 子表 drop foreign key 外键名字;

            tb_emp    tb_dept

3.非空约束not null:插入的数据的时候,字段的值不能为空

4.唯一性约束unique:可以为空,如果不为空,值不能重复

5.默认值default:在不指定值的时候,默认的值

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容