Linux 一文全通(VMware,CentOS,XShell,XFtp,JDK,tomcat,eclipse,mysql)

2020年08月27日 19:33 · 阅读(509) ·

开发环境

名称 版本
操作系统 Windows 10 X64
VMware® Workstation 12 Pro 12.0.0 build-2985596
CentOS7 CentOS-7-x86_64-DVD-2003.iso
XShell 6.0.0032
XFtp 7 Beta(Build 0035)

Linux 简介

为什么学 Linux?

开源,稳定,漏洞少。

Linux 是什么?

Linux 是一套免费使用和自由传播的类 Unix 操作系统。

Linux 与 Unix 那些事

Unix 起源

GNU is Not Unix 计划

不同时代的架构

Linux 家族

VM 与 Linux 的安装

一.去 BIOS 里设置开启虚拟化设备支持

重启机器,在出现电脑品牌标志后,按 F12 进入 bios (不同的电脑进入 bios 的按键可能会有所不同,我的电脑是联想的,所以按 F12)

选择 Enter Setup

选择 Advanced-Inter(R) Virtualization Technology

可以看到默认为 Disabled,这里我们修改为 Enabled

F10 保存,选择 Yes

二.安装 VMware Workstation 12

VMware 12 下载(百度网盘)
链接:https://pan.baidu.com/s/1VvRmjf1yZ2zprQUzuVKRkA 密码:dvpr
来自:https://www.cnblogs.com/ANT-earth-0711/p/11451348.html

双击 VMware-workstation-full-12.0.0-2985596.exe

这里安装路径我选择 E:\VirtualMachine\VMware\VMware Workstation\,因为我 E 盘空间比较多。

打开 keygen.exe,生成密匙

三.使用 VMware Workstation Pro 安装虚拟机

打开 VMware Workstation Pro-创建新的虚拟机

我的电脑是两个双核的处理器

所以这里选择 2 个处理器,2 个核心

我的电脑内存是 8G 的,所以这里我分配 2G 的内存

网络类型

名称 含义 缺点
桥接网络 假如主机的 IP 是 192.168.1.120,虚拟机会生成同一网段的 IP,如 192.168.1.121 1.占用同一网段的 IP,可能造成 IP 冲突。2.不安全,同一网段的机器可以访问虚拟机上的资源
网络地址转换(NAT) 假设主机 IP 是 192.168.1.120,则虚拟机 IP 是 192.168.2.120。主机上装的 linux 不会和主机共用一个网段。安装完虚拟机之后,电脑上会多两个虚拟网卡。虚拟网卡中的一个是和Linux 的网段一致的,保持和主机的通讯。
使用仅主机模式网络 这种方式会把主机和虚拟机单独置于同一个网络中,虚拟机不具备上网功能。 无法与外部通讯

使用 NAT 方式后,会创建两个虚拟网卡,安装完成后效果如下

所以这里我们选择 网络地址转换(NAT)

这里选择推荐的方式

完成后可以在设置中查询虚拟机的信息

四.安装 CentOS-7 镜像文件

1.下载

下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/

选择 CentOS-7-x86_64-DVD-2003.iso

