【H2O2|全栈】MySQL的云端部署

目录

前言

开篇语

准备工作

MySQL移除

为什么需要移除?

移除操作

Yum仓库

yum简介

rpm安装

yum库安装

MySQL安装

使用yum安装

开机自启动

检查运行状态

MySQL配置

初始密码

​编辑登录

修改root密码

退出MySQL

字符集配置

重启数据库

结束语


前言

开篇语

本篇属于云端部署系列知识,为了将我们的全栈项目部署至服务器,我们需要在云端linux下实现MySQL的安装与部署。

本篇涉及运维相关的知识,我们在进行前端开发时需要进行了解。

准备工作

软件:【参考版本】Xshell7,Xftp7

服务器:腾讯云/阿里云

语言:Linux

版本信息:MySQL5.7,CentOS

服务器端口放通:3306,8080

MySQL移除

为什么需要移除?

在进行MySQL配置时,如果此前已经有出现问题的MySQL配置,比如未卸载干净的数据库和不兼容的版本(太新或太旧),则最好先将此前的MySQL移除。

移除操作

在Xshell或服务器(腾讯云为OrcaTerm)中,利用yum移除MySQL——

# 移除Mysql
yum remove mysql-server mysql-client

注意,在进行该操作之前,我们需要配置yum仓库。 

Yum仓库

yum简介

yum是包管理器,也就像一个软件下载安装管理的客户端,类似于手机里面的应用商店。

因为Linux下的软件包可能会存在着某种依赖关系(比如安装一个包需要附加安装其他包才能运行),那么此时使用yum便能够很好的解决这种依赖关系。

关于yum更加详尽的介绍,可以参考其他博主的文章,此处就不展开了。

rpm安装

rpm,全名 RedHat Package Managerment,是由Red Hat公司提出,被众多Linux发行版本所采用,是一种数据库记录的方式来将所需要的软件安装到到Linux系统的一套软件管理机制。

关于rpm的介绍,可以参考其他博主的文章,此处不详述。

安装代码如下——

# 安装rpm
sudo yum install rpm

由于MySQL并不在CentOS的官方仓库中,所以我们需要先导入MySQL的秘钥,然后再进行yum仓库配置。

安装完成之后,利用rpm更新MySQL秘钥——

# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

yum库安装

使用rpm安装MySQL的yum库——

# 安装Mysql yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

MySQL安装

使用yum安装

由于不需要考虑软件包之间的依赖问题,我们直接使用yum命令安装MySQL即可——

# yum安装Mysql
yum -y install mysql-community-server

开机自启动

我们希望MySQL在开机的时候就处于运行状态,所以先将MySQL启动,然后为其配置开机自启——

# 启动
systemctl start mysqld
# 开机自启
systemctl enable mysqld

检查运行状态

MySQL安装完成后,会自动配置mysqld服务,可以被systemctl所管理。

使用下面的代码来检查MySQL运行状态——

# 检查运行状态
systemctl status mysqld

当出现下面的字样时,则说明MySQL处于正常运行状态——

MySQL配置

在本步骤中,主要配置管理员用户root的密码以及配置允许远程登录的权限。

初始密码

MySQL的初始密码通常保存在/var/log/mysqld.log文件中,想要获取该密码,我们可以使用grep命令过滤出含有密码的语句——

# 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
grep 'temporary password' /var/log/mysqld.log

比如,下面的红色框中的就是初始密码(每个人不一样)——

登录

使用下面的命令,进入输入密码的命令行——

# 准备输入密码
mysql -uroot -p 

-u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root,因此这里是-uroot。

-p,表示使用密码登陆。

在出现的提示输入密码处,将我们之前的初始密码复制粘贴过来——

注意,密码是不显示的,不要认为是卡了就重复输入。

当出现下面的命令行提示时,说明MySQL就可以正常使用了。

修改root密码

显然,初始密码还是有些太复杂了,我们可以通过下面的代码,进行对初始密码的修改——

# 在MySQL控制台进行密码修改操作
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc。

