【超详细】CentOS 7安装MySQL 5.7【安装及密码配置、字符集配置、远程连接配置】

准备工作:CentOS 7系统,并确保可以联通网络

1、获取MySQL 5.7 Community Repository软件包

注意:这里使用的是root用户身份。

wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

在这里插入图片描述

2、安装软件包

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

在这里插入图片描述

3、安装MySQL服务

cd /etc/yum.repos.d

这里先切换到yum软件仓库配置文件的目录,接下来使用yum包管理器安装MySQL服务,命令如下:

yum -y install mysql-server

在这里插入图片描述

这里因为软件包比较大,可能需要一点时间。

到这里,如果安装的时候出现公钥尚未安装的问题,请不要着急,根据下面的步骤来解决问题。如果没有问题的话则直接进行步骤4。

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

在这里插入图片描述

首先,执行上面的命令;该命令的作用是导入MySQL软件仓库的GPG公钥。
在软件仓库中使用GPG公钥可以确保软件包的完整性和认证,以防止未经授权的修改或潜在的风险。

紧接着,重新执行一下安装服务的命令。

yum -y install mysql-server

在这里插入图片描述

4、操作MySQL服务

如果你没有出现公钥尚未安装的问题,就正常继续往下。

首先,启动MySQL服务,并设置开机自动启动。

# 启动服务
systemctl start mysqld
# 查看状态
systemctl status mysqld
# 设置开机自动启动
systemctl enable mysqld

如果启动状态如下,则说明MySQL服务已经正常运行了。
在这里插入图片描述

5、查看进程

ps -ef | grep mysql

在这里插入图片描述

6、登录及密码配置

(1)、首先,查看安装后随机生成的MySQL密码。

grep 'A temporary password' /var/log/mysqld.log

在这里插入图片描述
这里的密码建议先进行复制,后面直接黏贴,不推荐手动输入。

(2)、接着,登录MySQL数据库。

mysql -uroot -p

在这里插入图片描述
在上面的图片中,在输入密码处黏贴前面复制的密码。

特别注意:由于密码不是明文显示的,所以不会直接显示,不要以为是键盘坏了或者什么情况。

(3)、修改验证密码的强度等级和长度

由于不支持设置简单的密码,如果出于学习的目的,想设置简单好记的密码,就需要进行下面的操作。

建议:工作环境下不建议设置简单密码。

首先执行修改验证密码强度等级的命令,将等级设置为LOW,也就是低级的。命令如下:

set global validate_password_policy=LOW;

在这里插入图片描述
接着设置密码的长度,这里需要设置多少位数的简单密码就设置多少位数,我这里设置密码为123456,所以设置长度为6。

set global validate_password_length=6;

在这里插入图片描述

到了这里,就能执行设置密码的命令了。

ALTER USER USER() IDENTIFIED BY '123456';

在这里插入图片描述
最后,退出数据库,尝试用设置的新密码进行登录。

在这里插入图片描述
重新进入数据库,可以执行一下简单的命令测试一下。

show databases;

7、字符集编码配置

首先,查看一下默认的字符集编码;

show variables like '%char%';

在这里插入图片描述
接着,退出MySQL,停止MySQL服务,再编辑配置文件。

systemctl stop mysqld

紧接着,开始修改配置文件。

vi /etc/my.cnf

在配置文件中找到[client]部分开始的内容,修改如下。

# [client]
# 设置字符编码
default-character-set=utf8
# [mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

如果没有这一部分,则直接进行添加。
在这里插入图片描述

修改完成后,保存配置文件,并重启MySQL服务。

systemctl restart mysqld

这里暂时跳过编码测试的情况,后面远程连接后直接测试中文的情况。

8、配置远程连接

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

在这里插入图片描述

这个SQL命令的作用是授予具有完全权限的root用户从任何地方连接到数据库,密码为123456,并允许其执行任何数据库操作。这是非常强大的权限,因此在生产环境中应该小心使用,并确保只授予必要的权限以减少潜在的安全风险。

上面的命令如果执行出现如下错误,则参考下方的图片进行处理即可。

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

在这里插入图片描述
最后,执行一下下面的命令。

FLUSH PRIVILEGES;

在这里插入图片描述

该命令是一个SQL命令,它的作用是重新加载访问控制权限,以确保最新的授权更改生效。

9、配置防火墙规则

配置完远程连接权限后,需要配置一下防火墙规则。

首先查看防火墙的状态,确保防火墙处于启动状态。

systemctl status firewalld

