Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat

Linux操作系统

学习目标

  • 了解什么是Linux操作系统
  • 熟练的掌握Linux操作系统的环境搭建
  • 掌握linux系统的常用命令(***)
  • 掌握在Linux部署开发的环境

本教程针对的是Linux服务器方面的知识,适合从事运维或后端开发的人员阅读。

1 Linux系统概述

1.1 计算机的体系结构

计算机的体系结果硬件和软件两部分组成,系统用来承载应用软件,硬件是操作系统运行的基础。
Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第1张图片

目前主流的操作系统有:Windows系列、Unix系列、Linux系列、Android系列、IOS系列 …

1.2 Linux系统的概述

1991年,林纳斯-托瓦兹。免费了、自由、开源了代码。可以支持多用户、多任务、支持多线程。

32位、64位,Linux都支持。

1.3 Linux系统特点

Linux系统主要特点见下:

  • 系统稳定性非常高(宕机机概率低)

  • 完全开源免费、在安装的时候可以自由的进行定制

  • 纯命令方式来控制(安全性高)、节省资源的开销

  • Linux社区非常完整,丰富的社区来获取一些一线的资源

  • Linux最适合做服务的操作系统

1.3 主要发行版本

Redhat:RedHat公司发行的Linux版本,效率高、扩展性好、高可靠性。目前最大的Linux发行商,功能全面并且稳定,于2018年10月被IBM以340亿美元的价格收购。

CentOS:基于RedHat源码编译而成,是RHEL的克隆版本,可以认为是免费(完全开源)版本的Redhat系统。

DEbian:有很对社区进行维护的非官方版本,商业可用性不高。

Ubuntu:乌班图,基于DEbian的发行,目前最好的Linux桌面版,拥有很人性化的亮丽的交互界面,强大的软件源支持。

SUSE:德国的SUSE公司发行的版本。

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第2张图片

2 虚拟机安装及介绍

如何获取一个Linux操作系统?

  • 直接基于硬件平台进行安装

  • 安装虚拟平台(虚拟机),然后在虚拟机中安装操作系统

  • 租用云端服务器(阿里云)

2.1 VMware Workstation下载安装

2.1.1 VMware Workstation虚拟机介绍

使用软件模拟出硬件的环境----从计算机中把这一部分的资源剥离出来,共虚拟机独立使用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zIvVD94X-1668132623637)(images/11.png)]

2.1.2 VMware Workstation下载安装激活

1.下载。下载地址:https://www.vmware.com/cn.html。

2.安装。傻瓜式安装,安装完成之后重启计算机。

3.激活。计算机重启之后,第一次运行vmware时输入序列号进行激活。

1.Windows系统

1.VMware-workstation-full-16.2.2-19200509。直接双击即可安装,全部下一步(你要不要安装在C盘-放在非中文目下)。

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第3张图片

2.Mac M1系统

1.VMware Fusion 12.2.3_M1。双击安装包,拖拽到application目录下。傻瓜式安装。

2.3 创建虚拟机

桥接网络和转换网络。

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第4张图片

2.2 CentOS系统下载和安装

下载地址:https://www.centos.org。下载的是CentOS景像:iso。

按照安装教程通过Vmware软件进行CentOS系统的安装。

1.windows系统

1.CentOS 7 64 位 的克隆解压到任意非中文目录下。

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第5张图片
2.选择打开虚拟机,选择到centos安装目录下的.vmx文件(淡绿色)。
Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第6张图片

3.密码是:11。

2.Mac M1系统

1.双击即可解压(推荐解压到非中文目录下)。

2.VM-File-打开文件-CentOS。

3.右键选择启动。

4.密码:1234。

3 Linux系统目录结构

3.1 树状目录结构

Linux系统树状目录结构见下:与Windows操作系统最大不同点在于不分磁盘。Linux操作系统作为系统的根目录。

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第7张图片

3.2 目录详解

Linux系统目录结构介绍见下:

目录名称 功能介绍
/bin 存放的是二进制文件
/sbin 存放的是二进制文件,只有root用户可以访问
/boot 系统的核心目录,存放操作系统的程序文件
/dev 存放的是系统的硬件配置文件
/etc 寻访的是系统的配置文件(网络配置)
/home 家目录。为每一个用户创建一个独立的目录
/lib 系统的资源文件库
/proc 内存映射目录
/var 临时数据
/tmp 临时文件
/root 超级用户管理员对应的家目录
/usr 通常放安装的程序,共享系统资源