下载好的文件保存到 E:\VirtualMachine\SystemFile\CentOS-7-x86_64-DVD-2003.iso`

各个版本的区别

CentOS 7 有 6 种版本的 ISO 镜像文件可供选择,每一种 ISO 镜像文件都可以引导安装 CentOS、修复 CentOS,除了 CentOS-7-x86_64-NetInstall-XXXX.iso 都包含安装文件。
LiveGNOME、LiveKDE、NetInstall 均不提供额外软件以供安装完成的系统挂载使用,其他则版本都有。
软件数量上 Everything > DVD > Minimal。多数时候选择 DVD 版,已安装好的系统需要额外软件,却又无法联网时,需要挂载Everything版(比DVD版软件更多)。
需要安装精简的系统,不需要安装时添加额外软件选择Minimal,LiveGNOME、LiveKDE用于体验 CentOS,优点可以不安装,可以直接加载启用。NetInstall应用场景我暂时不知道,如果想通过这种 ISO 镜像文件安装必须指定网络上的安装文件。

6种 CentOS ISO 镜像文件

CentOS-7-x86_64-DVD-XXXX.iso(约4G)
CentOS-7-x86_64-Everything-XXXX.iso(约8G)
CentOS-7-x86_64-LiveGNOME-XXXX.iso(约1G)
CentOS-7-x86_64-LiveKDE-XXXX.iso(约2G)
CentOS-7-x86_64-Minimal-XXXX.iso(约800M)
CentOS-7-x86_64-NetInstall-XXXX.iso(约400M)

2.安装

右键虚拟机名称-设置

CD/DVD(IDE)-浏览-选择 E:\VirtualMachine\SystemFile\CentOS-7-x86_64-DVD-2003.iso

开启此虚拟机

耐心等待

选择语言

设置日期和时间

设置 键盘,这里选择 汉语英语(美国)

软件选择

这里会去检查对应的 iso 文件中是否有对应软件

安装位置-我要配置分区-完成

修改 文件系统,点击 完成

接受更改

KDUMP-不启用

网络和主机名

SECURITY POLICY,这个不管

全部确认好,开始安装

安装中

Linux 必须设置用户名密码,默认有一个 root 用户,这里先设置 ROOT 密码

这里我们 创建用户-luoma

安装成功,重启

重启后进行初始配置

再次等待,出现登录界面

输入密码

进入 Linux

五.安装使用 XShell

XShell 用来使用命令操作 Linux 服务器

1.下载

https://www.netsarang.com/zh/xshell/

邮箱里收到的下载链接

  1. Dear user,
  2. Thank you for your interest in Xshell 6. If you did not request a download link for Xshell 6, please contact our support team at support@netsarang.com to have your email address removed from any future emails related to Xshell 6.
  3. Please click the link below to start downloading your software:
  4. https://www.netsarang.com/zh/downloading/?token=NTA3U050VnVxSmU4QkdVcGJsQTEyd0BmQ3lDOUlnMTlhQW1OaUVvRnVZM19n
  5. This link will expire on July 05, 2019
  6. Please show your support
  7. This Free for Home and School edition has the same powerful features as the commercial version. For this free version, all we ask is that you share this wonderful opportunity with other users. If you like our software, please show your support by clicking the "Like" button on our Facebook page:
  8. Like us on Facebook: https://www.facebook.com/netsarang
  9. Do you have any questions?
  10. We offer free technical support during the evaluation period. If you have any questions, please send us an email at support@netsarang.com.
  11. Best regards,
  12. ===================================================================
  13. NetSarang, Inc.
  14. 4701 Patrick Henry Dr. BLDG 22, Suite 137, Santa Clara, CA 95054, U.S.A.
  15. Website: http://www.netsarang.com | Email: support@netsarang.com
  16. Phone: (669) 204-3301

就是这个

https://www.netsarang.com/zh/downloading/?token=NTA3U050VnVxSmU4QkdVcGJsQTEyd0BmQ3lDOUlnMTlhQW1OaUVvRnVZM19n

下载好以后得到文件 Xshell-6.0.0125p.exe

2.安装

运行 Xshell-6.0.0125p.exe

3.连接

新建配置

配置名称主机等

名称 含义
名称 链接名,随便写
协议 选择SSH
主机 要远程机器的IP或者域名
端口号 默认22

配置账号密码

点击确定完成配置&选择服务器并连接

连接成功,我们输入 pwd,列出当前目录,输出 /root

4.其它

有时候连接远程主机,配置了用户名密码,出现下面的提示,选择 Keyboard Interactive 即可

六.XFtp

这个软件可以用来同步远程 Linux 上的文件。

1.安装

下载地址:https://www.netsarang.com/zh/version-7-open-beta/

运行 Xftp-7.0.0035r_beta.exe

2.使用

输入相关 IP 信息,用户名密码

连接上了,把本机桌面的 1.txt 拖动到 Linux 下

进入 Linux,找到对应目录,可以看到我们上上传的 1.txt 文件

Linux 文件与目录结构

的需要记忆

目录结构 具体含义
/bin(/usr/bin、/usr/local/bin) 是 Binary 的缩写,这个目录存放这最经常使用的命令
/sbin(/usr/sbin、/usr/local/sbin) s 就是 Super User 的意思,这里存放的是系统管理员使用的系统管理程序
/home 存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录是一用户的账号命名的
root 改目录为系统管理员,也称作超级权限者的用户主目录
/lib 系统开机所需要的最基本的动态连接共享库, 其作用类似于 Windows 里面的 dll 文件。几乎所有的应用程序都需要用到这些共享库
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
/etc 所有的系统管理说需要的配置文件和子目录
/usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 Windows 下的 Program Files 目录
/boot 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放在这里
/proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息
/srv service 缩写,该目录存放一些服务启动之后需要提取的数据
/sys 这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核的一个文件系统 sysfs
/tmp 这个目录是用来存放一些临时文件的
/dev 类似于 Windows 中的资源管理器
/media(centos6) 识别设备(U盘,光驱)后把设备挂载到此目录
/run 进程产生的临时文件,虚拟机加载光盘映像在:/run/media/root/ 目录下
/mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在 /mnt/ 上,然后进入该目录就可以查看里面的内容了。
/opt 给自己额外安装软件说摆放的目录。比如安装一个 Oracle 数据库,就可以放在这个目录下,默认是空的
/usr/local 这是另一个给主机额外安装软件说摆放的目录。一般是通过编译源码方式安装的程序
/var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放到这个目录下。包括各种日志文件

XShell 中输入 echo $PATH,这里是输出环境变量

  1. /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

说明 bin 目录下的所有命令都配置在了环境变量中。

VI/VIM 编辑器

Linux 系统的命令行下的文本编辑器。

使用命令

  1. vi 1.txt
  2. vim 1.txt

一般模式

打开文档的默认模式,主要负责查看,和一些就简单的修建。

使用命令

  1. vi 1.txt
  2. vim 1.txt

进入到文件中就叫一般模式。

按键 效果
dd 删除光标当前行
dnd 删除 n 行
u 撤销上一步
x 删除一个字母 Delete
X 删除一个字母 Backspace
yy 复制光标当前行
p 粘贴
dw 删除一个词
yw 复制一个词
shift + g 移动到页尾
1 + shift + g 移动到页头
数字 N + shift + g 移动到目标行
shift + 6 移动到行头
shift + 4 移动到行尾

编辑模式

进入 root 目录,输入命令 vim 1.txt

1.可以编写文字
2.要按下 iao 等字母才能进入编辑模式
3.进入后左下角会有 insertreplace 的字样
4.按下 esc 这个按键即可退出编辑模式

按键 效果
i 当前光标前
a 当前光标后
o 当前光标的下一行
s 删除当前字符并进入编辑
S 删除整行并进入编辑
R 进入替换模式,替换光标后的内容

命令模式

可以进行存盘、退出、显示行号、搜索、批量替换等操作。

要在一般模式下输入 /: 可以进入命令模式。

进入后光标移至最下端。

命令 含义
:w
:q
:!
:%s/old 字符/new 字符/g
/要查找的词 n 查找下一个,N 往上查找
N 查找下一个,n 往上查找
:set nu 显示行号
:set nonu 关闭行号
:noh 取消高亮显示

三个模式之间的切换关系

常用基本命令

帮助手册

作用 命令 备注
帮助手册-man man 例如:man date 查看 date 命令的帮助,按 q 退出
帮助手册-help --help 例如:date --help 查看 date 命令的全部帮助

日期类

作用 命令 备注
日期类-date date 例如:date,输出 2020年 09月 08日 星期二 12:32:47 CSTdate +%Y,输出 2020date +%Y-%m-%d,输出 2020-09-08date +%Y-%m-%d' '%H:%M:%S,输出 2020-09-08 12:36:34
日期类-cal cal 例如:cal,输出一个当前日历。cal -3,显示 3 个月份的值。

目录及文件

作用 命令 备注
目录-查看当前所在目录 pwd 例如:/root,输出 /root
目录-列出当前目录下所有文件 ls[-a] 全部文件,连同隐藏的文件[-l] 列出详细列表,别名 ll 例如:ls,输出 1.txt initial-setup-ks.cfg 模板 图片 下载 桌面 anaconda-ks.cfg 公共 视频 文档 音乐
目录-返回上级目录 cd .. 例如:cd ..pwd,输出 /(在 root 目录下返回了上级目录)
目录-返回至 cd / 例如:cd /rootpwd,输出 /root
目录-返回家目录 cdcd ~ 例如:cdpwd,输出 /root
目录-通过绝对路径访问 cd /etc/sysconfig 例如:cd /etc/sysconfigpwd,输出 /etc/sysconfig
目录-通过相对路径访问 cd ./sysconfig .
目录-创建目录 mkdir [-p] 创建多级目录 例如: 1.cd 桌面mkdir A。 2.mkdir -p A/B/C
文件-创建文件 touch 例如:touch a.txt
文件-创建文件 vi 例如:vi a.txt,如果不存在 a.txt 则创建,前提是往里面写东西。
文件-创建文件 vim 例如:vim a.txt,如果不存在 a.txt 则创建,前提是往里面写东西。
目录-删除空目录 rmdir 例如:rmdir C
目录-移除文件或目录 rm [-rvf] 递归删除所有目录内容,提示[-rf] 递归删除所有目录内容,不提示 例如:rm -rvf C
文件-复制 cp [要复制的文件] [到哪里][-r] 递归复制整个文件夹[-v] 显示复制过程中文件的列表 例如:cp text.txt /optmkdir -p A/Bcp -v A ~/桌面
文件-剪切 mv [旧路径和文件名] [新路径和文件名] 例如:mv text.txt A/text.txt 剪切 text.txt 文件到 A 文件夹下
文件-重命名 mv [文件名] [新的文件名] 例如:mv text.txt text1.txt
文件-查看轻量级文本文件 cat 文件名1 [文件名2] 例如:cat text1.txt 或者 cat text1.txt 2.txt
文件-文件合并 cat 文件名1 文件名2>文件3 例如:cat text1.txt 2.txt>3.txt 合并 text1.txt 和 2.txt 的内容到 3.txt
文件-查看较长的文件 more 空白键(space):代表向下翻一页
Enter:代表向下翻一行
q:代表立刻离开 more,不再显示该文件内容
Ctrl + F:向下滚动一屏
Ctrl + B:返回上一屏
文件-查看较长的文件 less 与 more 类似,功能更多 pagedown:向下翻动一页
pageup:向上翻动一页
/字符串:向下搜寻字符串
?字符串:向上搜寻字符串
n:重复前一个搜寻(与 /? 有关)
N:反向的重复前一个搜寻(与 /? 有关)
文件-从尾部开始查看 tail [-f](跟随查看) [-n200](显示的行数,n 可以省略) 例如:tail -f -m100 3.txt ,按 Ctrl + C 强制退出
文件-从尾部开始查看退出 ctrl + ckill -9 pid 也适用于查看普通文件
文件-查找文件 find 搜索路径 参数 搜索关键字 例如:find /root/桌面 *.txt
文件-查找文件-按文件名 find 搜索路径 -name "*.txt" 根据名称查找目录下的 txt 文件,例如:find /root/桌面 -name *.txt
文件-按索引查找文件 locate 例如:locate /root/桌面/*.txt
文件-更新文件索引 updatedb 运行前需要执行 updatedb 来更新文件索引
文件-压缩文件(tar) tar -zcvf 压缩文件名.tar.gz -c 创建一个新归档
-v 显示详细信息
-f 指定压缩后的文件名
-z 通过 gzip 过滤归档
例如:tar -zcvf 2.tar.gz 2.txt 3.txt
文件-解压缩文件(tar) tar -zxvf 压缩文件名.tar.gz ``
-x 从归档中解出文件
-v 显示详细信息
-f 指定解压前的文件名
-z 通过 gzip 过滤归档
例如:tar -zxvf 2.tar.gz
文件-压缩文件(zip) zip 压缩文件名.zip 文件名1 [文件名2] 例如:zip 2.zip 2.txt
文件-压缩文件-递归压缩(zip) zip -r 压缩文件名.zip 目录名/* 例如:zip -r B.zip B/*
文件-解压文件 unzip -o lib.zip 解压 lib.zip。unzip 解压。-o 不提示的情况替换文件。

ll 列表信息讲解

  1. [root@luoma ~]# ll
  2. 总用量 44
  3. -rw-r--r--. 1 root root 426 9 2 12:32 1.txt
  4. -rw-------. 1 root root 1985 9 1 21:03 anaconda-ks.cfg
  5. -rw-r--r--. 1 root root 2016 9 1 21:08 initial-setup-ks.cfg
  6. drwxr-xr-x. 2 root root 4096 9 1 21:28 公共
  7. drwxr-xr-x. 2 root root 4096 9 1 21:28 模板
  8. drwxr-xr-x. 2 root root 4096 9 1 21:28 视频
  9. drwxr-xr-x. 2 root root 4096 9 1 21:28 图片
  10. drwxr-xr-x. 2 root root 4096 9 1 21:28 文档
  11. drwxr-xr-x. 2 root root 4096 9 1 21:28 下载
  12. drwxr-xr-x. 2 root root 4096 9 1 21:28 音乐
  13. drwxr-xr-x. 2 root root 4096 9 1 21:28 桌面
段(空格分隔) 第几位 类型 例子
第一段 0 类型。- 文件,d 目录 例如:-rw-r--r--. 1 root root 426 9月 2 12:32 1.txtdrwxr-xr-x. 2 root root 4096 9月 1 21:28 公共
第一段 1-3 当前用户的权限。r 读。w 写。x 执行。 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共
第一段 4-6 当前用户组内其他用户的权限。r 读。w 写。x 执行。 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共
第一段 7-9 当前用户组外其他用户的权限。r 读。w 写。x 执行。 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共
第二段 不限制 当前目录所在的文件个数 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 2
第三段 不限制 当前用户 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 root
第四段 不限制 当前用户所在的用户组 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 root
第五段 不限制 文件的大小 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 4096
第六段 不限制 月份 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 9月
第七段 不限制 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 1
第八段 不限制 时间 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 21:28
第九段 不限制 文件名 例如:drwxr-xr-x. 2 root root 4096 9月 1 21:28 公共 中的 公共

grep

配合显示内容的命令,根据跟随的内容显示该行内容。

例如:ll | grep txt

例如:cat Blog_Template.txt | grep 'DB'

显示后面的多少行 -C, 例如:cat Blog_Template.txt | grep 'DB' -C 2 显示匹配到字符 DB 数据后的两行

软链接

1.也称为符号链接,类似于 Windows 里面的快捷方式,有自己的数据块,主要存放了链接其它文件的路径。
2.命令 ln -s 原文件或目录名 软链接名
3.查询:通过 ls -l 就可以查看,列表属性的第一位是 l,尾部会有位置指向。

例如:ln -s /opt testOpt 根目录下的 /opt 创建快捷方式 testOpt
cd testOptls 列出 /opt 下的所有文件。

磁盘

常见的两种磁盘分区类型

类型名称 说明
mbr 1.操作系统要安装在主分区;2.只支持4个主分区;3.扩展分区占一个主分区。
gpt(win7 64位以后) 1.无限主分区;2.支持超大硬盘(3T 以上)

查看所有设备挂载情况

作用 命令
查看所有设备挂载情况 lsblk
查看所有设备挂载情况 lsblk -f
  1. [root@luoma A]# lsblk
  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  3. sda 8:0 0 20G 0 disk
  4. ├─sda1 8:1 0 2G 0 part /boot
  5. └─sda2 8:2 0 18G 0 part
  6. ├─centos-root 253:0 0 16G 0 lvm /
  7. └─centos-swap 253:1 0 2G 0 lvm [SWAP]
  8. sr0 11:0 1 4.5G 0 rom /run/media/root/CentOS 7 x86_64

磁盘分区

虚拟机增加硬盘

增加完成,重启系统,再次输入 lsblk,多出了一个硬盘 sdb

  1. [root@luoma ~]# lsblk
  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  3. sda 8:0 0 20G 0 disk
  4. ├─sda1 8:1 0 2G 0 part /boot
  5. └─sda2 8:2 0 18G 0 part
  6. ├─centos-root 253:0 0 16G 0 lvm /
  7. └─centos-swap 253:1 0 2G 0 lvm [SWAP]
  8. sdb 8:16 0 20G 0 disk
  9. sr0 11:0 1 4.5G 0 rom

分区命令

命令 说明
m 显示命令列表
p 显示磁盘
n 新增分区
d 删除分区
w 写入并退出分区,同 didsk -l

开始对 sdb 分区,输入 fdisk /dev/sdb

  1. [root@luoma ~]# fdisk /dev/sdb
  2. 欢迎使用 fdisk (util-linux 2.23.2)。
  3. 更改将停留在内存中,直到您决定将更改写入磁盘。
  4. 使用写入命令前请三思。
  5. Device does not contain a recognized partition table
  6. 使用磁盘标识符 0x3644f3aa 创建新的 DOS 磁盘标签。

开始分区后输入 n 新增分区。
然后选择 p,分区类型为主分区。
两次回车默认剩余全部空间。
最后输入 w 写入分区并退出,若不保存退出输入 q

  1. 命令(输入 m 获取帮助):n
  2. Partition type:
  3. p primary (0 primary, 0 extended, 4 free)
  4. e extended
  5. Select (default p): p
  6. 分区号 (1-4,默认 1):
  7. 起始 扇区 (2048-41943039,默认为 2048):
  8. 将使用默认值 2048
  9. Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
  10. 将使用默认值 41943039
  11. 分区 1 已设置为 Linux 类型,大小设为 20 GiB
  12. 命令(输入 m 获取帮助):w
  13. The partition table has been altered!
  14. Calling ioctl() to re-read partition table.
  15. 正在同步磁盘。

再次输入 lsblk,可以看到 sdb 下多出了 sdb1 分区

  1. [root@luoma ~]# lsblk
  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  3. sda 8:0 0 20G 0 disk
  4. ├─sda1 8:1 0 2G 0 part /boot
  5. └─sda2 8:2 0 18G 0 part
  6. ├─centos-root 253:0 0 16G 0 lvm /
  7. └─centos-swap 253:1 0 2G 0 lvm [SWAP]
  8. sdb 8:16 0 20G 0 disk
  9. └─sdb1 8:17 0 20G 0 part
  10. sr0 11:0 1 4.5G 0 rom

格式化磁盘

分区命令 mkfs -t ext4 /dev/sdb1,其中 ext4 是分区类型。

  1. [root@luoma ~]# mkfs -t ext4 /dev/sdb1
  2. mke2fs 1.42.9 (28-Dec-2013)
  3. 文件系统标签=
  4. OS type: Linux
  5. 块大小=4096 (log=2)
  6. 分块大小=4096 (log=2)
  7. Stride=0 blocks, Stripe width=0 blocks
  8. 1310720 inodes, 5242624 blocks
  9. 262131 blocks (5.00%) reserved for the super user
  10. 第一个数据块=0
  11. Maximum filesystem blocks=2153775104
  12. 160 block groups
  13. 32768 blocks per group, 32768 fragments per group
  14. 8192 inodes per group
  15. Superblock backups stored on blocks:
  16. 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
  17. 4096000
  18. Allocating group tables: 完成
  19. 正在写入inode表: 完成
  20. Creating journal (32768 blocks): 完成
  21. Writing superblocks and filesystem accounting information: 完成

挂载

将一个分区与一个目录联系起来,比如下图中的 sda1 分区挂载到了 /boot 目录,可以通过 /boot 来访问。不挂载的话是无法访问的。

作用 命令 备注
挂载 mount 设备名称 挂载目录 例如:mkdir newdiskmount /dev/sdb1 /newdisk
取消挂载 umount 设备名称 例如:umount /dev/sdb1
取消挂载 umount 挂载目录 例如:umount /newdisk
永久挂载 通过修改 /etc/fstab 实现挂载,添加完成后执行 mount -a 即刻生效 .

挂载后输入 lsblk,可以看到 sdb1 挂载到了 /root/newdisk

永久挂载,输入 vim /etc/fstab,添加下图中的一行

保存后输入 mount -a

/etc/fstab 文件参数介绍

说明
第一列 磁盘设备文件或者该设备的 Label 或者 UUID
第二列 设备的挂载点,就是你要挂载到哪个目录下
第三列 磁盘文件系统的格式,包括 ext2ext3reiserfsnfsvfat
第四列 文件系统的参数,default 代表同时具有 rwsuiddevexecautonouserasync 等默认参数设置
第五列 能否被 dump 备份命令作用。0 代表不要做 dump 备份。1 代表要每天进行 dump 的操作。2 代表不定日期的 dump 操作。
第六列 是否检验扇区。 0 不要校验。1 最早校验。2 1 级别校验完成之后进行校验。

用命令行挂载重启后会失效

磁盘情况查询

作用 命令 备注
整体磁盘使用情况 df -h
指定目录磁盘使用情况 df -h /目录 例如:du -h --max-depth=1 /opt
-s:指定目录占用大小汇总
-h:带计量单位
-a:含文件
-max-depth=1:子目录深度
-c:列出明细的同时,增加汇总值

网络配置

作用 命令 备注
查看网络配置 ifconfig
修改 IP vi /etc/sysconfig/network-scripts/ifcfg-ens33
刷新网络设置 service network restart 修改 IP 后需要刷新网络设置

修改 IP 图形化操作

修改 IP 命令行操作

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

  1. TYPE=Ethernet
  2. PROXY_METHOD=none
  3. BROWSER_ONLY=no
  4. BOOTPROTO=none
  5. DEFROUTE=yes
  6. IPV4_FAILURE_FATAL=no
  7. IPV6INIT=yes
  8. IPV6_AUTOCONF=yes
  9. IPV6_DEFROUTE=yes
  10. IPV6_FAILURE_FATAL=no
  11. IPV6_ADDR_GEN_MODE=stable-privacy
  12. NAME=ens33
  13. UUID=e5b0a293-9df3-43f3-b3aa-8d01a4a76691
  14. DEVICE=ens33
  15. ONBOOT=yes
  16. IPADDR=192.168.241.128
  17. PREFIX=24
  18. GATEWAY=192.168.44.2
  19. DNS1=192.168.44.2
参数名 参数值 说明
DEVICE eth0 接口名(设备,网卡)
BOOTPROTO none/static/bootp/dhcp 引导时不使用协议/静态分配 IP/BOOTP 协议/DHCP 协议
BROADCAST 192.168.1.255 广播地址
HWADDR 00:0C:2x:6x:0x:xx MAC 地址
IPADDR 192.168.1.23 IP 地址
NETMASK 255.255.255.0 网络掩码
NETWORK 192.168.1.0 网络地址
ONBOOT yew/no 系统启动的时候网络接口是否有效
TYPE Ethernet 网络类型(通常是 Ethemet)

进程(ps process)

ps 显示进程信息选项

作用 命令 备注
显示进程 ps 例如:ps
-a:显示当前终端所有进程信息
-u:以用户的格式显示进程信息
-x:显示后台进程运行的参数
ps -aux 查看进程的 CPU 占用率和内存占用率
ps -ef 想查看进程的父进程 ID
每个进程都有一个 pid 作为唯一标识 pid
杀死进程 kill pid 例如:kill pid 通过唯一标识杀死进程
强行杀死进程 kill -9 pid
通过进程名称杀死进程 killall name 例如:killall name

进程参数说明

例如:

  1. [root@luoma newdisk]# ps -ef
  2. UID PID PPID C STIME TTY TIME CMD
  3. root 1 0 0 15:56 ? 00:00:02 /usr/lib/systemd/systemd
  4. root 2 0 0 15:56 ? 00:00:00 [kthreadd]
  5. [root@luoma newdisk]# ps -aux
  6. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  7. root 1 0.0 0.4 193952 4892 ? Ss 15:56 0:02 /usr/lib
  8. root 2 0.0 0.0 0 0 ? S 15:56 0:00 [kthread
字段 说明
USER 用户名称
PID 进程识别号
%CPU 进程占用 CPU 百分比
%MEM 进程占用物理内存的百分比
VSZ 进程占用的虚拟内存大小(单位:KB)
RSS 进程占用的物理内存大小(单位:KB)
TT 终端名称,缩写
STAT 进程状态,其中 S-睡眠,s-表示该进程是会话的向导进程。N-表示进程拥有比普通优先级更低的优先级。R-正在运行。D-短期等待。Z-僵死进程。T-被跟踪或者被停止等。
STARTTED 进程的启动时间
TTY 终端机号
TIME 此进程所消耗 CPU 时间,即进程使用 CPU 的总时间
CMD 正在执行的命令或进程名
COMMAND 启动进程所用的命令和参数,如果过长会被截断显示

杀死进程案例

桌面创建一个文本文件 a.txt,并获得进程号

  1. [root@luoma ~]# ps -ef | grep gedit
  2. root 15949 1 0 10:18 ? 00:00:01 /usr/bin/gedit --gapplication-service
  3. root 16138 16102 0 10:24 pts/0 00:00:00 grep --color=auto gedit

在图形界面窗口打开这个文本文件

输入 kill 15949,可以看到图形界面的编辑器被关闭了。

service(CentOS6)

service:注册再系统中的标准化程序。

常用的方法

作用 命令
启动 service 服务名 start
停止 service 服务名 stop
重启 service 服务名 restart
加载 service 服务名 reload
状态 service 服务名 status
查看服务的方法 /etc/init.d/服务名
设置自启动 1.查看服务 chkconfig --list|grep xxx
2.chkconfig --level 5 服务名 on

运行级别 runlevel

开机-BIOS-/boot-init 进程-运行级别-运行级别对应的服务

查看默认级别:vi/etc/inittab

Linux 系统有 7 种运行级别(runlevel):常用的是级别 3 和 5

运行级别 说明
0 系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动
1 单用户工作状态,root 权限,用于系统维护,禁止远程登录
2 多用户状态(没有 NFS,即 Network File System 网络文件系统,不支持网络)
3 完全的多用户状态(有 NFS),登录后进入控制台命令行模式
4 系统未使用,保留
5 X11 控制台,登录后进入图形 GUI 模式
6 系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动

systemctl(CentOS7)

systemctl:注册再系统中的标准化程序。

作用 命令
启动 systemctl start 服务名
停止 systemctl stop 服务名
重启 systemctl restart 服务名
加载 systemctl reload 服务名
状态 systemctl status 服务名
查看服务的方法 /usr/lib/systemd/system
查看服务的命令 systemctl list-unit-filessystemctl --type service
设置自启动 1.自启动 sytemctl enable service_name
2.不自启动 systemctl disable service_name

关闭防火墙

需要把防火墙关闭,否则安装在 Linux 上的 MySql 等服务恐怕不能访问。

使用 systemctl list-unit-files | grep firewalld 查看状态

  1. [root@luoma ~]# systemctl list-unit-files | grep firewalld
  2. firewalld.service enabled

可以看到是 enabled,使用不自启动 systemctl disable firewalld.service,再次查看状态

  1. [root@luoma ~]# systemctl disable firewalld.service
  2. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
  3. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  4. [root@luoma ~]# systemctl list-unit-files | grep firewalld
  5. firewalld.service disabled

运行级别 runlevel

开机-BIOS-/boot-systemd 进程-运行级别-运行级别对应的服务

查看默认级别:vim /etc/inittab

运行级别 说明
3 multi-user.target 等价于原运行界别3(多用户有网,无图形界面)
5 graphical.target 等价于原运行级别5(多用户有网,有图形界面)

netstat

查看系统的网络情况。

-an 按一定顺序排列输出
-p 显示哪个进程在调用。

netstat -anp | grep 8080 查看占用 8080 端口的进程。

其它

作用 命令 备注
输出环境变量 echo 在 Sheel 脚本中当 system.out.print
变量-环境变量 $PATH echo $PATH 输出环境变量
查看历史命令 history history 输出所有历史命令

Linux 用户与权限管理

用户

Linux 是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

作用 命令 备注
新增用户 useradd 新用户名 例如:useradd user1
设置密码 passwd 用户名 例如:passwd user1
用户是否存在 id 用户名 例如:id user1
切换用户 su - 用户名 例如:su user1
查看当前用户 whoami 或者 who am I 例如:whoami,输出 user1
删除用户 1.userdel 用户名 例如:userdel user1
2.在 /home 目录下的文件 例如:cd /homerm -rf user1
3.在 /etc/passwd 下的用户 例如:vim /etc/passwd 找到 user1 对应的行删除后保存
4.在 /etc/group 下的用户组 例如:vim /etc/group 找到 user1 对应的行删除后保存
5.在 /var/spool/mail/用户名 下的邮箱文件 例如:cd /var/spool/mailrm -rvf user1
完全删除用户(相当于上面删除用户的五个步骤) userdel -rf 用户名 例如:userdel -rf user1

用户组

类似于角色,系统可以对共性的多个用户进行统一的管理。

作用 命令 备注
新增组 groupadd 组名 例如:groupadd Group1User
删除组 groupdel 组名 例如:groupdel Group1User
修改用户的组 usermod -g 用户组 用户名 例如:usermod -g Group1User user1
增加用户时直接加上组 useradd -g 用户组 用户名 例如:useradd -g Group1User user2

验证添加情况

  1. [root@luoma ~]# cd /home
  2. [root@luoma home]# ll
  3. 总用量 12
  4. drwx------. 15 luoma luoma 4096 9 4 09:35 luoma
  5. drwx------. 3 user1 Group1User 4096 9 11 11:26 user1
  6. drwx------. 3 user2 Group1User 4096 9 11 11:29 user2

系统中用户和组的相关文件

文件名 路径 每行含义
用户(user)的配置文件 /etc/passwd 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Sheel
口令的配置文件 /etc/shadow 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
组(group)的配置文件 /etc/group 组名:口令:组标识号:组内用户列表

例如:vim /etc/shadow

文件的权限管理

位数 说明
0 文件类型(d:目录,-:文件,l:软链接,c:字符设备,b:硬盘)
1-3 所有者(该文件的所有者)拥有该文件的权限。—-User
4-6 所属组(同用户组)拥有该文件的权限。—-Group
7-9 其他用户拥有该文件的权限。—-Other

作用到文件

代码 说明
[r] 可读(read):读取,查看
[w] 可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
[x] 代表可执行(execute):可以被执行

作用到目录

代码 说明
[r] 可读(read):读取,ls 查看目录内容
[w] 可写(write):可以修改,目录内创建+删除+重命名目录。
[x] 代表可执行(execute):可以进入该目录

chmod

方式 说明
第一种方式 +,-,= 变更权限
u:所有者。g:用户组。o:其他人。a:所有人(u,g,o 总和)
chmod u=rwx,g=rx,o=x 文件目录名
chmod o+w 文件目录名
chmod a-x 文件目录名
第二种方式 数字变更权限
r=4,w=2,x=1。rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名 相当于 chmod 751 文件目录名

例如:chmod g=rwx user1(user1 所在用户组可读,可写,可执行)

  1. [root@luoma home]# chmod g=rwx user1
  2. [root@luoma home]# ll
  3. 总用量 12
  4. drwx------. 15 luoma luoma 4096 9 4 09:35 luoma
  5. drwxrwx---. 3 user1 Group1User 4096 9 11 11:26 user1
  6. drwx------. 3 user2 Group1User 4096 9 11 11:29 user2

例如:chmod o=rw user1(user1 其他人可读,可写)

  1. [root@luoma home]# chmod o=rw user1
  2. [root@luoma home]# ll
  3. 总用量 12
  4. drwx------. 15 luoma luoma 4096 9 4 09:35 luoma
  5. drwxrwxrw-. 3 user1 Group1User 4096 9 11 11:26 user1
  6. drwx------. 3 user2 Group1User 4096 9 11 11:29 user2

chown

代码 说明
chown newowner file 改变文件的所有者。 例如:chown luoma DD,改变文件夹 DD 的所有者为用户 luoma。
chown newowner:newgroup file 改变用户的所有者和所有组。例如:chown luoma:root DD, 改变文件夹 DD 的所有者为用户 luoma,用户组 root。
-R 如果是目录,则使其下所有子文件或目录递归生效。例如:chown -R luoma DD,改变文件夹 DD 和其所有子文件夹的所有者为用户 luoma。

chgrp

代码 说明
chgrp newgroup file 改变文件的所有组。 例如:chgrp root DD,修改文件夹 DD 的所有组为 root。

rpm 与 yun

rpm

RPM(RedHat Package Manager),Rethat 软件包管理工具,类似 Windows 里面的 setup.exe。

是 Linux 这系列操作系统里面的打包安装工具,它虽然是 ReaHat 的标志,但理念是通用的。

作用 命令 备注
查询已安装列表 rpm -qa | grep xx 例如:rpm -qa | grep filefox
安装 rpm rpm -ivh rpm软件包名称 -i 安装 install
-v 查看信息
-h 查看进度条
卸载 rpm -rpm -e rpm软件包名称 .

例子-使用 rpm 安装 firefox

1.查看 firefox 信息

  1. [root@luoma 桌面]# rpm -qa | grep firefox
  2. firefox-68.5.0-2.el7.centos.x86_64

名称:firefox
版本号:68.5.0-2
适用操作系统:el7.centos.x86_64(表示 CentOS7.x 的 64 位操作系统)

2.卸载 firefox

  1. rpm -e firefox

3.安装 firefox

/run/media/root/CentOS\ 7\ x86_64/Packages 这个目录是 CentOS 默认软件包的目录。

  1. [root@luoma Packages]# cd /run/media/root/CentOS\ 7\ x86_64/Packages
  2. [root@luoma Packages]# ll | grep firefox
  3. -rw-rw-r--. 2 root root 98915480 2 19 2020 firefox-68.5.0-2.el7.centos.x86_64.rpm

接着 rpm -ivh firefox-68.5.0-2.el7.centos.x86_64.rpm

  1. [root@luoma Packages]# rpm -ivh firefox-68.5.0-2.el7.centos.x86_64.rpm警告:firefox-68.5.0-2.el7.centos.x86_64.rpm: V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
  2. 准备中... ################################# [100%]
  3. 正在升级/安装...
  4. 1:firefox-68.5.0-2.el7.centos ################################# [100%]

yum

类似于 Java 开发中的 Maven 工具,可以从镜像网站上下载应用程序,并直接安装。

作用 命令 备注
查询软件列表 yum list | grep xx 例如:yum list | grep firefox
下载安装 yum install xx 例如:yum install firefox

搭建开发环境

根目录下的 /opt 是存放所有安装包的位置

安装 JDK1.8

下载 JDK1.8

下载地址:https://mirrors.huaweicloud.com/java/jdk/8u152-b16/

下载 jdk-8u152-linux-x64.tar.gz

拷贝到 /opt 目录

使用 XFtp7 拷贝 jdk-8u152-linux-x64.tar.gz 到 CentOS /opt 目录下

解压缩

进入 /opt 目录,解压缩 jdk-8u152-linux-x64.tar.gz

  1. cd /opt
  2. tar -zxvf jdk-8u152-linux-x64.tar.gz

多出了 jdk1.8.0_152 文件夹

  1. [root@luoma opt]# ls
  2. A jdk-8u152-linux-x64.tar.gz text.txt
  3. jdk1.8.0_152 rh

配置环境变量

输入,vim /etc/profile,按 o 在行尾加入

  1. JAVA_HOME=/opt/jdk1.8.0_152
  2. PATH=$JAVA_HOME/bin/:$PATH
  3. export JAVA_HOME PATH

esc:wq 保存。

使环境变量立即生效

1.输入 source /etc/profile
或者
2.重启系统

这里我们输入 source /etc/profile

查看配置情况 echo $PATH

  1. [root@luoma opt]# echo $PATH
  2. /opt/jdk1.8.0_152/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

可以看到已经配置成功了。

输入 javajavac 看看控制台有没有对应输出。

  1. [root@luoma opt]# java
  2. 用法: java [-options] class [args...]
  3. (执行类)
  4. java [-options] -jar jarfile [args...]
  5. (执行 jar 文件)
  6. [root@luoma opt]# javac
  7. 用法: javac <options> <source files>
  8. 其中, 可能的选项包括:
  9. -g 生成所有调试信息
  10. -g:none 不生成任何调试信息

安装 Tomcat

下载 Tomcat

下载地址:https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.70/bin/

下载 apache-tomcat-7.0.70.tar.gz

拷贝到 /opt 目录

使用 XFtp7 拷贝 apache-tomcat-7.0.70.tar.gz 到 CentOS /opt 目录下

解压缩到 /opt

输入 tar -zxvf apache-tomcat-7.0.70.tar.gz

/opt 路径多出了文件夹 apache-tomcat-7.0.70

进入 bin 目录 cd apache-tomcat-7.0.70/bin

启动 ./startup.sh

  1. [root@luoma bin]# ./startup.sh
  2. Using CATALINA_BASE: /opt/apache-tomcat-7.0.70
  3. Using CATALINA_HOME: /opt/apache-tomcat-7.0.70
  4. Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.70/temp
  5. Using JRE_HOME: /opt/jdk1.8.0_152
  6. Using CLASSPATH: /opt/apache-tomcat-7.0.70/bin/bootstrap.jar:/opt/apache-tomcat-7.0.70/bin/tomcat-juli.jar
  7. Tomcat started.

进入图形化界面,浏览器输入 localhost:8080,出现 Tomcat 欢迎页面,安装成功

安装 eclipse

下载 eclipse

下载地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/mars/2/eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz

下载 eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz

拷贝到 /opt 目录

使用 XFtp7 拷贝 eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz/opt 目录

解压到 /opt 目录

输入:tar -zxvf eclipse-jee-mars-2-linux-gtk x86_64.tar.gz

图形化界面操作

进入下面的路径,点击 eclipse 进行操作

安装 mysql

下载 mysql

下载地址:https://downloads.mysql.com/archives/community/

Product Version:5.5.54
Operating System:Linux - Generic
OS Version:Linux - Generic 2.6(x86,64-bit)

下载

  1. (MySQL-server-5.5.54-1.linux2.6.x86_64.rpm)
  2. (MySQL-client-5.5.54-1.linux2.6.x86_64.rpm)

拷贝到 /opt 目录

使用 XFtp7 拷贝 MySQL-server-5.5.54-1.linux2.6.x86_64.rpmMySQL-client-5.5.54-1.linux2.6.x86_64.rpm/opt 目录

检查工作

CentOS6:rpm -qa | grep mysql
如果存在 mysql-libs 旧版本包则卸载 rpm -e --nodeps mysql-libs

CentOS7:rpm -qa mariadb

如果存在如下:

  1. [root@luoma opt]# rpm -qa | grep mariadb
  2. mariadb-libs-5.5.65-1.el7.x86_64

执行卸载命令

  1. rpm -e --nodeps mariadb-libs

检查 /tmp 文件夹权限,执行 chmod -R 777 /tmp

安装

进入 /opt 文件夹,ll 列出文件

  1. [root@luoma opt]# ll
  2. 总用量 542084
  3. drwxr-xr-x. 3 root root 4096 9 8 20:09 A
  4. drwxr-xr-x. 9 root root 4096 9 14 19:31 apache-tomcat-7.0.70
  5. -rw-r--r--. 1 root root 8924465 9 14 19:28 apache-tomcat-7.0.70.tar.gz
  6. drwxrwxr-x. 8 root users 4096 9 14 19:45 eclipse
  7. -rw-r--r--. 1 root root 287110893 9 14 19:29 eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz
  8. drwxr-xr-x. 8 10 143 4096 9 14 2017 jdk1.8.0_152
  9. -rw-r--r--. 1 root root 189784266 9 14 19:05 jdk-8u152-linux-x64.tar.gz
  10. -rw-r--r--. 1 root root 17890481 9 15 10:29 MySQL-client-5.5.54-1.linux2.6.x86_64.rpm
  11. -rw-r--r--. 1 root root 51350277 9 15 10:29 MySQL-server-5.5.54-1.linux2.6.x86_64.rpm
  12. drwxr-xr-x. 2 root root 4096 10 31 2018 rh
  13. -rw-r--r--. 1 root root 0 9 8 20:08 text.txt
  14. -rw-r--r--. 1 root root 113 9 10 15:20 t.tar.gz

执行如下命令进行安装

  1. rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm
  2. rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm

具体情况如下

  1. [root@luoma opt]# rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm
  2. 警告:MySQL-client-5.5.54-1.linux2.6.x86_64.rpm: V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
  3. 准备中... ################################# [100%]
  4. 正在升级/安装...
  5. 1:MySQL-client-5.5.54-1.linux2.6 ################################# [100%]
  6. [root@luoma opt]# rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm
  7. 警告:MySQL-server-5.5.54-1.linux2.6.x86_64.rpm: V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
  8. 准备中... ################################# [100%]
  9. 正在升级/安装...
  10. 1:MySQL-server-5.5.54-1.linux2.6 ################################# [100%]
  11. 警告:用户mysql 不存在 - 使用root
  12. 警告:群组mysql 不存在 - 使用root
  13. 200915 10:41:33 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
  14. 200915 10:41:33 [Note] /usr/sbin/mysqld (mysqld 5.5.54) starting as process 2719 ...
  15. 200915 10:41:33 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
  16. 200915 10:41:33 [Note] /usr/sbin/mysqld (mysqld 5.5.54) starting as process 2726 ...
  17. PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
  18. To do so, start the server, then issue the following commands:
  19. /usr/bin/mysqladmin -u root password 'new-password'
  20. /usr/bin/mysqladmin -u root -h luoma.centos password 'new-password'
  21. Alternatively you can run:
  22. /usr/bin/mysql_secure_installation
  23. which will also give you the option of removing the test
  24. databases and anonymous user created by default. This is
  25. strongly recommended for production servers.
  26. See the manual for more instructions.
  27. Please report any problems at http://bugs.mysql.com/

查看 mysql 版本 mysqladmin --version,输出 mysqladmin Ver 8.42 Distrib 5.5.54, for Linux on x86_64 ,安装成功。

通过 rpm 查询 rpm -qa | grep -i mysql,输出

  1. MySQL-client-5.5.54-1.linux2.6.x86_64
  2. MySQL-server-5.5.54-1.linux2.6.x86_64

说明安装成功。

mysql 相关设置

作用 命令 备注
mysql 服务启动 service mysql start
mysql 服务停止 service mysql stop
设置 root 用户密码 mysqladmin -u -root password '密码' 例如:mysqladmin -u -root password '123456'
登录 mysql mysql -u用户名 -p密码 例如:mysql -uroot -p123456
建库 create database 库名 例如:create database test_db
建表 create table 表名(字段名 字段类型(长度) 约束...) 例如:create table test1(id int,name varchar(100));

设置字符集

查看字符集 show variables like 'character%';

输出

  1. +--------------------------+----------------------------+
  2. | Variable_name | Value |
  3. +--------------------------+----------------------------+
  4. | character_set_client | utf8 |
  5. | character_set_connection | utf8 |
  6. | character_set_database | latin1 |
  7. | character_set_filesystem | binary |
  8. | character_set_results | utf8 |
  9. | character_set_server | latin1 |
  10. | character_set_system | utf8 |
  11. | character_sets_dir | /usr/share/mysql/charsets/ |
  12. +--------------------------+----------------------------+
  13. 8 rows in set (0.00 sec)

查看 mysql 的安装位置 ps -ef | grep mysql

参数 路径 解释 备注
—basedir /usr/bin 相关命令目录 mysqladmin,mysqldump 等命令
—datadir /var/lib/mysql/ mysql 数据库文件存放路径
—plugin-dir /usr/lib64/mysql/plugin mysql 插件存放路径
—log-error /var/lib/mysql/luoma.centos.err mysql 错误日志路径
—pid-file /var/lib/mysql/luoma.centos.pid 进程 pid 文件
—socket /var/lib/mysql/mysql.sock 本地连接时用 unix 套接字文件
/usr/share/mysql 配置文件目录 mysql 脚本及配置文件
/etc/init.d/mysql 服务启停相关脚本 相关脚本

修改字符集

1.将 /usr/share/mysql 中的 my-huge.cnf 拷贝到 /etc 下,改名为 my.cnf
因为 mysql 启动时,会优先读取 /etc/my.cnf 文件。

  1. cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

2.在 [client][mysqld][mysql] 中添加相关的字符集设置。

  1. vim /etc/my.cnf
  1. [client]
  2. default-character-set=utf8
  3. [mysqld]
  4. character_set_server=utf8
  5. character_set_client=utf8
  6. collation-server=utf8_general_ci
  7. [mysql]
  8. default-character-set=utf8

3.重启 mysql 服务 service mysql restart,查看字符集 show variables like 'character%';

  1. mysql> show variables like 'character%';
  2. +--------------------------+----------------------------+
  3. | Variable_name | Value |
  4. +--------------------------+----------------------------+
  5. | character_set_client | utf8 |
  6. | character_set_connection | utf8 |
  7. | character_set_database | utf8 |
  8. | character_set_filesystem | binary |
  9. | character_set_results | utf8 |
  10. | character_set_server | utf8 |
  11. | character_set_system | utf8 |
  12. | character_sets_dir | /usr/share/mysql/charsets/ |
  13. +--------------------------+----------------------------+
  14. 8 rows in set (0.00 sec)
作用 命令 备注
查看数据库的字符集 show create database 数据库名 ..
修改表的字符集 alter table 表名 convert to character set 'utf8'; ..
修改库的字符集 alter database 库名 character set 'utf8'; ..

远程访问

创建库和测试表并添加测试数据

  1. mysql> create database luoma_test;
  2. Query OK, 1 row affected (0.00 sec)
  3. mysql> create table test1(id int,name varchar(100));
  4. Query OK, 0 rows affected (0.00 sec)
  5. mysql> insert into test1 values(1,'罗马');
  6. Query OK, 1 row affected (0.00 sec)
  7. mysql> select * from test1;
  8. +------+--------+
  9. | id | name |
  10. +------+--------+
  11. | 1 | 罗马 |
  12. +------+--------+
  13. 1 row in set (0.01 sec)

远程访问:mysql 默认的 root 用户只允许本机登录,远程通过 SQLyog 工具不能登录。

查看 mysql 库中的用户表

  1. select * from mysql.user\G;

查询常用字段

  1. mysql> select host,user,password,select_priv from mysql.user;
  2. +--------------+------+-------------------------------------------+-------------+
  3. | host | user | password | select_priv |
  4. +--------------+------+-------------------------------------------+-------------+
  5. | localhost | root | *88ACFEA0D58550855499E3A0655672C645A7656B | Y |
  6. | luoma.centos | root | | Y |
  7. | 127.0.0.1 | root | | Y |
  8. | ::1 | root | | Y |
  9. | localhost | | | N |
  10. | luoma.centos | | | N |
  11. +--------------+------+-------------------------------------------+-------------+
  12. 6 rows in set (0.00 sec)

创建可以远程访问的 root 用户并授予所有权限。

  1. grant all privileges on *.* to root@'%' identified by '123456';

使用 flush privileges; 命令使生效。

其它:
1.修改当前用户的密码:set password=password('123456');
2.修改某个用户的密码:update mysql.user set password=password('123456') where user= 'luoma';

查看 linux IP: ip addr show 查看到为 192.168.241.128

使用 Navicat Premium 12 连接这台服务器的 mysql。