【Linux服务器Java环境搭建】07 在linux中安装MySql,以及对MySQL的配置与远程连接

news2024/11/24 18:39:25

【Linux服务器Java环境搭建】01购买云服务器以及在服务器中安装Linux系统
【Linux服务器Java环境搭建】02 通过xftp和xshell远程连接云服务器
【Linux服务器Java环境搭建】03 Git工具安装
【Linux服务器Java环境搭建】04 JDK安装(JAVA环境安装)
【Linux服务器Java环境搭建】05 Node JS安装及环境变量配置
【Linux服务器Java环境搭建】06 maven项⽬构建和管理⼯具安装
待续…
【Linux服务器Java环境搭建】附录01:判断Linux服务器是X64还是arm架构的方式
【Linux服务器Java环境搭建】附录02:压缩格式tar.gz和tar.xz的区别

一、安装前准备

检查是否安装过mysql

通过如下命令来检查,如果结果为空,代表没有安装过

[root@yisu-655382d078761 ~]# rpm -qa | grep -i mysql   #-i 忽略大小写
[root@yisu-655382d078761 ~]# 

工具准备

  1. CentOS7 系统
  2. 链接CentOS系统的工具,如:Xshell和Xftp

二、下载MySql

  1. 下载地址:https://www.mysql.com/downloads/

  2. 点击MySQL Community (GPL) Downloads
    在这里插入图片描述

  3. 点击MySQL Community Server
    在这里插入图片描述

  4. 选择MySQL版本以及操作系统
    说明:由于没有CentOS 7系统的版本,所以选择与之对应的 Red Hat Enterprise Linux
    mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar
    在这里插入图片描述
    在这里插入图片描述

  5. 下载系统所支持的安装包
    注意:安装包名称中包含glibc版本和系统架构X64或arm

安装包名称:mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar
glibc版本:2.17 (通过命令ldd --version查看对应版本)
系统架构:X64 请参考判断Linux服务器是X64还是arm架构的方式
centos7:el7

  1. 下载(如果不想登录,直接点击No thanks, just start my download.)
    在这里插入图片描述

三、通过xftp上传到Linux服务器

将安装包通过xftp上传到服务器目录/root/lzh/
在这里插入图片描述

四、解压MySql安装包

将上⾯准备好的 MySQL 安装包解压到 /opt/mysql目录

在opt目录下创建mysql文件夹

在opt目录下,执行如下命令

[root@yisu-655382d078761 opt]# mkdir mysql

在这里插入图片描述

解压命令

通过如下命令将安装包解压到目录/opt/mysql,注意:一定要在opt目录下执行

[root@yisu-655382d078761 opt]# tar -xvf /lzh/mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar -C mysql

在这里插入图片描述