4 常用命令

采用可视化的GUI桌面来操作系统,功能有局限。通过命令的方式来操作系统,Shell方式。

4.1 Shell的概念

Shell俗称外壳,提供了一个使用界面的软件,以命令行的形式来操作Linux系统,完成命令的解析。

授权、常规的系统访问,见访问的结果返回给客户端。

4.2 命令的格式

Linux命令格式见下:

命令 [-选项] [参数]

cd
pwd
cat
rm -f /home/user/file.txt

命令区分大小写,其中选项和参数是可选的,中间采用空格隔开。

4.3 常用命令的详解

[user@localhost ~]$

  • [开启用户名@ip 普通用户]$

[root@localhost user]#

  • [超级管理员root用户@ip 当前的用户]#
4.3.1 查看目录下文件/目录
命令 功能描述
ls list表示西显示文件
ls -l 或 ll 显示文件详情(创建者、创建时间、权限)
ls -a 显示全部文件包含隐藏文件
ls -al 显示包含隐藏的文件并以列表展示
ls 目录名 查看指定目录下对应的内容
4.3.2 查看完整路径
命令 功能描述
pwd 获取当前文件的目录结构
4.3.3 目录切换
命令 功能描述
cd … 往上一级目录
cd dirname 跳转到指定文件夹目录下
cd 或 cd ~ 直接进入到用户的家目录
cd / 进入到系统的根目录下
4.3.4 查看当前用户
命令 功能描述
whoami 查看当前用户的名称
4.3.5 用户切换
命令 功能描述
su 从普通用户切换到root用户
su root 从普通用户切换到root用户
su 用户名 从root用户切换到指定的普通用户下
exit 退出当前用户

注意:最好使用su和exit搭配使用,否则多次使用su指令会导致用户的“叠加”。

4.3.6 管理用户

必须在root账户下执行:

命令 功能描述
useradd 用户名 给当前的系统添加一个新的账户
passwd 用户名 给当前的用户设置登录密码
userdel -r 用户名 删除某个指定的用户
4.3.7 查看命令的所在目录
命令 功能描述
which 命令 查看某个指定路径信息
4.3.8 文件操作
命令 功能描述
touch fileName 创建名字为fileName的文件,创建的文件放在当前目录下
touch dir/fileName 在dir目录下创建名字为fileName的文件
echo 内容 > fileName 把内容覆盖写到文件中,若文件不存在则创建
echo 内容 >> fileName 把内容追加到文件中
cat fileName 打印文件内容到终端
more fileName 分屏查看文件各行内容,不支持回看
less fileName 查看文件各部分内容,支持回看
head -n fileName 查看文件的前n行内容
tail -n fileName 查看文件末尾n行内容
wc fileName 查看文件的行数
4.3.9 目录操作
命令 功能描述
mkdir 目录名 创建普通文件夹
mkdir -p 目录/目录/目录 递归方式创建多级父子文件夹
mv dir1 dir2 将dir1移动到dir2中
mv dir1/dir2 ./ 将dir1中dir2移动到当前目录下
mv dir1 name 将dir1改名为name
cp dir1 name 将dir1拷贝为name
cp -r dir1 dir2 需要设置参数-r(recursive递归)无视目录层次
rm 文件 删除文件
rm -r 目录 递归删除目录(无视目录层次)
rm -rf 文件/目录 -r force(强制)删除文件/目录
4.3.10 查找操作
命令 功能描述
find / -name passwd 查找根目录下的passwd文件(passwd为文件完整名称)
find ./ -name “p*” 查找文件名中包含"p"的文件
find ./ -type f 或 find ./ -type d 查找所有文件或目录
grep 内容 fileName 从指定文件中查找指定的内容
4.3.11 权限管理

1.chmod命令介绍

Linux的文件有访问级别,有三级划分:

  • 文件所有者(Owner): 表示文件的创建者是谁(root、user、admin)
  • 用户组(Group): 可以将多个用户通过技术手段看作是一组用户。
  • 其他用户(Other Users): 就是其他的用户。

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第8张图片