如果我们需要设置简单、好记的密码,则在设置密码之前还需要进行下面的操作(实际开发中不建议用,这里只是为了方便)——

# 如果你想设置简单密码,需要降低Mysql的密码安全级别
set global validate_password_policy=LOW; # 密码安全级别低
set global validate_password_length=4;	 # 密码长度最低4位即可

退出MySQL

在mysql控制台,使用exit命令退出MySQL——

exit;

字符集配置

数据库字符集未设定的情况下,导入数据会因为字符集的问题而导致导入失败,所以在数据导入前,需要重新设置数据库字符集配置。

退出MySQL后,使用vi命令打开mysql的配置文件——

vi /etc/my.cnf

点击i进入编辑模式,为字符集文件增添下面的配置——

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8[mysqld]
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

完整结构如下——

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

点击Esc退出编辑模式,输入下面的命令保存并退出——

:wq!

重启数据库

在完成设置前, 我们还需要重启数据库,确保我们的设置得到应用。

在根目录下,输入下面的指令实现数据库的重启——

systemctl restart mysqld

至此,我们完成了MySQL的云端配置。 

结束语

本期内容到此结束。关于本系列的其他博客,可以查看我的云端部署专栏。

在全栈领域,博主也只不过是一个普通的萌新而已。本系列的博客主要是记录一下自己学习的一些经历,然后把自己领悟到的一些东西总结一下,分享给大家。

文章全篇的操作过程都是笔者亲自操作完成的,一些定义性的文字加入了笔者自己的很多理解在里面,所以仅供参考。如果有说的不对的地方,还请谅解。

==期待与你在下一期博客中再次相遇==

——放了挺久的【H2O2】

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

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

相关文章

【Tealscale + Headscale + 自建服务器】异地组网笔记

文章目录 效果为什么要用 Headscale云服务器安装 Headscale配置 config.yaml创建反向代理搭建管理 UI授权管理 UI添加互联设备参考 效果 首先是连接情况,双端都连接上自建的 Headscale, 手机使用移动流量,测试一下 ping 值 再试试进入游戏 可…

【C++】栈、队列、双端队列与优先级队列

目录 一、stack(栈) 二、queue(队列) 三、deque(双端队列) (一)概念 (二)为什么能作为 stack 和 queue 的容器 (三)缺点 四、p…

02 —— Webpack 修改入口和出口