在这里插入图片描述
接着,配置防火墙规则,命令如下:

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

在这里插入图片描述

这个命令的作用是将TCP端口3306添加到公共防火墙,3306端口通常用于MySQL数据库服务,这是允许从外部网络连接到MySQL服务器的重要一步。

其中,参数–permanent表示设置为永久性的,即系统重启后仍然保留此规则。

开放3306端口后,重新载入一下防火墙规则,执行如下命令:

firewall-cmd --reload

在这里插入图片描述
到这里,就需要获取一下系统的IP地址,执行命令如下:

ifconfig

在这里插入图片描述

记住上面的IP地址,接下来就使用数据库连接工具Navicat进行连接。

在这里插入图片描述

上面的图片中,“主机”输入CentOS系统的IP地址,端口使用3306,因为前面防火墙开放MySQL服务使用的是3306端口,用户名即数据库的用户名,密码即数据库的密码。

保证输入正确后,点击连接测试,软件弹出连接成功。

10、测试建库建表和字符集

使用Navicat远程连接到数据库后,手动进行建库建表的操作,建表如下:
在这里插入图片描述
类型注意使用字符串类型,方便后面的测试。

表格创建完成后,插入任意中文字符数据。

在这里插入图片描述

数据插入后,回到Linux端,在MySQL数据库中查询数据表的数据,以验证中文字符集是否正常,保证中文字符不会出现乱码的情况。

附:

MySQL版本查看命令

mysql -V

在这里插入图片描述
可见版本是5.7.43,其实早在第一步获取软件包的命令中就已经指定了安装MySQL 5.7的版本了。

到这里一切操作就完美结束了!!!

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

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

相关文章

华为荣耀手机,开启开发者选项,hbuilder调试依然找不到

我的手机是华为荣耀50,其他华为手机不知道是不是这个问题哦 解决办法:usb配置,选择音频来源 然后就可以了

2020年江西省职业院校技能大赛高职组“信息安全管理与评估”赛项任务书样题

2020年江西省职业院校技能大赛高职组 “信息安全管理与评估”赛项任务书 样题 赛项时间 9:00-12:00,共计3小时。 赛项信息 赛项内容 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段 平台搭建与安全设备配置防护 任务1 网络平台搭建 9:00-12:00 1…

MS17010(永恒之蓝)漏洞实战

曾因苦难多壮志,不教红尘惑坚心。 工具检测 实战过程 使用搜索命令,搜索ms17_010 search ms17_010 搜索网段中主机漏洞 use auxiliary/scanner/smb/smb_ms17_010 照例,show options 看一下配置 设置网段,run运行就行了 使用攻…

浅谈云原生

