Linux下载安装MySQL8的方式,并开放外网访问

news2024/12/28 11:14:50

作者主页:Designer 小郑
作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师,全栈领域优质创作者。热爱技术、专注业务、开放合作、乐于分享,期待你我共同成长!
主打方向:Vue、SpringBoot、微信小程序

今天收到一位客户的需求:

我需要将系统部署到 Linux 中!

于是就开始了今天的摸索,写一篇博客记录一下。

一、登录 Linux

连接 Window Server 服务器,只需在 Windows 操作系统中使用 mstsc 命令即可进入,但 Linux 系统不可以,需要下载三方连接软件。

我采用的是 MobaXterm,MobaXterm 下载地址。

下载后正常安装即可,安装完成后运行,如下图所示。

在这里插入图片描述

进入软件后,右键左侧的空白区域,新建一个连接,如下图所示。

在这里插入图片描述


新建完成后,选择 SSH 连接方式,依次输入 IP 地址、用户名,再点击 OK 按钮,如下图所示。

在这里插入图片描述

连接成功后,如下图所示。

提示:若您首次登录,进入时需要输入服务器密码。同学们复制粘贴,按回车即可。

在这里插入图片描述


二、MySQL 下载安装

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品,下载官网地址。

2.1 MySQL 下载安装

进入 Linux 后,首先创建 MySQL 的安装文件夹,请依次输入以下命令。
进入 用户目录。

cd /usr/local

创建 MySQL 文件夹。

mkdir mysql

进入创建的 MySQL 文件夹。

cd mysql

下载并解压 MySQL 安装包。

wget wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.30-el7-x86_64.tar.gz
tar zxvf mysql-8.0.30-el7-x86_64.tar.gz

重命名文件夹为 mysql8

mv mysql-8.0.30-el7-x86_64 ./mysql8

创建 MySQL 数据存放文件夹 data

cd mysql8
mkdir data

截止目前, **mysql** 的安装目录结构如下图所示,请同学们比较核对。

在这里插入图片描述


2.2 MySQL 用户授权

MySQL 安装之后,需要注册初始用户,完成管理员授权

首先创建一个新用户,命令如下。

groupadd mysql
useradd -g mysql mysql

提示:两个 mysql 分别为用户组和用户名,同学们按照自己需要配置。

接着授权给刚刚创建的新用户,给与数据文件夹读写权限,命令如下。

chown -R mysql:mysql /usr/local/mysql/mysql8
chmod 750 /usr/local/mysql/mysql8/data -R

2.3 配置 MySQL 环境

首先编辑 profile 文件,命令如下。

vim /etc/profile

提示:进入 profile 文件后,按下键盘的 i 键,意思是开始输入,如下图所示。

在这里插入图片描述

在文件的最后一行增加如下命令

export PATH=$PATH:/usr/local/mysql/mysql8/bin:/usr/local/mysql/mysql8/lib

提示:添加完成后,按下 ESC 键,后依次输入 :wq,如下图所示,意思是保存并且退出(exit)。

在这里插入图片描述


2.4 初始化 MySQL

环境配置完成后,就进入初始化 MySQL 环节。

首先进入 MySQLbin 目录,目录如下。

cd bin
./mysqld --user=root --basedir=/usr/local/mysql/mysql8 --datadir=/usr/local/mysql/mysql8/data/ --initialize

初始化完成后,系统会给出初始密码 6Ju+BGsta/dJ,如下图所示。

在这里插入图片描述

提示:初始化之前需要清空 data 文件夹,命令为 rm -rf data

2.5 MySQL 目录赋权

在操作系统中,最重要的就是操作权限了,如果没有权限,很多事情都做不了。

MySQL 的目录下,有一个 support-files 文件夹。

在这里插入图片描述
里面存放着 MySQL 服务,如下图所示。

在这里插入图片描述
同学们需要将目录复制到 etc 目录中,并赋予权限,命令如下。

cp -a ./support-files/mysql.server /etc/init.d/mysql 
cp -a ./support-files/mysql.server /etc/init.d/mysqld

chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld

mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/ 
chown -R mysql:mysql /tmp/

编辑 MySQLetc 配置文件。

sudo vim my.cnf

配置内容如下。

[client]  
default-character-set=utf8  
#password   = your_password  
port= 3306 
socket= /tmp/mysql.sock  
 
