linux相关图形与相关命令

Linux命令汇总 | vim | shell | 进阶【2022版】_步尔斯特的博客-CSDN博客

一 相关命令

  1. tab:自动补全
  2. vi和vim的使用
    1. vi:创建、查看、编辑文本。如vi test.txt,如果存在此文件就创建并打开,如果存在就打开。
    2. vim:创建、查看、编辑文本。如vi test.txt,如果存在此文件就创建并打开,如果存在就打开。
  3. 文件目录指令
    1. pwd:查看当前所在目录
             pwd
    2. ls [选项] [指定目录]:查看指定目录下所有的子目录和文件列表
             ls:仅罗列出当前文件名或目录名 就像Windows里的文件列表。
             ll:列出当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息 ,像Windows显示的详细信息。ll是“ls -l"的别名。相当于Windows里的快捷方式。可以理解为 ll 和 ls -l 的功能是相同的, ll 是 ls -l 的别名。
             ls /home
             ls查看当前目录下所有的子目录和文件列表
             ls -1 /home :以列表形式显示
             ls -a /home:显示指定目录下所有的子目录和文件(包括虛拟的目录)
             ls -al /home:以列表形式显示指定 目录下所有的子目录和文件(包括虛拟的目录)
    3. cd 目录名:切换目录
             cd /:进入linux的根目录。
             cd ..:返回上一级目录。
             |->绝对目录:以盘符开始的目录叫绝对目录,从盘符开始查找目标目录
                    cd /opt/testDir
                    ~:当前用户的根目录。在任何目录下执行:cd ~,进入当前用户的根目录。
             |->相对目录: 以目录名开始的目录叫相对目录,从当前目录开始查找目标目录
                    cd testDir
                    ..:当前目录的上一级目录,从的当前目录开始查找它的上一级目录。
                    .:当前目录
                    XXx.sh====>./xxx.sh
    4. mkdir [选项] 目录名:创建目录
             |->绝对目录
             |->相对目录
             mkdir /opt/testDir/test1 //在/opt/testDir目 录下创建一个 目录test1 (使用绝对目录) 
             mkdir test2 //在/opt/testDir目录下创建一个目录test2 (使用相对目录)
             mkdir -p /opt/testDir/test3/test4 //在/opt/testDir 目录下创建目录test3,并且在test3下创建test4(一次创建多级目录)
             mkdir -P test5/test6
    5. rmdir 目录名:删除一个空目录
             rmdir test1
             rmdir test3
    6. touch 文件名列表(文件名之间用空格隔开):创建一个或者多个空文件
             touch t1. txt
             touch t2.txt t3.txt t4. txt
    7. cp [选项] source (源) dest(目标):复制文件或者目录: 
             cp t1.txt test2 //把t1. txt文件复制到test2目录中
             cp -r test2 test5 //把test2目录复制到test5目录中(递归地复制目录)
             cp t1.txt test2
    8. rm [选项] 文件名或者目录名:删除文件或者目录
             rm t1. txt 提示删除文件
             rm -f t2.txt 强制删除文件
             rm -r test2 提示递归删除目录
             rm -rf test5 强制递归删除目录
    9. mv source(源) dest(目标):移动目录或者文件
             mv test.txt test1
             mv testl test2
             mv t3.txt t3_ new. txt文件重命名
    10. cat 文件名:查看文件内容
             文件内容一次性显示出来。
             cat t4. txt
             cat -nt4. txt 显示行号
    11. more 文件名:分页查看文件文件内容,一次性加载文件所有内容到内存,分页显示
             按回车翻一行、按空格翻一页
             more t4. txt
    12. less 文件名 :分页查看文件文件内容,分页加载文件所有内容到内存,分页显示
             less t4. txt
             按回车翻一行、按空格翻一页, 按q退出查看
    13. head [选项] 文件名:查看文件的头10行
             head t4. txt
             head -n 5 t4. txt
    14. tail [选项] 文件名:查看文件的后10行
             tail t4. txt
             tail -n 5 t4. txt
    15. echo:输出系统变量或者常量的值到命令行终端。
             echo $JAVA HOME
             echo $PATH
             echo Hello World!
             JAVA_ HOME=D: \DPFS\Java\jdk1.8.0_ 101
             PATH= 8JAVA HOME&\bin; . ......
             CLASSPATH=8JAVA_ HOME&\lib; .
    16. 查看命令 > 文件名:把前一个查看命令的结果输出到指定的文件中
             *如果目标文件不存在,则新建一个文件
             *如果目标文件已存在,则把文件以前的内容覆盖
             ls > ret.txt
             ls -al > ret. txt
             cat ret.txt > t3_ _new.txt 文件内容的复制
             cat t4.txt > t3_ new. Txt
    17. 查看命令 >> 文件名:把前一个查看命令的结果追加输出到指定的文件中
             *如果目标文件不存在,则新建一个文件
             *如果目标文件已存在,则在文件原来内容的基础上进行追加
             ls > ret.txt
             ls -al >> ret. txt
             cat t4.txt >> ret. txt
  4. 搜索文件或者目录的命令:
    1. find [搜索范围] [搜索标准]关键字
      |->- name: 默认按名称搜索(文件或者目录所在的路径也在搜索范围之内)
      |->-size: 按文件大小搜索
      |->- -user: 按文件的所有者搜索
      find *.txt 搜索当前目录下, 所有的. txt文件.
      find *e* 搜索当前目录 下,所有名称中包含e的那些文件或者目录
      find /etc *.txt 搜索/etc目 录下所有.txt文件
      find /etc -size -5k 搜索/etc目录下所有小于5k的文件
      find /etc -user zhangsan 搜索 /etc目录下所有的所有者是zhangsan的文件和目录
    2. locate:在整棵目录树中搜索文件或者目录,都是根据名称搜索,效率高。
      数据库里保存的linux目录树中查找,所以查找效率高
      updatedb    因为目录树的更新策略并不是实时,所以存在不及时的情况
      locate 关键字
      updatedb
      locate *.txt
    3. 搜索过滤命令,在前一个搜索命令的结果中进行按名称或内容进一步过滤: 搜索命令Igrep [选项] 过滤条件
      查看命令Igrep [选项] 过滤条件
      find *.txt Igrep new 搜素当前目录下,所有名称包含new的.txt文件
      find /etc -size -5k Igrep firefox
      cat t1. txt Igrep beij ing
      cat t1.txt Igrep -ni beijing n表示显示行号,i表示忽略大小写
      ls -alIgrep new
  5. 压缩和解压的命令:
    1. gzip、gunzip:压缩或者解压单个文件
              gzip 文件名:压缩单个文件,生成一个.gz的压缩包,并且会把原来的文件删除。
              gunzip xxx.gz压缩包名:解压.gz压缩包,并且会把原来的.gz压缩包删除。
              gzip ret. txt
              gunzip ret.txt.gz
    2. zip、unzip:压缩(打包)或者解压多个文件和目录:
              zip 目标压缩包名称(通常使用.zip压缩包) 文件或者目录列表
              unzip 压缩包名(.zip) -d 解压目录名:将指定的. zip压缩包解压到当前目录(或者指定目录)。
              zip test.zip ret.txt t1.txt test2
              unzip test.zip -d test3
              zip mytest.zip test.zip t3_ new.txt t4.txt test2
    3. tar:压缩(打包)或者解压多个文件和目录
              tar [选项] 目标压缩包名称(xxx.tar.gz) 文件或者目录列表
                      |->c: 打包或者压缩
              tar [选项]压缩包名(xxx.tar.gz) -C解压目录名:将指定的. tar.gz压缩包解压到当期目录(或者指定目录)
                      |->z:解压
              tar -zcvf xxx.tar.gz 文件或者目录列表
              tar -zxvf xxx.tar.gz -C 解压目录名
              tar -zcvf mytar.tar.gz mytest.zip ret.txt t1.txt test2
              tar -zxvf mytar.tar.gz -C /opt/testDir/test5
  6. 日期和时间的操作命令:
    1. 查看或者设置系统的日期或者时间:date
      date 查看系统当前的完整的日期和时间
      date +%Y系统当前的年份
      date +%m 系统当前的月份
      date +%d 系统当前的日期
      date '+%Y-%m-%d %H:%M:%S' 按yyyy-MM-dd HH :mm: ss格式显示
      date -S '2020-10-20 10:20:30' 设置当前的系统时间
    2. 查看系统日历: cal
      cal:查看当前月份的日历|
      cal 2020: 查看指定年份的日历
  7. Linux用户管理
    1. useradd 用户名称:添加名称为xxx的账号
    2. passwd 用户名称:修改用户密码
    3. userdel 用户名称:删除用户;userdel -r lisi:删除用户的同时级联删除它的主目录;
    4. id 用户名称:查看用户信息,如id zhangsan;
    5. su 用户名:切换用户;
  8. Linux组管理
    1. groupadd 组名:添加组,如groupadd dev
    2. groupdel 组名:删除组,如groupdel dev
    3. gpasswd -a 用户名 组名:把用户添加到组中,如gpasswd -a zhangsan dev
    4. gpasswd -d 用户名 组名:把用户从组中移除,如gpasswd -d zhangsan dev
    5. useradd -g 组名 用户名:添加用户时,指定所属的组(主组),如useradd -g dev lisi
  9. 文件或者目录与组:
    1. 文件或者目录与组基本介绍:
      主组:创建用户的时候指定的组,不能修改。
      附加组:用户可以随意CRUD附加组。
      在linux中,每一个用户都至少属于一个组,用户不能独立于组存在,一个用户可以属于多个组。
      在linux中,每一个文件或者目录必须属于一个组,而且只能属于一个组,默认情况下,文件所有者所属的主组就是文件所属的组; .
      文件或者目录通过组来控制哪些用户可以对它进行哪些操作,即文件或者目录的访问权限;
      在文件或者目录看来,linux 系统中所有的用户分为三类:
              所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改
              同组用户:跟文件或者目录属于同一个组的用户
              其它组用户:既不是文件或者目录的所有者,也不是同组用户
    2. 查看文件的所有者和所在的组:
         ls -1
    3. 修改文件的所有者或/和者组: 
         chown 新的所有者文件名;
         chown 新的所有者:新的组文件名;
         chown zhangsan t1. txt
         chown -R zhangsan test3
         chown zhangsan:dev t4. txt
         chown zhangsan:dev test2
         chown -R zhangsan:dev test2 递归修改目录的所有者和所在的组
    4. 修改文件或者目录的所在组: chgrp新的组 文件名或者目录名
         chgrp dev t2. txt
         chgrp -R dev test3
  10. 文件或者目录的权限管理:

    1. 准备工作:
      一个用户至少属于一个组,也可以属于多个组;
      一个文件或者目录必须属于一个,并且只能属于一个组;
      在一个文件或者目录看来,linux系统中所有的用户可以分为三类:
             所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改
             同组用户:跟文件或者目录属于同一个组的用户
             其它组用户:既不是文件或者目录的所有者,也不是同组用户
      注意:
      (1)新创建文件或目录,默认属于创建者所属于的组。
      (2)linux中对文件和目录的权限控制方面,root(超级管理员)在和普通用户没有任何区别,即root没有任何特殊权限。
      (3)文件和目录的压缩、解压的权限,其实就是写的权限。
      (4)解压后,文件和目录的所有者都会变成解压者。

    2. 文件或者目录的三种权限:
      在linux中, 任何文件或者目录都有三种权限:读(Read)、写(Write)、执行(Execute)
      对于文件而言:
             读:可以读取、查看文件的内容,比如: cat、 more、 less、 head、 tail等。
             写:可以修改文件的内容,比如:改权限、vi 、vim、压缩、解压等
             执行:如果该文件是可执行文件(.sh),可以直接运行,比如: . /xxx.sh.
      对于目录而言:
             读:可以读取、查看目录下边的内容,比如: 1s等
             写:可以修改目录中的内容,改权限、创建子目录、删除子目录、创建文件、删除文件、重名文件或者目录、压缩、解压
             执行:可以进入该目录,比如: cd等。

    3. 文件或者目录的权限控制:
      在linux中,任何一个文件或者目录都有三部分权限:所有者权限、同组用户权限、其它组用户权限:
             第一部分权限:所有者权限,文件或者目录的所有者对该文件所拥有的权限,使用r、w、x分表表示读、写、执行的权限。比如: rwx: 拥有读写执行的权限,r-x: 拥有读和执行的权限,r--: 只拥有读的权限,---: 没有任何权限。
             第二部分权限:同组用户权限,文件或者目录的同组用户对该文件所拥有的权限,使用r、w x分表表示读、写、执行的权限。
             第三部分权限:其它组用户权限,文件或者目录的其它组用户对该文件所拥有的权限,使用r、W、x分表表示读、写、执行的权限。

    4. 查看文件或者目录的权限:
             ls -aul  a:表示所有;u表示人性化;l表示详细信息;

    5. 修改文件或者目录的权限: chmod
             用r、w、x分辨表示读、写、执行的权限;
             用u、g、o、a分别表示给所有者、同组用户、其它组用户、所有用户修改权限;
             用+、-、=分别表示给指定的用户增加、减少、设置对应的权限
             chmod g-W, O+W t5. txt
             chmod g=rwX t5.txt
             chmod a-r t5. txt

    6. 使用数字的方式修改文件或者目录的权限:
      每一个权限可以用一个数字来表示:
      r、w、x
      4、2、1
      每一个文件或者目录都有三部分权限,每一部分权限都可以用一组数据之和来表示,三部分权限就是一组三个数据序列:
      rw-  r-x  r-x
      6    5   5

      rwxr-x-wx
      753
                  
      rwxrwxrwx
      777

      chmod 777 t5.txt
      chmod 753 t5.txt

  11. linux中的网络管理:

         ifconfig:查询ip地址,inet xxxx.xxxx.xxxx.xxxx

         在linux的配置文件: vi /etc/sysconfig/network- scripts/ifcfg-ens33
         BOOTPROTO="static"    表示:静态ip,每次启动都使用配置文件中配置的ip
         ONBOOT= "yes"             表示:每次启动都要求linux系统去加载配置文件中配置的ip数据
         IPADDR= 192.168.11.128
         GATEWAY=192.168.11.2
         DNS=192.168.11.2          说明:DNS的值和网关保持一致
         重启linux:reboot
  12. 进程和服务管理:

    进程管理:

            线程: 一个程序的线路
            进程: 一个程序的执行,一个进程占用一个端口。
            查看正在运行的进程:ps
                ps        //只会显示(用户)应用进程
                ps -e     //显示所有进程(用户与系统级)
                ps -ef    //以全格式的形式显示所有进程
                ps -ef|grep mysql //用于查看linux系统中某一-些软件或者应用是否处于启动状态
            关闭进程:
                使用ps命令查看进程的PID
                使用命令kill -9 PID

    服务管理:

            1)、服务介绍:服务是支持Linux运行的一-些必要程序,本质上也是进程,叫守护进程。
            2)、操作服务:systemctl [start|stop|restart|reload|status|enable]服务名称.
            systemctl status firewalld    查看 防火墙运行状态
            systemctl stop firewalld     关闭防火墙
            systemctl start firetalld     开启防火墙1
            systemctl enable firewalld     设置防火墙开机启动
            *老版的linux或者有些发行版本的linux,操作服务使用service命令。
  13. linux中软件包的管理:软件安装包
    1. RPM包管理:
      1. RPM:一种linux的软件包的打包和安装工具软件,操作的软件包都是. rpm结尾。
      2. RPM软件包来源:
             官网下载、linux自带常用的:/run/media/pshengbo/CentOS 7 x86_64/Packages
      3. 使用RPM:rpm命令。
             查看当前系统中已经安装的rpm软件包: rpm -qalgrep firefox
             卸载rpm软件包: rpm -e firefox
             安装rpm包:rpm -ivh XXX. rpm
                  cp firefox-45.4.0-1.e17.centos.x86_64.rpm /opt
                  rpm -ivh firefox-45.4.0-1.e17.centos.x86_64. rpm
    2. YUM包管理:是一种基于RPM的软件包管理工具,它能够从指定服务器上自动下载RPM包并且自动安装,可以自动处理软件包之间的依赖关系。
      1. 查看当前系统中已经安装的rpm软件包:yum list installed|grep firefox
      2.  卸载rpm软件包:yum remove firefox.x86_64
      3. 安装rpm包:yum install firefox
  14. linux中的帮助命令
    1. man 命令:用来查看linux系统手册上的帮助信息,如man ls;分屏显示、按回车翻一行、按空格翻一页、按q退出查看。
    2. help 命令:用来查看命名的内置帮助信息,如help cd
  15. Linux的系统操作

    1. shutdown now: 立刻进行关机

    2. shudown -h 1:  1小时后会关机了

    3. shutdown –r now: 现在重新启动计算机

    4. reboot: 现在重新启动计算机

    5. sync: 把内存的数据同步到磁盘.

  16. clear:清屏

