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

Linux操作系统

学习目标

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

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

1 Linux系统概述

1.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公司发行的版本。

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

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盘-放在非中文目下)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QhUtzUwK-1668132623638)(/Users/yuanxin/Library/Application Support/typora-user-images/image-20221031105118322.png)]

2.Mac M1系统

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

2.3 创建虚拟机

桥接网络和转换网络。

在这里插入图片描述

2.2 CentOS系统下载和安装

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

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

1.windows系统

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5pnK0mwA-1668132623639)(/Users/yuanxin/Library/Application Support/typora-user-images/image-20221031105909207.png)]
2.选择打开虚拟机,选择到centos安装目录下的.vmx文件(淡绿色)。
在这里插入图片描述

3.密码是:11。

2.Mac M1系统

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

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

3.右键选择启动。

4.密码:1234。

3 Linux系统目录结构

3.1 树状目录结构

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

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

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 查看目录下文件/目录
命令功能描述
lslist表示西显示文件
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): 就是其他的用户。

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

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

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

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

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用户类型说明
uuser文件所有者
ggroup文件所有者所在组
oothers所有其他用户
aall所用用户,相当于ugo

operator的符号模式表:

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

permission的符号模式表:

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

4.八进制语法

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

#权限rwx二进制
7读 + 写 + 执行rwx111
6读 + 写rw-110
5读 + 执行r-x101
4只读r–100
3写 + 执行-wx011
2只写-w-010
1只执行–x001
0000

例如, 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 file4设置了设置[用户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键盘图:

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

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工作模式

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

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

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系统的连接会话。

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

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

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

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 root@192.168.230.128

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 root@192.168.230.128:/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数据库,如下图:

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

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;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值