只有文件所有者和超级用户可以修改文件或目录的权限。

  • 绝对模式
  • 八进制数字模式
  • 符号模式

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第9张图片

2.语法格式

chmod命令语法:

chmod [-cfvR] [--help] [--version] mode file...

mode:权限设定字串,格式如下 :

[ugoa...][[+-=][rwxX]...][,...]

其中:

  • u表示该文件的拥有者,g表示与该文件的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。
  • +表示增加权限、-表示取消权限、=表示唯一设定权限。
  • r表示可读取,w表示可写入,x表示可执行,X表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:

  • -c:若该文件权限确实已经更改,才显示其更改动作
  • -f:若该文件权限无法被更改也不要显示错误讯息
  • -v:显示权限变更的详细资料
  • -R:对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
  • –help:显示辅助说明
  • –version:显示版本

3.符号模式

使用符号模式可以设置多个项目:who(用户类型),operator(操作符)和permission(权限),每个项目的设置可以用逗号隔开。 命令chmod将修改who指定的用户类型对文件的访问权限,用户类型由一个或者多个字母在who的位置来说明。

who的符号模式表:

who 用户类型 说明
u user 文件所有者
g group 文件所有者所在组
o others 所有其他用户
a all 所用用户,相当于ugo

operator的符号模式表:

Operator 说明
+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置

permission的符号模式表:

模式 名字 说明
r 设置为可读权限
w 设置为可写权限
x 执行权限 设置为可执行权限
X 特殊执行权限 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
s setuid/setgid 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
t 粘贴位 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

4.八进制语法

chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。

# 权限 rwx 二进制
7 读 + 写 + 执行 rwx 111
6 读 + 写 rw- 110
5 读 + 执行 r-x 101
4 只读 r– 100
3 写 + 执行 -wx 011
2 只写 -w- 010
1 只执行 –x 001
0 000

例如, 765将这样解释:

  • 所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如rwx,也就是4+2+1,应该是7。
  • 用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如rw-,也就是4+2+0,应该是6。
  • 其它用户的权限数字表达:其它用户权限位的数字相加的总和。如r-x,也就是4+0+1,应该是5。

5.实例

将文件file1.txt设为所有人皆可读取:

chmod ugo+r file1.txt

将文件file1.txt设为所有人皆可读取:

chmod a+r file1.txt

将文件file1.txt与file2.txt设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:

chmod ug+w,o-w file1.txt file2.txt

为ex1.py文件拥有者增加可执行权限:

chmod u+x ex1.py

将目前目录下的所有文件与子目录皆设为任何人可读取:

chmod -R a+r *

此外chmod也可以用数字来表示权限,语法为:

chmod abc file

其中a、b、c各为一个数字,分别表示User、Group及Other的权限。r=4,w=2,x=1。

  • 若要rwx属性,则4+2+1=7;
  • 若要rw-属性,则4+2=6;
  • 若要r-x属性,则4+1=5。
# 效果相同
chmod a=rwx file
chmod 777 file

# 效果相同
chmod ug=rwx,o=x file
chmod 771 file

6.更多说明

命令 说明
chmod a+r file 给file的所有用户增加读权限
chmod a-x file 删除file的所有用户的执行权限
chmod a+rw file 给file的所有用户增加读写权限
chmod +rwx file 给file的所有用户增加读写执行权限
chmod u=rw,go= file 对file的所有者设置读写权限,清空该用户组和其他用户对file的所有权限(空格代表无权限)
chmod -R u+r,go-r docs 对目录docs和其子目录层次结构中的所有文件给用户增加读权限,而对用户组和其他用户删除读权限
chmod 664 file 对file的所有者和用户组设置读写权限, 为其其他用户设置读权限
chmod 0755 file 相当于u=rwx (4+2+1),go=rx (4+1 & 4+1)。0没有特殊模式
chmod 4755 file 4设置了设置[用户ID]位,剩下的相当于u=rwx (4+2+1),go=rx (4+1 & 4+1)
find path/ -type d -exec chmod a-x {} ; 删除可执行权限对path/以及其所有的目录(不包括文件)的所有用户,使用’-type f’匹配文件
find path/ -type d -exec chmod a+x {} ; 允许所有用户浏览或通过目录path/
4.3.12 进程管理