二 脚本

三 需求调研、需求分析(即应用场景)

  1. linux的比windows好的地方:
    1. linux是一种开源的、免费的操作系统。你可以研究它的源码,或者可以在它的基础之上开发出私人定制的操作系统都可以。而我们平时用的windows,正规来说是收费的,而且它的源代码都是商业机密,我们不可能看得到。但也不仅仅是开源、免费我们才用linux,它还有很多windows不具备的优点......
    2. linux在性能和技术比windows好:
      1. linux注重安全性。linux比较注重整个系统的安全性,它的安全性比windows要好。后面会讲到linux的一些安全机制,特别是linux对于权限的管理是非常严格的,linux中对于每一个文件夹、第一个文件都赋予一个明确的权限。也就是不同的人,能够在linux操作系统上能够新建文件夹、能够在哪个文件夹上新建哪种类型的文件、能够查看到什么、能够修改到什么的文件夹和文件都是不一样的。
      2. linux注重稳定性。如果同一款软件分别安装在linux和windows上面,windows上这款软件经常会出现一些卡顿的情况,linux上这款软件相对会运行得比较平稳,很少出现卡顿的情况。
      3. linux注重高并发处理能力。比如同时来很多的请求来操作linux,linux的处理能力比windows做得要好。比如将来我们的web应用程序开发好以后肯定要部署在服务器上的,服务器上面肯定要安装操作系统吧。如果你安装的是linux,大家都来访问你的linux,都来访问你安装在linux上的开发好的web应用程序,都向你的web应用程序发请求。这时,不管是谁发过来的请求,总之操作系统会先感受到这种请求。如果大量的请求发过来,操作系统也需要一个反应的时间。意思就是说面对大量的请求(高并发)发过来,linux的处理能力、反应能力和效率会比windows要好一些。
    3. linux的缺点:
      1. linux没有优异的可视人界面。linux也有可视化界面,但没有windows的好。总的来说,linux牺牲了可视化界面提升了性能。那linux的可视化界面是什么样的呢?就像我们的cmd一样,黑乎乎的,各种命令行。比如你想看某个目录下的文件,我们要执行命令。比如我们想创建目录,我们得用命令来创建。所以说,windows常用于个人计算机上,linux常用于企业服务器上