五、检查依赖

  1. 检查/tmp临时目录权限(必不可少

由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限

执行如下命令

[root@yisu-655382d078761 lzh]# chmod -R 777 /tmp

在这里插入图片描述
2. 检查libaio依赖,通过命令rpm -qa|grep libaio,如果能看到相关信息,则代表已经安装

[root@yisu-655382d078761 lzh]# rpm -qa|grep libaio
libaio-devel-0.3.109-13.el7.x86_64
libaio-0.3.109-13.el7.x86_64
[root@yisu-655382d078761 lzh]# 

在这里插入图片描述
如果没有安装,请执行命令yum install libaio来进行安装。
3. 检查net-tools包,通过命令rpm -qa|grep net-tools,如果能看到相关信息,则代表已经安装

[root@yisu-655382d078761 lzh]# rpm -qa|grep net-tools
net-tools-2.0-0.22.20131004git.el7.x86_64
[root@yisu-655382d078761 lzh]# 

在这里插入图片描述
如果没有安装,请执行命令yum install net-tools来进行安装。

六、安装mysql

在目录/opt/mysql/目录下,按照顺序执行如下命令

[root@yisu-655382d078761 mysql]# rpm -ivh mysql-community-common-8.2.0-1.el7.x86_64.rpm 
[root@yisu-655382d078761 mysql]# rpm -ivh mysql-community-client-plugins-8.2.0-1.el7.x86_64.rpm 
[root@yisu-655382d078761 mysql]# rpm -ivh mysql-community-libs-8.2.0-1.el7.x86_64.rpm 
[root@yisu-655382d078761 mysql]# rpm -ivh mysql-community-client-8.2.0-1.el7.x86_64.rpm 
[root@yisu-655382d078761 mysql]# rpm -ivh mysql-community-icu-data-files-8.2.0-1.el7.x86_64.rpm 
[root@yisu-655382d078761 mysql]# rpm -ivh mysql-community-server-8.2.0-1.el7.x86_64.rpm 

注意

  1. 当执行rpm -ivh mysql-community-libs-8.2.0-1.el7.x86_64.rpm 报错如下

[root@yisu-655382d078761 mysql]# rpm -ivh mysql-community-libs-8.2.0-1.el7.x86_64.rpm
warning: mysql-community-libs-8.2.0-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
error: Failed dependencies:
mariadb-libs is obsoleted by mysql-community-libs-8.2.0-1.el7.x86_64

解决方案:执行命令[root@yisu-655382d078761 mysql]# yum remove mysql-libs

  1. 当执行rpm -ivh mysql-community-server-8.2.0-1.el7.x86_64.rpm 报错如下

[root@yisu-655382d078761 mysql]# rpm -ivh mysql-community-server-8.2.0-1.el7.x86_64.rpm
错误:依赖检测失败:
/usr/bin/perl 被 mysql-community-server-8.0.26-1.el7.x86_64 需要
net-tools 被 mysql-community-server-8.0.26-1.el7.x86_64 需要
perl(Getopt::Long) 被 mysql-community-server-8.0.26-1.el7.x86_64 需要
perl(strict) 被 mysql-community-server-8.0.26-1.el7.x86_64 需要

解决方案:执行如下命令

yum install net-tools
yum install -y perl-Module-Install.noarch

如下为完整安装截图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、查看mysql版本

  1. 通过如下命令查看mysql版本,如果能看到版本号,则代表mysql安装成功
[root@yisu-655382d078761 mysql]# mysql --version
mysql  Ver 8.2.0 for Linux on x86_64 (MySQL Community Server - GPL)
[root@yisu-655382d078761 mysql]# mysqladmin --version
mysqladmin  Ver 8.2.0 for Linux on x86_64 (MySQL Community Server - GPL)
[root@yisu-655382d078761 mysql]# 
  1. 通过如下命令查看MySQL相关组件,如下
[root@yisu-655382d078761 mysql]# rpm -qa|grep -i mysql
mysql-community-client-8.2.0-1.el7.x86_64
mysql-community-icu-data-files-8.2.0-1.el7.x86_64
mysql-community-common-8.2.0-1.el7.x86_64
mysql-community-libs-8.2.0-1.el7.x86_64
mysql-community-server-8.2.0-1.el7.x86_64
mysql-community-client-plugins-8.2.0-1.el7.x86_64

在这里插入图片描述

八、初始化

如果要以root身份运行mysql服务,需要执行如下初始化命令

[root@yisu-655382d078761 mysql]# mysqld --initialize --user=mysql

在这里插入图片描述
注意
–initialize选项以“安全模式”来初始化,会为root用户生成一个临时密码,一定要记住,会在第一次登录时需要设置一个新的密码,临时密码可以通过如下命令查看

[root@yisu-655382d078761 mysql]# cat /var/log/mysqld.log 

具体内容如下,root@localhost后面的信息为临时密码

[root@yisu-655382d078761 mysql]# cat /var/log/mysqld.log 
2023-12-05T13:33:49.637740Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2023-12-05T13:33:49.642320Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.2.0) initializing of server in progress as process 72382
2023-12-05T13:33:49.658952Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-12-05T13:33:50.377497Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-12-05T13:33:51.978492Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rghBNVX?90F4
2023-12-05T13:33:55.838593Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.

九、启动mysql服务、查看状态

注意:加不加.service后缀都可以
mysqld 这个可执行文件代表 mysql服务器程序,运行这个可执行文件后可以直接启动一个
服务器进程。

命令说明
systemctl status mysqld.service查看状态
systemctl start mysqld.service启动服务
systemctl stop mysqld.service停止服务
systemctl restart mysqld.service重启服务
ps -ef|grep -i mysql查看mysql进程
systemctl disable mysqld.service设置为不自启动
systemctl enable mysqld.service设置为自启动

启动服务后的状态
在这里插入图片描述
关闭服务后的状态
在这里插入图片描述
查看mysql进程
在这里插入图片描述

十、设置mysql服务为自启动

  1. 查看mysql服务是否自启动(默认为enabled,自启动)
 systemctl list-unit-files | grep mysqld.service

在这里插入图片描述

  1. 如果不希望自启动,可以通过如下命令设置为不自启动
systemctl disable mysqld.service
  1. 如果不是自启动,可以通过如下命令设置为自启动
systemctl enable mysqld.service

十一、mysql登录、修改密码

  1. 首次登录
    通过命令mysql -uroot -p进行登录,在Enter password: 录入初始化密码,输入密码后,可以进入mysql(进入mysql后,可以通过exit退出mysql)
    在这里插入图片描述
  2. 修改密码
    注意:因为初始化密码默认是过期的,所以查看数据库会报错,需要进行密码的修改
    在这里插入图片描述
    执行如下命令进行密码修改