[mysqld]  
basedir=/usr/local/mysql/mysql8
datadir=/usr/local/mysql/mysql8/data
default-storage-engine=INNODB  
character-set-server=utf8  
collation-server=utf8_general_ci  
port= 3306 
socket= /tmp/mysql.sock  
skip-external-locking  
key_buffer_size = 16K  
max_allowed_packet = 1M  
table_open_cache = 4 
sort_buffer_size = 64K  
read_buffer_size = 256K  
read_rnd_buffer_size = 256K  
net_buffer_length = 2K  
thread_stack = 128K  
server-id   = 1 

[mysqldump]  
quick  
max_allowed_packet = 16M  

[mysql]  
no-auto-rehash  

[myisamchk]  
key_buffer_size = 8M  
sort_buffer_size = 8M  

[mysqlhotcopy]  
interactive-timeout 

2.6 启动 MySQL

启动 MySQL 的命令如下。

service mysqld start

启动成功后如下图所示。

在这里插入图片描述

如果启动失败,首先检查 3306 端口是否占用。

2.7 取消权限验证,删除初始密码

MySQL 启动成功后,接下来就是修改默认密码了。

同学们如果可以用初始密码完成登录,则可以跳过 2.7 和 2.8 步骤。

打开 /etc 目录下的 my.cnf 配置文件,在 [mysqld] 下面加上 skip-grant-tables,命令如下。

cd /etc
vim my.cnf

在这里插入图片描述

接着重启 MySQL 服务,目录如下。

/etc/init.d/mysqld restart

接着进入离线版 MySQL

cd /usr/local/mysql/mysql8/bin
./mysql

进入 MySQL 后,首先切换数据库为 mysql

USE mysql ;
update user set authentication_string = '',Host = '%' where user = 'root';
flush privileges;
exit;

请注意 MySQL 8.0 的密码字段为 authentication_string,而不是 password!


2.8 还原权限验证,设置密码

在 2.7 步骤中,已将 root 账户的密码置空,接着就可以用空密码登录

进入配置文件目录,打开配置文件,还原权限验证,命令如下。

cd /etc
vim my.cnf

在这里插入图片描述
保存后再次启动 MySQL 服务。

/etc/init.d/mysqld restart

在这里插入图片描述

进入 MySQL,命令如下。

mysql -u root -p

在这里插入图片描述

首先查询当前存在的用户,命令如下。

select user,host from user;

在这里插入图片描述

接着修改密码,命令格式如下。

alter user '用户名'@'hostname' identified by 'newpwd';

如要将密码改成 123456,命令如下。

alter user '用户名'@'%' identified by '123456';

此时,数据库已初始化完成。

在这里插入图片描述

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

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

相关文章

软考的证书含金量高吗?