四 设计思想

  1. linux是一种操作系统, 安装在计算机硬件上、用来管理计算机的硬件和软件资源的系统软件。即操作系统安装在硬件上,除了能够管理硬件外,它还能管理软件。

            linux既然是一种操作系统,那么linux就跟传统的、大家常用的操作系统没什么两样,我们平时用的操作系统都是windows操作系统(如window xp、window 7、window10)。大家买电脑回来,如果没有安装操作系统,你的电脑就还不能用。也就是说一台电脑,如果没有安装操作系统,都是用不了的。安装上操作系统以后,你的电脑才能使用。

            那操作系统是什么呢?只要是操作系统,都是用来安装在计算机硬件上的。安装在计算机硬件上干什么?操作系统安装在计算机上后,能够管理我们计算机(电脑)上的硬件。你买回来的计算机硬件都有什么?有cpu、内存、磁盘、硬盘、声卡、网卡、屏幕、键盘等,我们说操作系统可以安装在这些硬件上,来管理这些计算机硬件。

            操作系统除了安装在硬件上,能够管理硬件外,它还能管理软件。如果你在计算机上装一些软件(QQ、微信等),操作系统也都能够帮你管理这些软件。

            操作系统本身就是一种软件,它是一种系统软件。linux是一种操作系统, 安装在计算机硬件上、用来管理计算机的硬件和软件资源的系统软件。像我们常用的windows就是这样,你安装上windows操作系统以后,你计算机上的硬件和软件才能运行起来。如果你的计算机不安装操作系统,你的计算机就是一堆废铜烂铁。

            其实linux和windows一样,你随便买一台计算机回来安装上linux以后,也可以帮你把计算机运行起来,即也能够管理你的硬件和软件资源。