目录 1. 云原生是什么? 2. 云原生四要素 2.1 微服务 2.2 容器化 2.3 DevOps 2.4 持续交付 3. 具体的云原生技术有哪些? 3.1 容器 (Containers) 3.2 微服务 (Microservices) 3.3 服务网格 (Service Meshes) 3.4 不可变基础设施 (Immutable Inf…

Debian衍生桌面项目SpiralLinux12.231001发布

导读SpiralLinux 是一个从 Debian 衍生出来的桌面项目,其重点是在所有主要桌面环境中实现简洁性和开箱即用的可用性。 spiral Linux 是为刚接触 Linux 世界的人们量身定制的发行版。这是 GeckoLinux 开发人员的创意,他更喜欢保持匿名。尽管他不愿透露姓…

网安周报|OpenSSF 推出恶意软件包存储库

1.OpenSSF 推出恶意软件包存储库 为了应对恶意开源软件包日益增长的威胁,开源安全基金会 ( OpenSSF ) 推出了一项名为“恶意软件包存储库”的新计划。该存储库可能会成为打击恶意代码的主要参与者,旨在增强开源软件生态系统的安全性和完整性。该存储库已…

linux-守护进程daemon

linux-守护进程daemon 代码实现 main.c运行结果 代码实现 main.c //pName&#xff1a;程序名 //facility&#xff1a; 守护进程&#xff0c;输出日志类型 302页 #include<signal.h> #include<syslog.h> #include<fcntl.h> static int daemon_proc 0; #defin…

景联文科技语音数据标注:AUTO-AVSR模型和数据助力视听语音识别

ASR、VSR和AV-ASR的性能提高很大程度上归功于更大的模型和训练数据集的使用。 更大的模型具有更多的参数和更强大的表示能力&#xff0c;能够捕获到更多的语言特征和上下文信息&#xff0c;从而提高识别准确性&#xff1b;更大的训练集也能带来更好的性能&#xff0c;更多的数据…

数据结构-----图(graph)的储存和创建

目录 前言 图的储存结构 1.邻接矩阵 无向图的邻接矩阵 有向图的邻接矩阵 网&#xff08;赋权图&#xff09;的邻接矩阵 代码表示 2.邻接表 无向图的邻接表 有向图的邻接表 代码表示 3.邻接矩阵和邻接表对比 邻接矩阵 邻接表 图的创建 1.邻接矩阵创建图&#xff0…

原子核内的相互作用

原子核内的相互作用 氘核基态 和态的混合 核子-核子散射 低能核子-核子散射 n-p散射&#xff1a;只有核力 p-p散射&#xff1a;较复杂 n-n散射&#xff1a;n-n散射没有直接实验 低能 p-p 散射和核力的电荷无关性 高能核子-核子散射 核力的主要性质 核力主要性质 核力是短程力…

国旗升降系统程序及原理图资料

本文主要介绍国旗升降系统设计程序及原理图&#xff08;完整资料见文末链接&#xff09; 系统原理图如下&#xff0c;程序资料见文末 附完整资料链接 百度网盘链接: https://pan.baidu.com/s/1Q5J2J8LgVJ-hoeTSVP95_g?pwd3qkw 提取码: 3qkw

js鼠标点击添加图标并获取图标的坐标值

给这个图片添加摄像头图标&#xff0c;并获取图标的坐标值&#xff0c;也就是图标的css样式是positon:absolute,获取left和top的值。 图片1 思路是这样的&#xff0c;获取这里的长度&#xff0c; 图片2 1.鼠标点击时距浏览器的左边距离和上边距离&#xff0c;相当于(0,0)坐标 …

零基础搭建个人网站详细流程

最近两天&#xff0c;为了给自己的工具类APP备案&#xff0c;买了阿里云ECS和域名。虽然很想说离线工具APP不用联网&#xff0c;但是现实就很无语。言归正传&#xff0c;既然买了总不能将它们闲置着&#xff0c;就诞生了建站的想法&#xff0c;至少还能放个用户协议和隐私协议。…

『ARM』和『x86』处理器架构解析指南

前言 如果问大家是否知道 CPU&#xff0c;我相信不会得到否定的答案&#xff0c;但是如果继续问大家是否了解 ARM 和 X86 架构&#xff0c;他们的区别又是什么&#xff0c;相信可能部分人就会哑口无言了 目前随着深度学习、高性能计算、NLP、AIGC、GLM、AGI 的技术迭代&#…

【c语言】atoi的模拟实现

1.头文件 atoi() 是 C语言的一个标准库函数&#xff0c;定义在<stdlib.h>头文件中 2.atoi的解析 具体来讲&#xff0c;atoi() 函数首先会丢弃尽可能多的空白字符&#xff0c;直至找到第一个非空白字符&#xff0c;然后从该字符开始&#xff0c;识别 “”、“-” 以及 …

【脉冲通信】用于空间应用的飞秒脉冲通信的符号误码率模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

TCP通信实战:模拟BS系统

1、之前的客户端都是什么样的 其实就是CS架构&#xff0c;客户端是需要我们自己开发实现的 2、BS结构是什么样的&#xff0c;需要开发客户端吗&#xff1f; 浏览器访问服务端&#xff0c;不需要开发客户端 注意&#xff1a;服务端必须给浏览器响应HTTP协议格式的数据&#xff0…

[swift刷题模板] 树状数组(BIT/FenwickTree)

[TOC]([swift刷题模板] 树状数组(BIT/FenwickTree) ) 一、 算法&数据结构 1. 描述 [python刷题模板] 树状数组 二、 模板代码 1. 单点赋值(增加)&#xff0c;区间求和(PURQ) 例题: 307. 区域和检索 - 数组可修改 class BIT {var c: [Int]var n: Int init(_ n: Int){c…

基于SpringBoot的招生管理系统

基于SpringBoot的招生管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 登录界面 管理员界面 用户界面 摘要 基于SpringBoot的招生管理系统是一款现…

node快速搭建一个学习资料共享平台

概述 本文要实现的功能比较简单&#xff1a;1、将想要共享的文件分文件夹的组织起来&#xff1b;2、别人可以通过界面进行搜索&#xff1b;3、可以在线预览或下载文件。基于这样的需求&#xff0c;本文分享通过node如何实现这样的功能。 实现效果 实现 1. node端服务 node端…