mysql> alter user 'root'@'localhost' identified by '123456';

执行结果如下图
在这里插入图片描述

  1. 退出mysql
    在这里插入图片描述

十二、设置允许远程登录

注意:修改密码尝试登录时,发现登录不了,可以通过如下步骤进行排查

1、在要远程的机器上ping Linux服务器的ip

ping ip地址
在这里插入图片描述

2、通过telnet ip:3306,查看端口是否开放

在这里插入图片描述
发现端口无法连接,那么需要开启端口或是关闭防火墙

3、关闭和开启防火墙

有关防火墙相关命令

命令说明
systemctl status firewalld.service查看防火墙状态
yum install firewalld firewall-config安装防火墙
systemctl start firewalld.service开启防火墙
systemctl stop firewalld关闭防火墙
systemctl enable firewalld设置开机启动防火墙
systemctl disable firewalld设置开机禁用防火墙
firewall-cmd --reload重启防火墙

未开启防火墙
在这里插入图片描述
防火墙开启后状态
在这里插入图片描述

4、开放端口号

端口号相关命令

命令说明
firewall-cmd --list-all查看开放的端口号
firewall-cmd --add-service=http --permanent设置开放的端口号
firewall-cmd --add-port=3306/tcp --permanent设置开放的端口号
firewall-cmd --reload重启防火墙

没有开启任何端口号
在这里插入图片描述
设置开放的端口号
在这里插入图片描述
重启防火墙以及再次查看端口号
在这里插入图片描述
如果是云服务器,请在云服务防火墙中开放3306端口
在这里插入图片描述

修改完端口以及防火墙后,telnet后发现还是不行,那么咱们再继续下一步骤
在这里插入图片描述

5、设置用户root允许远程访问的IP

查看root用户权限

在Linux系统中登录mysql,进入mysql,执行如下sql语句,可以看到root用户的当前主机配置信息为localhost

use mysql;
SELECT Host, User FROM mysql.user;

在这里插入图片描述

  • 如上图,Host列列出了允许用户登录所使用的IP;
  • 其中user=root Host=localhost,表示只能通过本机客户端去访问;
  • 同理,User=root, Host=192.168.1.1指的是说root用户只能通过192.168.1.1的客户端去远程访问mysql;
  • 可以使用%通配符:如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接;
  • 如果 Host=% ,表示所有IP都有连接权限;

设置root用户权限

通过如下命令设置用户root的请求权限,此处设置为%,代表所有IP都有链接权限

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

在这里插入图片描述
注意:Host修改完成后一定要执行flush privileges;使配置生效
在这里插入图片描述

十三、通过mysql客户端工具进行远程连接

撒花,测试链接成功!!!
在这里插入图片描述

【最后】总结

从安装、配置、最终链接,整体看来还是有点儿小复杂,在Linux系统中安装mysql的方式其实有多种,后期也会把其他的方式进行演示一遍,好了,今天就到这里,如有错漏,请大家随时指出.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1287971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HashMap相关专题

前置知识:异或运算 异或运算介绍 异或有什么神奇之处(应用)? (1)快速比较两个值 (2)我们可以使用异或来使某些特定的位翻转,因为不管是0或者是1与1做异或将得到原值的相…

ProEasy机器人案例:电池边包胶

如下图所示,对一个电池三边包边,因客户现场有很多规格电池的大小,所以就需要建立动态的工具坐标来实现适配所有种类的电池 程序如下:Ddome程序 function Speed(num) --速度设置 MaxSpdL(2000) --movl最大速度…

OWASP安全练习靶场juice shop-更新中

Juice Shop是用Node.js,Express和Angular编写的。这是第一个 完全用 JavaScript 编写的应用程序,列在 OWASP VWA 目录中。 该应用程序包含大量不同的黑客挑战 用户应该利用底层的困难 漏洞。黑客攻击进度在记分板上跟踪。 找到这个记分牌实际上是&#…

【layui】layui.table表格实现底部固定两行合计行

halo,下伙伴们,今天小编记录个关于layui开发的系统,layui.table表格实现底部固定两行(如:本页合计,全部合计) 小编查阅layui文档好像只能设置固定一行,所以就利用js添加css样式来修…

协程的概念,协程+遇到IO切换实现单线程提供并发

1、协程是什么? 协程,英文为coroutine,也被称作轻量级线程或者微线程,是一种用户态的轻量级线程。协程的执行不是由系统内核来调度,而是由用户程序自行控制。这意味着协程的切换非常快,几乎只涉及到几个寄…

【无标题】什么是UL9540测试,UL9540:2023版本增加哪些测试项目

什么是UL9540测试,UL9540:2023版本增加哪些测试项目 UL 9540是美国安全实验室(Underwriters Laboratories)发布的标准,名称为"UL 9540: Energy Storage Systems and Equipment",翻译为中文为"能量存储…