因为该考试还具有水平考试性质,报考任何级别不需要学历、资历条件,只要达到相应的专业技术水平就可以报考相应的级别。考试合格者将颁发由中华人民共和国人力资源和社会保障部、工业和信息化部用印的计算机技术与软件专业技术资格(水平&#…

Flutter Web:图片相关及跨域问题

加载网络图片 在flutter web上也可以使用Image这个widget来加载显示图片。但是涉及到网络图片的时候就可能会出现问题,现象是不显示图片,控制台报错: Failed to load network image. Image URL: https://cdnimagelive.knowbox.cn/image/7841…

2023年上半年软考高项报名条件-信息系统项目管理师

信息系统项目管理师是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目之一,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资…

62 序列到序列学习(seq2seq)【动手学深度学习v2】

62 序列到序列学习(seq2seq)【动手学深度学习v2】 深度学习学习笔记 学习视频:https://www.bilibili.com/video/BV16g411L7FG/?spm_id_fromautoNext&vd_source75dce036dc8244310435eaf03de4e330 一个句子翻译到另一个句子。 seq2seq 最早…

经典网络模型系列——Swin-Transformer详细讲解与代码实现

经典网络模型系列——Swin-Transformer详细讲解与代码实现一、网路模型整体架构二、Patch Partition模块详解三、Patch Merging模块四、W-MSA详解五、SW-MSA详解masked MSA详解六、 Relative Position Bias详解七、模型详细配置参数八、重要模块代码实现:1、Patch P…

Android开发【金三银四】之OKhttp网络通讯socket

一、SOCKS代理 全能代理,就像有很多跳线的转接板,它只是简单地将一端的系统连接到另外一端。支持多种协议,包括http、ftp请求及其它类型的请求。它分socks 4 和socks 5两种类型,socks 4只支持TCP协议而socks 5支持TCP/UDP协议&am…

Java后端开发功能模块思路

文章目录前言一、查找接口及参数信息1.1 找访问路径1.2 参数及返回结果信息1.3 编写功能模块函数二、代码设计思路三、总结前言 对于正在学习Java后端开发的同学来说,对于Java后端功能模块的开发过程及思路要有一个整体清晰的流程。才能保证在开发过程中更加的顺畅…

哪些数据可以用在二手车买卖中?

近期,商务部副部长盛秋平表示,将着力稳定和扩大汽车消费,支持新能源汽车购买使用,扩大二手车流通。还将打通二手车信息平台,推广上海的汽车全生命周期信息平台和中国汽车流通协会有关经验做法,建设全国性的…

Python-项目实战--飞机大战-游戏背景(5)

目标背景交替滚动的思路确定显示游戏背景1.背景交替滚动的思路确定游戏启动后,背景图像会连续不断地向下方移动在视觉上产生英雄的飞机不断向上方飞行的错觉 -- 在很多跑酷类游戏中常用的套路游戏的背景不断变化游戏的主角位置保持不变1.1实现思路分析解决办法创建两…

计算机视觉框架OpenMMLab开源学习(三):图像分类实战

前言:本篇主要偏向图像分类实战部分,使用MMclassification工具进行代码应用,最后对水果分类进行实战演示,本次环境和代码配置部分省略,具体内容建议参考前一篇文章:计算机视觉框架OpenMMLab开源学习&#x…

计算机网络整理-问答

1. 程序工作的时候网络各层的状态 如下图所示: 1. TCP 在进行三次握手的时候,IP 层和 MAC 层对应都有什么操作呢? TCP 三次握手是通过在传输层建立连接的一个过程,在这个过程中,TCP 和 IP 层、MAC 层都起到了重要的…

ChatGPT API 本地如何调用

本文将会介绍,如何找到API文档和相应语言SDK,并使用PHP调用SDK实现本地请求API的完成过程及遇到的问题和解决方法。 API文档 1.打开官网 ChatGPT: Optimizing Language Models for Dialogue 2.找到API 3.查看文档 4.找到sdk库 OpenAI API 5.主流语言 …

2023年软考什么时候考试?

2023年软考各科目考试时间安排已确定!中国计算机技术职业资格网发布了《2023年度计算机技术与软件专业技术资格(水平)考试工作计划》,具体见下文。2023年度计算机软件资格考试(初级、中级、高级)上半年考试…

树莓派4b Raspberry Pi 4安装以前内置Python3.7版本的系统出现的一系列问题记录

今天想要重装树莓派系统,想装那种内置Python3.7版本的系统,从网上找到镜像源后烧录进去出现一系列问题: 烧录系统开机后,首先就出现报错: 上面显示一个问题就是:start4x.elf: is not compatible&#xff0…

Django自定义模板标签的使用详解

目录 1.创建子应用:python manage.py startapp test01 2.进行相关的配置 3.在新建的test01文件下创建urls.py(此处名称可变但注意上图) 4.在test01文件下创建名称为templatetags的文件夹 5.templatetags文件下继续创建几个py文件如下图​编辑 6.views视图函数…

走进独自开,带你轻松干副业

今天给大家分享一个开发者的福利平台——独自开(点击直接注册),让你在家就能解决收入问题。 文章目录一、平台介绍二、系统案例三、获取收益四、使用平台1、用户注册2、用户认证3、任务报价五、文末总结一、平台介绍 简单说明 独自开信息科技…

人工智能的未来———因果推理what if 第11章(统计模型) 文章解读

我们在观察数据当中,一般使用样本均值去估计目标人群的均值 在所有情况都是理想的情况下: 平均因果效应

Linux环境运行Maven 生成的hadoop jar包

运行命令: hadoop jar ./jar包名字 class对象路径 输入路径 输出路径 linux内部jar包测试 cd 到以下目录,创建以下文件夹 [rootreagan180 ~]# cd /opt/soft/hadoop313/share/hadoop/mapreduce/ 创建文件夹(读取路径) [roo…

ETL基础概念及要求详解

ETL基础概念及要求详解概念ETL与ELT数据湖与数据仓库ETL应用场景ETL具体流程及操作要求抽取清洗转换加载ETL设计模式SQL脚本语言ETL工具设计ETL工具SQLETL接口设计要求明确接口属性约定接口形式确定接口抽取方法规范接口格式概念 ETL即Extract(抽取)Tra…

Python学习-----无序序列1.0(字典的创建、查看、添加、修改、删除/替换)

目录 前言: 字典是什么 字典的特点 1.字典的创建 (1)直接创建{} (2)dict() 函数创建 2.字典的查询 (1)get()函数 (2)获取字典一组内容 3.字典键值对的添加 &a…