运行一个应用程序,就会启动一个进程。在一个进程中有多个任务,每一个任务可以交给一个线程来完成。进程包含了线程。一个应用程序只能有一个进程,但是可以有多个线程。

命令 功能描述
ps 查看当前终端窗口里的进程(PID表示进程号)
ps -aux 查看系统中的所有进程
ps -ef 查看进程列表
kill 进程号 杀死指定的进程
kill -9 进程号 强制杀死指定的进程
4.3.13 其它命令
命令 功能描述
ifconfig 查看当前系统的IP地址等信息
tar -zcvf 压缩文件名.tar.gz 文件路径1 文件路径2 … 实现一组文件或文件夹的打包
tar -zxvf 压缩文件名.tar.gz 实现解压缩解包
man [章节号] 命令/函数名 查询指定的命令或函数(如man touch)

5 vi/vim工具使用

所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是vim编辑器。

vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

5.1 什么是vim

vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim则可以说是程序开发者的一项很好用的工具。

连vim的官方网站(https://www.vim.org)自己也说vim是一个程序开发工具而不是文字处理软件。

vim键盘图:

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第10张图片

5.2 语法格式

vi和vim是Linux系统命令行下的文本编辑器。通常格式为:

vi filename
# 或者
vim filename

5.3 vi/vim的使用

基本上vi/vim共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:

  • 命令模式:通过vi或者vim打开某个待要被编辑的文件,此时是不可以输入内容,即此时不可以编辑文件。

  • 输入模式:在命令模式下输入"i"键,即进入到输入模式,此时底部会提示一个“insert”。按下键盘的esc键,又进入到命令模式。

  • 底线模式:如果在命令模式下,输入":wq",“:w”、“:q!”,此命令在底部显示,所以称之为底线模式。

    :wq  保存并退出当前文件
    :q   退出文件(不会保存)
    :q!  强行退出文件(不会保存)
    
5.3.1 命令模式

用户刚刚启动vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

命令 功能描述
i 切换到输入模式,以输入字符
x 删除当前光标所在处的字符
: 切换到底线命令模式,以在最底一行输入命令

若想要编辑文本:启动vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

5.3.2 输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

命令 功能描述
字符按键以及Shift组合 输入字符
ENTER 回车键,换行
BACK SPACE 退格键,删除光标前一个字符
DEL 删除键,删除光标后一个字符
方向键 在文本中移动光标
HOME/END 移动光标到行首/行尾
Page Up/Page Down 上/下翻页
Insert 切换光标为输入/替换模式,光标将变成竖线/下划线
ESC 退出输入模式,切换到命令模式
5.3.3 底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

命令 功能描述
q 退出程序
w 保存文件

按ESC键可随时退出底线命令模式。

5.3.4 vi/vim工作模式

简单的说,我们可以将这三个模式想成底下的图标来表示:

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第11张图片

5.3 使用方式

5.3.1 命令模式的编辑命令
命令 描述
i 在当前位置之前插入
a 在当前位置之后插入
o 在当前行下插入
5.3.2 命令行模式的删除命令
命令 描述
x 删除一个字符
dw 删除当前词
3dw 删除三个词
dd 删除当前行
5dd 删除五行
5.3.3 命令行模式的修改命令
命令 描述
r 替换一个字符
cw 替换一个单词
cc 替换一行
c 替换从光标至行尾
5.3.4 命令行模式的拷贝命令
命令 描述
yw 拷贝词
yy 拷贝行(或Y)
dd 剪切行
p 当前行下粘贴
u 撤销
ctrl + r 取消撤销
5.3.5 底行模式的命令
命令 描述
:w 保存
:w newfile 存成新文件
:wq 存盘退出vim(或ZZ,或:x)
:q! 强行退出不存盘
:1,2co3 拷贝行1,行2在行3之后
:4,5mo6 移动行4,行5在行6之后
:%s /源字符串/目标字符串 将源字符串替换成目标字符串
:%s /源字符串/目标字符串/g 将每一行中所有的源字符串替换成目标字符串
:set nu 显示行号
:set nonu 不显示行号
5.3.6 注意使用

1.使用vimtutor命令打开vim教程。

vimtutor

2.文件.vimrc可用于对vim做整体配置。

vim ~/.vimrc

3.例如在打开的.vimrc文件中添加显示文件内容的行数的设置。

set nu

6 开发环境搭建

6.1 Xshell和Xftp工具

1.下载和安装方式。安装方式直接一路点击下一步即可,安装过程选择免费版。

2.使用方式。打开Xshell,通过新建会话来创建一个与CentOS系统的连接会话。

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第12张图片

3.网络模式设置。设置网络连接模式为NAT模式。

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第13张图片

4.通过VMware的【编辑】-【虚拟网络编辑器】选项,来查看IP、网关、子网掩码等信息。

5.修改配置文件。使用root用户打开/etc/sysconfig/network-scripts/ifcfg-eno16777736文件(文件名不一定是这个),添加内容如下:

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.230.128
GATEWAY=192.168.230.2
NETMASK=255.255.255.0
DNS1=114.114.114.114

6.配置文件生效。使用命令使得配置文件生效:

service network restart

注意:

1.如果使用的是MAC电脑切安装的是VMware Fusion软件。 则配置CentOS静态IP的方式参考以下教程。

  • https://www.freesion.com/article/115136588/

  • https://www.javatang.com/archives/2021/11/17/00143397.html

2.使用Mac的终端Terminal直接连接Linux系统的命令是:ssh -p 22 [email protected]

6.2 JDK的下载和安装

1.下载JDK 11版本。下载地址:https://www.oracle.com/java/technologies/javase-downloads.html。

2.将下载好的JDK安装包传输到CentOS系统中。

# 1.将JDK上传至CentOS系统:/usr/
# 1.1 Xftp(Windows)

# 1.2 通过命令方式(MAC、Window)
scp /文件当当前位置.../...jdk.tat.gz root@ip:/上传的位置
scp /文件当当前位置.../...jdk.tat.gz root@ip:/usr

3.使用tar命令将JDK解压文件到指定目录。

# 解压文件到指定的目录下
tar -zxvf 要解压的文件 -C 目标目录
tar -zxvf /usr//...jdk.tat.gz -C /usr/

4.配置JDK环境变量。使用root用户编辑/etc/profile配置文件,向profile文件末尾追加内容如下:

# 目录/etx/profile
export JAVA_HOME=/usr/jdk-11.0.15.1
export PATH=$JAVA_HOME/bin:$PATH

5.保存退出后让profile文件生效。

source /etc/profile

6.测试JDK是否安装成功。

java -version

6.3 Tomcat的下载和安装

1.下载和安装方式。

  • 下载地址:https://tomcat.apache.org/download-80.cgi。

  • 安装方式:将下载好的Tomcat安装包通过Xftp工具传输到CentOS系统中,使用tar命令解压即可。

# 1.Windows系统使用Xftp工具或者lrzsz工具将Tomcat安装包上传至CentOS系统

# 2.Mac系统使用scp命令将Tomcat安装包上传至CentOS系统
scp /Users/yuanxin/Downloads/apache-tomcat-8.5.55.tar.gz [email protected]:/home/user

2.将Tomcat解压文件到指定的/usr目录下。

# 解压文件到指定目录
tar -zxvf apache-tomcat-8.5.55.tar.gz -C /usr/

3.启动和关闭方式(目录apache-tomcat-8.5.55/bin)。

./startup.sh
./shutdown.sh

4.开放防火墙端口。

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

5.配置环境变量。使用root用户打开配置文件/etc/profile,向文件末尾追加内容(如果考虑集群则暂时不用配置)。$表示访问的是一个系统中定义的变量。

export TOMCAT_HOME=/usr/tomcat
export PATH = $TOMCAT_HOME/bin:$PATH

6.保存退出后让文件生效并验证是否配置成功。

source /etc/profile
./startup.sh

5.发布Web项目。将Web项目打成war包,通过Xftp工具将war包放在tomcat/webapp目录并启动。

6.4 MySQL的下载和安装

在/usr目录下创建mysql目录,将来用于存放mysql的安装文件。

mkdir /usr/mysql
cd /usr/mysql
6.4.1 在线安装

Window系统推荐shying在线安装MySQL数据的方式。

1.通过wget指令下载mysql的rpm文件。

[root@user mysql]# pwd
/usr/mysql
[root@user mysql]# ls
aegis  bin  etc  games  include  lib  lib64  libexec  sbin  share  src mysql
[root@theo mysql]# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2.rpm安装mysql。

[root@user mysql]# rpm -ivh mysql57-community-release-el7-10.noarch.rpm

3.通过yum安装mysql服务。

[root@user mysql]# yum -y install mysql-community-server
6.4.2 离线安装

1.在windows下载mysql以下两个安装文件。

MySQL-server-5.6.45-1.el7.x86_64.rpm
MySQL-client-5.6.45-1.el7.x86_64.rpm

2.将安装包上传到Linux的/usr/mysql目录下(通过xftp工具上传)。

3.清除CentOS自带的mariaDB包。

[root@theo local]# rpm -qa | grep mariadb
[root@theo local]# rpm -e --nodeps mariadb-libs-...

4.安装mysql的服务和客户端。

[root@theo local]#rpm -ivh MySQL-server-5.6.45-1.el7.x86_64.rpm
[root@theo local]#rpm -ivh MySQL-client-5.6.45-1.el7.x86_64.rpm
6.4.3 MySQL基本操作

1.查看MySQL安装的内容。

rpm -qa | grep -i mysql

2.启动MySQL服务。

[root@user mysql]# systemctl start mysqld                
[root@user mysql]# lsof -i:3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  8430 mysql   17u  IPv6  70095      0t0  TCP *:mysql (LISTEN)

或者使用:service mysqld start命令。

3.查看MySQL服务状态。

systemctl status mysqld

4.停止MySQL服务。

[root@theo local]# systemctl stop mysqld

或者使用:service mysqld stop命令。

6.4.4 重置密码

1.查看自动生成的密码。

# 查找初始密码
# 方式1
[root@localhost usr]# cat /var/log/mysqld.log | grep password
2022-10-30T23:11:22.824013Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mR)0doptahHD
# 方式2
[root@localhost usr]# cat /var/log/mysqld.log | grep root
2022-10-30T23:11:22.824013Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mR)0doptahHD