五 体系的组织结构设计(重要组件、模块划分、模块间交互)

六 工作原理、运行流程

七 详细设计:实现方法(技术)

八 使用说明:常用配置

1、jdk安装与配置(免安装版)

第一步:先将软件通过xftp5 上传到/opt

第二步:解压缩到/opt目录下

第三步:配置环境变量的配置文件vim /etc/profile   

JAVA_HOME=/opt/jdk1.7.0_79

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=$JAVA_HOME/lib:.

export JAVA_HOME PATH CLASSPATH

d说明:

        classpath用于设置操作系统搜索.class字节码文件的路径。这里为什么要加一个点(“.)?因为在操作系统中使用javac xxx.class时,都是在当前目录下去搜索.class字节码文件的,这里的点(.)表示的就是当前目录下。

        设置完3个环境变量以后,使用export把它们导进来。

第四步:使配置文件生效

d说明:即让linux重新加载这个配置文件 

第五步:测试安装成功

 

第六步:在目录/home/zhangsan下编写HelloWorld.java编译并运行

2、tomcat的安装与配置(免安装版)

第一步:先将软件通过xftp5 上传到/opt

第二步:解压到/opt

第三步:启动tomcat( ./startup.sh)

第四步:Linux上访问tomcat

第五步:windows上访问tomcat 