案例046:基于微信小程序的云上考场

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

【解决办法】Pycharm中新添加或者导入项目文件名红色!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、问题描述二、问题原因三、解决办法 一、问题描述 Pycharm的代码中添加新的文件夹,发现文件夹下的文件名是红色的,如下图: …

人、机不同在于变与多

人擅长变,如变模态、变尺度,而机器侧重多,如多模态、多尺度。 人类擅长变化的能力是由于我们的大脑和思维能力的灵活性所决定的。我们可以通过学习和适应,改变我们的态度、行为方式和观点,以适应不同的情境和环境。例如…

ORACLE使用Mybatis-plus批量插入

ORACLE使用mybatis-plus自带的iservice.saveBatch方法时,会报DML Returing cannot be batch错误: 推测原因是oracle不支持insert into table_name (,) values (,),()的写法。且oracle不会自动生…

【S32K3环境搭建】-0.2-安装S32DS product updates和 packages

目录 1 安装S32DS product updates和 packages 1.1 方法一:通过S32DS Extensions and Updates安装product updates和 packages 1.2 方法二:通过Install New Software…安装product updates和 packages 2 S32DS product updates和 packages安装后的效…

【Pytorch使用自制数据集,Dataloader】

数据集结构 话不多说,直接上核心代码 myDataset.py from collections import Counter from torch.utils.data import Dataset import os from PIL import Imageclass MyDataset(Dataset):"""读取自制的数据集args:- image_dir: 图片的地址- labe…

3.数据库

目录 一、数据库的基本信息 1.1 数据库的定义 1.2数据库的分类 1.2.1 关系型数据库 1.2.2 非关系型数据库 1.3 SQL介绍 1.3.1 概念 1.3.2 SQl语言分类 1.3.3 SQL注释 1.3.4 数据库操作命令DDL 1.3.5 数据表操作命令DDL 1.3.6 数据表操作命令DML 1.3.7 数据表中内容…

centos7-zabbix安装与使用(较全的配置)

文章目录 zabbix介绍一、zabbix是什么1.1 zabbix专用词汇1.2 zabbix程序组件 二、zabbix的优缺点三、为什么使用zabbix3.1 zabbix可以满足的监控系统需求 四、zabbix监控的生命周期 zabbix安装一、zabbix环境搭建1.1 安装wget1.2 关闭防火墙1.3 关闭SELinux 二、安装zabbix2.1 …

上传文件接口的创建_FastAPI

上传文件接口的创建 功能描述代码效果演示与注意事项 功能描述 前端用户需要上传文件至平台,就比如CSDN的上传资源部分,都是一样的功能逻辑,想要实现这个功能其实并不难。 这里以上传的JSON格式文件为例,其他格式文件的话可以自…

基本网络安全概述:保护您的数字生活

数字时代给我们的生活带来了无与伦比的连通性和便利,但也带来了新的威胁和漏洞。随着我们越来越依赖技术,网络安全概述的重要性怎么强调都不为过。在这篇文章中,我们将深入探讨网络安全的重要性、其关键组成部分、最佳实践、常见威胁以及该领…

【go语言开发】go项目打包成Docker镜像,包括Dockerfile命令介绍、goctl工具生成

本文主要介绍如何将go项目打包成镜像,首先介绍Dockerfile常用命令介绍,然后介绍使用工具goctl用于生成Dockerfile,还可以根据需求自定义指令内容,最后讲解如何将go-blog项目打包成镜像,以及如何运行等 文章目录 前言Do…

C语言结构体介绍(超详细)

文章目录 每日一言结构体是什么?为什么要使用结构体?如何使用结构体?结构体的定义结构体的声明如何访问结构体中的成员 结构体内存对齐什么是结构体内存对齐对齐规则修改默认对齐数 为什么存在结构对齐 总结结语 每日一言 Develop your imagination – you can u…

Ubuntu系统下使用apt-get安装Redis

记录一下Ubuntu20.04 64位系统下使用apt-get安装Redis 首先检查一下系统是否安装过redis whereis redismywmyw-K84HR:~$ whereis redis redis: mywmyw-K84HR:~$ 更新软件包 sudo apt-get update -y安装redis sudo apt-get install redis-server -ymywmyw-K84HR:~$ sudo apt…

【S32K3环境搭建】-0.1-安装S32 Design Studio for S32 Platform 3.5

目录(S32DS安装步骤详细) 1 安装S32 Design Studio for S32 Platform 3.5准备工作 2 下载S32 Design Studio for S32 Platform 3.5安装包 2.1 获取S32DS的License许可 3 安装S32 Design Studio for S32 Platform 3.5 4 打开S32 Design Studio for S…