2.用这个密码登陆mysql (可以直接复制登陆)。

# 2.登录到mysql
[root@theo log]# mysql -u root -p
Enter password: 

3.设置密码的检查机制为LOW。

# 设置密码的检查机制为LOW
set global validate_password_policy=LOW

4.重置新密码。

# 方式1
set password=password('123456');
# 方式2
alter user 'root'@'localhost' identified by '123456';

5.授权远程登录。将root账号的连接host设置为全部,否则只能本地连接。

# 方式1
GRANT ALL PRIVILEGES on *.* to 'root'@'%' IDENTIFIED by '123456' WITH GRANT OPTION;
flush PRIVILEGES; # 刷新权限
# 方式2
use mysql;
update user set host = "%" where user='root';
flush PRIVILEGES;

6.开通3306端口,否则无法连接到虚拟机的mysql服务。

firewall-cmd --add-port=3306/tcp --permanent
# 开启后重新加载
firewall-cmd --reload

7.使用Navicat数据库管理工具进行连接测试。

6.5 Mac M1环境下虚拟机中安装MySQL

Mac的M1芯片为例介绍安装方式。

参考教程:

  • 教程1:https://blog.csdn.net/qq_24950043/article/details/123724386
  • 教程2:http://www.manongjc.com/detail/29-zoxaqktimqtnrzz.html

6.6 虚拟机中卸载MySQL

如果先前安装过MySQL,需先把MySQL卸载干净。相关命令:

rpm -qa |grep -i mysql;    // 查看mysql安装了哪些东西
yum remove 要删除的东西;     // 开始卸载
find / -name mysql;        // 查找mysql相关目录
rm -rf mysql相关目录;       // 删除相关目录 
rm -rf /etc/my.cnf;        // 删除/etc/my.cnf
rm -rf /var/log/mysqld.log;// 删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,导致无法登陆)

6.5 图形化界面访问数据库

1.使用SQLyog工具

启动图形化界面工具SQLyog连接虚拟机中MySQL数据库,如下图:

Linux操作 虚拟机安装、开发环境搭建 安装mysql、tomcat_第14张图片

2.解决方案

使用root权限登录数据库后选择mysql库。

mysql -u root -p
use mysql;

查看mysql库中的user表的host值后修改为通配符%。

select host from user where user='root';
update user set host='%' where user='root';
flush privileges;

查看修改结果并重新测试。

select user,host from user;

你可能感兴趣的:(linux,mysql,tomcat)