注意:从其它机器上访问需要关闭linux的防火墙。systemctl stop firewalld 

3、安装mysql 

第一步:查看是否已经安装了mariadb

        d说明:mysql数据库也是开源的,开源的意思是大家可以在mysql数据库的源代码上进行二次开发定制(自定义)自己的数据库,因此在市面上也有很多不同版本的mysql数据库,这跟linux一样有很多不同的版本。

        而这里的mariadb数据库,就是mysql数据库的一个分支。很多版本的linux在安装好了以后,都会自带mariadb数据库。如果在这种情况下安装mysql数据库,是安装不上的。那我们为什么不直接使用mariadb数据库呢?因为mariadb数据库有它自己专门的用途,对于我们平时使用的一些mysql功能它反而没有。

        所以如果要安装mysql数据库,首先得把原来的mariadb数据库给卸载掉。

检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 卸载掉。

检查命令:yum list installed | grep mariadb

卸载命令:yum y remove xxxx

          *如果卸载不成功,需要去掉参数-y,手动确认卸载。

第二步:上传mysql安装包到/opt下 

第三步:解压mysql安装包到目录/opt 

第四步:修改解压后的根目录名 

第五步:创建数据文件夹data

        d说明:mysql以后会用来存在很多数据如表数据、视图数据、索引数据等,而在mysql底层表明数据其实是存放在文件里面的,在这里我们指定把这些数据文件统一存放在data文件夹中。

        其实这个data文件夹的名称是自定义的,一般情况下文件名称是data而已。

