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

【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.mzph.cn/news/200725.shtml

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

相关文章

Hadoop学习笔记(HDP)-Part.02 核心组件原理

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

【漏洞复现】万户协同办公平台ezoffice wpsservlet接口存在任意文件上传漏洞 附POC

漏洞描述 万户ezOFFICE集团版协同平台以工作流程、知识管理、沟通交流和辅助办公四大核心应用 万户ezOFFICE协同管理平台是一个综合信息基础应用平台。 万户协同办公平台ezoffice wpsservlet接口存在任意文件上传漏洞。 免责声明 技术文章仅供参考,任何个人和组织使用网络应…

CETN01 - How to Use Cloud Classroom

文章目录 I. Introduction to Cloud ClassroomII. How to Use Cloud Classroom1. Publish Resources2. Conduct Activities3. Class Teaching Reports4. View Experience Values5. Performance in Cloud Classroom I. 云课堂介绍II. 如何使用云课堂1. 发布资源2. 进行活动3. 班…

007:vue实现与iframe实现页面数据通信

首页先搭建一个html页面和vue页面,在vue页面中,嵌入我们需要的iframe页面 文章目录 1. 搭建 html 页面和 vue 页面2. 实现 iframe 向 vue 页面通信3. 在实现 vue 向 iframe 页面通信 1. 搭建 html 页面和 vue 页面 暂定为 iframeDemo.html 和 vueDemo.v…

python文件操作知识

【一】操作流程: 打开文件,得到一个文件句柄(对象),赋给一个对象。通过文件句柄对文件进行操作。关闭文件。 【 二 】 使用方法 open(路径 文件名,读写模式) 如下: …

MySQL主从复制(一主一从、双主双从)

一、概述 1. 数据库主从概念、优点、用途 主从数据库是什么意思呢,主是主库的意思,从是从库的意思。数据库主库对外提供读写的操作,从库对外提供读的操作。   数据库为什么需要主从架构呢? 高可用,实时灾备&#x…

MQTT框架和使用

目录 MQTT框架 1. MQTT概述 1.1 形象地理解三个角色 1.2 消息的传递 2. 在Windows上体验MQTT 2.1 安装APP 2.2 启动服务器 2.3 使用MQTTX 2.3.1 建立连接 2.3.2 订阅主题 2.3.3 发布主题 2.4 使用mosquitto 2.4.1 发布消息 2.4.2 订阅消息 3. kawaii-mqtt源码分析…

直面多云困境,聊聊F5分布式云的破局之道

在数字化浪潮的大背景下,我们迎来了一个万物上云的时代。Gartner的调查数据显示,81%的公有云用户选择两个或两个以上的云服务供应商。对企业来说,充分利用多云网络可以实现业务的成功转型和增长。然而机遇与挑战并存,本文从多云网…

使用AWS Glue与AWS Kinesis构建的流式ETL作业(二)——数据处理

大纲 2 数据处理2.1 架构2.2 AWS Glue连接和创建2.2.1 创建AWS RedShift连接2.2.2 创建AWS RDS连接(以PG为例) 2.3 创建AWS Glue Job2.4 编写脚本2.4.1 以AWS RedShift为例2.4.2 以PG为例 2.5 运行脚本 2 数据处理 2.1 架构 2.2 AWS Glue连接和创建 下…

C++基础 -42- STL库之list链表

list链表的格式(需要定义头文件) list<int> data1(4, 100);list<int> data2(4, 500);list链表的合并接口 举例使用合并接口并且验证 data2.merge(data1);list<int>::iterator ccc;for (ccc data2.begin(); ccc ! data2.end(); ccc){cout << *ccc …

算法学习系列(五):N皇后、数独

目录 引言一、N皇后问题代码实现测试 二、数独问题代码实现测试 引言 这个N皇后问题是很典型的一个递归问题&#xff0c;就是还是要掌握&#xff0c;所谓递归其实就是dfs&#xff0c;一层一层深入下去。数独和N皇后的思路是一样的&#xff0c;只不过一些细节不同而已。 一、N…

TFIDF、BM25、编辑距离、倒排索引

TFIDF TF刻画了词语t对某篇文档的重要性&#xff0c;IDF刻画了词语t对整个文档集的重要性

2024年API安全趋势预测

目录 1.API漏洞的渗透性 2.标准框架的局限性 3.防止漏洞 4.不断上升的威胁和战略建议 案例分析 2024年的潜在威胁 驾驭不断演变的API安全格局 在接下来的部分中&#xff0c;我们将更深入地研究这些趋势&#xff0c;探索标准框架在应对这些新出现的威胁方面的局限性…

数据库学习日常案例20231203-Mysql高级 -- 日志管理篇

Mysql高级 -- 日志篇 *日志类型 1.mysql的6类日志&#xff1a; 2.日志的弊端 *慢查询日志(slow query log) *通用查询日志(general query log) 1.作用&#xff1a; 2.问题场景&#xff1a; 3.查看当前状态 &#xff1a; 4.启动日志&#xff1a; 方式1&#xff1a;永久…

云计算在数字营销中的作用是什么?

营销策略和云计算是一个为企业提供多种优势的系统。它使他们能够取得更大的成功&#xff0c;同时提高产量。这样做的原因是&#xff0c;可以从任何位置远程使用云集成工具和应用程序。基本上&#xff0c;该系统增强了存储设备和传播。同时&#xff0c;它减轻了公司 IT 网络的压…

【Kubernetes】可视化UI界面Dashboard

安装和配置k8s可视化UI界面 一、安装Dashboard1.1、上传镜像并解压1.2、安装dashboard组件1.3、修改service1.4、访问dashboard 二、通过Token令牌访问Dashboard2.1、创建clusterrolebinding2.2、获取token2.3、使用token登录 三、通过kubeconfig文件访问Dashboard3.1、创建clu…

21、pytest参数化中标记单独的测试用例

官方实例 # content of test_expectation_xfail import pytestpytest.mark.parametrize("test_input, expected",[("35",8),("24",6),pytest.param("6*9",42,markspytest.mark.xfail)], ) def test_eval(test_input, expected):asser…

基于ssm vue技术的品牌银饰售卖平台源码和论文737

摘 要 本论文主要是针对品牌银饰售卖而开发进行概述&#xff0c;主要包括对研究的背景和研究现状&#xff0c;以及研究目的等的阐述&#xff0c;也对该系统的各种功能要求&#xff0c;对系统结构&#xff0c;数据库的设计等进行讨论。随着科技与技术的发展&#xff0c;利用计…

Qt篇——QChartView实现鼠标滚轮缩放、鼠标拖拽平移、鼠标双击重置缩放平移、曲线点击显示坐标

话不多说。 第一步&#xff1a;自定义QChartView&#xff0c;直接搬 FirtCurveChartView.h #ifndef FITCURVECHARTVIEW_H #define FITCURVECHARTVIEW_H #include <QtCharts>class FitCurveChartView : public QChartView {Q_OBJECTpublic:FitCurveChartView(QWidget *…

MySQL 8.x 自签证书通过keytool和openssl转成JKS文件

一、写在前面 数据库MySQL 8.0 通过自签命令在datadir下生成了所有的证书文件。由于Java的JDK不支持直接加载PEM格式的证书&#xff0c;所以需要将PEM格式证书转换成Java能够直接加载的JKS格式证书。我们需要将根证书ca.pem转换成JKS格式的根证书truststore.jks&#xff0c;将…