概念 | webpack 中文文档 | webpack中文文档 | webpack中文网 修改入口 webpack.config.js (放在项目根目录下) module.exports {//entry设置入口起点的文件路径entry: ./path/to/my/entry/file.js, }; 修改出口 webpack.config.js const path r…

实验室管理现代化:Spring Boot技术方案

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…

深入探讨 Puppeteer 如何使用 X 和 Y 坐标实现鼠标移动

背景介绍 现代爬虫技术中,模拟人类行为已成为绕过反爬虫系统的关键策略之一。无论是模拟用户点击、滚动,还是鼠标的轨迹移动,都可以为爬虫脚本带来更高的“伪装性”。在众多的自动化工具中,Puppeteer作为一个无头浏览器控制库&am…

【软考】系统架构设计师-计算机系统基础(4):计算机网络

计算机网络功能:数据通信、资源共享、管理集中化、分布式处理、负载均衡 5G高峰速率:10Gbit/s 广域网(因特网)/城域网/局域网(以太网) 总线型:利用率低,易冲突,干扰大…

【HOT100第五天】搜索二维矩阵 II,相交链表,反转链表,回文链表

240.搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 先动手写写最简单方法,二重循环。 class Solution { public:bool searchMa…

从技术到产品:第三方美颜API助力实时直播平台的开发详解

众所周知,开发一套完整的美颜功能不仅耗时耗力,还需要大量的算法调优与硬件优化。为此,第三方美颜API成为越来越多开发者的优先选择。本篇文章,小编将从技术到产品,深入探讨第三方美颜API如何助力直播平台的快速开发。…

《深入理解 Spring MVC 工作流程》

一、Spring MVC 架构概述 Spring MVC 是一个基于 Java 的轻量级 Web 应用框架,它遵循了经典的 MVC(Model-View-Controller)设计模式,将请求、响应和业务逻辑分离,从而构建出灵活可维护的 Web 应用程序。 在 Spring MV…

大数据新视界 -- 大数据大厂之 Impala 性能优化:融合人工智能预测的资源预分配秘籍(上)(29 / 30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

【MySQL-3】表的约束

目录 1. 整体学习的思维导图 2. 非空约束 3. default约束 4. No Null和default约束 5. 列描述 comment 6. Zerofill 7. 主键 primary key 复合主键 8. 自增长 auto_increment 9. 唯一键 10. 外键 11. 实现综合案例 1. 整体学习的思维导图 2. 非空约束 正如该标题一…

【Linux】Namespace

一、概念 Linux Namespace 是 Linux 内核提供的一种特性,用于对系统资源进行隔离。通过 Namespace,不同的进程组可以拥有独立的系统资源视图,即使它们在同一台物理机器上运行。这种隔离机制使得容器技术成为可能,因为它允许在单个…

在MATLAB中实现自适应滤波算法

自适应滤波算法是一种根据信号特性自动调整滤波参数的数字信号处理方法,其可以有效处理噪声干扰和信号畸变问题。在许多实时数据处理系统中,自适应滤波算法得到了广泛应用。在MATLAB中,可以使用多种方法实现自适应滤波算法。本文将介绍自适应…

Python学习------第十天

数据容器-----元组 定义格式,特点,相关操作 元组一旦定义,就无法修改 元组内只有一个数据,后面必须加逗号 """ #元组 (1,"hello",True) #定义元组 t1 (1,"hello") t2 () t3 tuple() prin…

软件测试—— Selenium 常用函数(一)

前一篇文章:软件测试 —— 自动化基础-CSDN博客 目录 前言 一、窗口 1.屏幕截图 2.切换窗口 3.窗口设置大小 4.关闭窗口 二、等待 1.等待意义 2.强制等待 3.隐式等待 4.显式等待 总结 前言 在前一篇文章中,我们介绍了自动化的一些基础知识&a…

Rust 力扣 - 746. 使用最小花费爬楼梯

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们使用a,b分别记录n - 2层向上爬的最小花费,n - 1层向上爬的最小花费 到达楼梯顶第N层,只能从N - 1层或者N - 2层向上爬 所以爬到第N层的最小花费 第N - 1层向上爬和第N - …

VRT: 关于视频修复的模型

VRT: 关于视频修复的模型 1. 视频修复的背景与重要性背景介绍:重要性: 2. VRT的重要性和研究背景VRT的背景:VRT的重要性: 3. 视频修复概述3.1 定义与目标3.2 与单图像修复的区别3.3 对时间信息利用的需求 4. VRT模型详解4.1 整体框…

关于C++地址交换的实现

关于地址的交换实现&#xff0c;我们要使用指针引用的方式进行&#xff0c;例如&#xff1a; #include <iostream>// 定义函数交换两个整型指针的地址 void swapIntPtrAddresses(int* &ptr1, int* &ptr2) {int *temp ptr1;ptr1 ptr2;ptr2 temp; }int main() …

HarmonyOS ArkUI(基于ArkTS) 常用组件

一 Button 按钮 Button是按钮组件&#xff0c;通常用于响应用户的点击操作,可以加子组件 Button(我是button)Button(){Text(我是button)}type 按钮类型 Button有三种可选类型&#xff0c;分别为胶囊类型&#xff08;Capsule&#xff09;、圆形按钮&#xff08;Circle&#xf…

SpringBoot学习笔记(一)

一、Spring Boot概述 &#xff08;一&#xff09;微服务概述 1、微服务 微服务&#xff08;英语&#xff1a;Microservices&#xff09;是一种软件架构风格&#xff0c;它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础&#xff0c;利用模块化的方式…