data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录。

默认没有data目录,可以手工创建data目录,在mysql-5.7.18文件夹目录下创建一个data文件夹。

第六步:创建用来执行mysqld命令的Linux用户 

         d说明:因为以后我们要在linux中启动或者关闭mysql数据库服务,即要执行启动或关闭mysql数据库服务的命令,linux建议要有一个专门的账号去执行。

        创建mysql用户,用来执行MySQL的命令mysqld ,此命令用来初始化msyql基础信息。可以使用其他用户,例如叫做 mydb.等,但不推荐。

第七步:初始化mysql

d说明:使用mysql的 mysqld 命令初始化数据库的基本信息就是告诉mysql:

  1. 把数据文件放到刚才我们创建的data目录中。
  2. Mysql数据库的根目录在哪里
  3. 将来使用哪个账号去执行mysqld命令

  注意:要在/opt/mysql-5.7.18/bin执行以后的mysqld命令

使用mysql的 mysqld 命令初始化数据库的基本信息。切换到mysql-5.7.18/bin目录下执行。

命令:./mysqld --initialize --user=mysql --datadir=/opt/mysql-5.7.18/data --basedir=/opt/mysql-5.7.18

d说明:执行完这个mysqld命令,其实mysql已经安装完成,后面的工作只是对mysql的一些配置而已。

参数说明:

--initialize 初始化mysql,创建mysql的root, 随机生成密码。记住密码,登录msyql使用。

--user执行msyqld 命令的linux用户名

--datadir : mysql数据文件的存放位置,目录位置参照本机的设置。

--basedir : msyql安装程序的目录,目录位置参照本机的设置。

该命令执行后,会生成一个临时的mysql数据库root用户的密码,请先拷贝出来记住,后续第一次登录mysql需要使用

 

密码:iGT#A:CfF7i( 

第八步:启用安全功能

        d说明:将来mysql会被看成一个存储数据的服务器,而我们会使用mysql客户端去连接mysql服务器,然后向mysql服务器发送sql语句,并从mysql服务器接受sql语句执行的结果。

        而在mysql服务器与客户机之间来回传输的数据的时候,可对对数据进行加密。通过证书提供了身份验证机制进行数据的加密,我们不需要知道加密的原理,我们只需要启用这个加密功能就可以了。为什么要对数据进行加密呢?因为如果不使用数据加密算法,那么在mysql服务器和客户机之间传输数据的时候将采用明文传输,如果被黑客截取数据(如用户名和密码信息)那么就相当严重了。

        这种安全功能是基于加密算法的,启用了安全功能以后数据的加解密是自动进行的,我们不需要管。

        因此一般都会启用安全功能,在mysql安装根目录的bin目录下执:./mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7.18/data这里的xxx/xxx/data指明了要对mysql的所有数据文件中的数据的传输都启用安全加密功能。最后会生成一个加密证书,这个证书对我们也没有用,是mysql服务器和客户端自己会用的。

        在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书。

mysql-5.7.18/bin目录下执行命令:

./mysql_ssl_rsa_setup --datadir=/opt/mysql-5.7.18/data

第九步:修改mysql安装目录权限

mysql安装后,需要更改mysql-5.7.18整个文件夹目录权限,更改所属的用户和组为之前创建的mysql用户及其所在组。在mysql安装目录的上级(/opt)位置,执行命令chown .

例如:chown -R mysql:mysql /opt/mysql-5.7.18/

      chmod 777 /opt/mysql-5.7.18/

 

第十步:启动mysql

d说明:

        如果是前台启动,那么mysql的启动就会占用整个当前终端命令行,为以后打印mysql的日志。但这样做的缺点就是,我们不能控制当前终端命令窗口行了,即不能在当前命令行窗口去执行别的命令了。因此我们一般选择在后台启动mysql,不去占用当前的终端命令行容器。当然,你可以选择打开两个命令行终端窗口。

        注意前台启动,第一个:会占用整个命令行终端。第二个:把当前命令窗口关闭以后,这个mysql服务就会关闭了。而使用后台启动时,第一个:不会占用整个命令行终端;第二个:如果要关闭mysql服务,必须要使用命令关闭。

        启动MySQL服务,mysql-5.7.18/bin目录下执行命令:./mysqld_safe &(其中&符号表示后台启动),输入命令后按Enter。

 

确认msyql是否启动,查看进程 ,使用ps -ef | grep mysql 

第十一步:客户端登录mysql

登录进入mysqlmysql-5.7.18/bin目录下执行命令:./mysql -uroot -p

-u表示使用root用户登录系统,使用第7步生成的密码。

-p表示使用密码登录

第十二步:修改root密码

第8步的root用户密码是临时密码,要修改才能使用。

执行sql语句 show databases; 第一次使用将会提示修改mysqlroot用户密码:

修改mysql的密码,命令语法:alter user '用户名'@'主机域名或ip' identified by '新密码'

例如:alter user 'root'@'localhost' identified by 'yf123';

 

第十三步:授权远程访问

        授权远程访问,在没有授权之前只能在本机访问msyql,远程授权就是让其他计算机通过网络访问mysql(这样远程客户端才能访问)。

授权命令:grant

语法:grant all privileges on *.* to root@'%' identified by 'yf123';

参数:

其中*.* 的第一个*表示所有数据库名,第二个*表示所有的数据库表;

root@'%' 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,root@192.168.235.130等。

执行授权命令:grant all privileges on *.* to root@'%' identified by 'yf123';

 

 更新权限信息,执行flush刷新权限: flush privileges;

关闭防火墙:systemctl stop firewalld 

远程连接数据库:

第十步:关闭mysql服务

d说明:

        使用kill命令暴力关闭也可以,但可以会造成数据的丢失。因为有些数据还存在于内存中没有同步到数据,如果使用kill命令暴力关闭mysql,可能就会造成没有完成同步的数据的丢失。

        关闭mysql客户端终端:exit / quit

mysql-5.7.18/bin目录下执行:./mysqladmin -uroot -p shutdown输入密码关闭

 

查看mysql进程,已经没有mysqld_safe 

第十步:修改数据库编码

查看数据库编码:show variables where Variable_name like '%char%';

修改mysql的字符集:在mysql客户端执行如下命令

set character_set_client=utf8;

set character_set_connection=utf8;

set character_set_database=utf8;

set character_set_results=utf8;

set character_set_server=utf8;

set character_set_system=utf8;

set collation_connection=utf8;

set collation_database=utf8;

set collation_server=utf8;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值