【超详细】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.mzph.cn/news/113626.shtml

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

相关文章

SoftPlc on docker 测试

Swagger 返回的数据 为 Base64编码,要查看 用下面的在线工具转换HEX Base64 to Hex | Base64 Decode | Base64 Converter | Base64 软件主页https://github.com/fbarresi/SoftPlc 安装 docker stop softplc docker rm softplc docker pull fbarresi/softplc:lat…

全网最丑焊锡教程(仅排针焊接心得)

一直以来玩各种开发板,焊接水平太差始终是阻碍我买性价比高的板子的最大原因。淘宝上好多芯片搭载上肥猪流板子是不包排针焊接的。终于下定决心要克服这个困难。不过,只是会焊接排针在高手面前最好不要说自己会焊锡,这应该是两码事。 首先上…

高级软件工程师职业发展路径及适学人群

大数据赋能产业,改变人与场景的交互方式,随着大数据在各行各业融合应用的不断深化,预计2020年中国大数据市场市值将突破10000亿元。 未来发展,大数据应用范围越加宽广,包括:新零售、旅游、广告、电商…

【javascript】内部引入与外部引入javascript

创建a.html 内部引入&#xff1a; 外部引入&#xff1a; 创建a.js 注意&#xff1a; 我这里的a.js和a.html是放在同一个目录下&#xff0c;如果a.js放在js的目录下&#xff0c;a.html 调用a.js的时候 <script src"/js/a.js"></script>

【疯狂Java讲义】Java学习记录(IO流)

IO流 IO&#xff1a;Input / Output 完成输入 / 输出 应用程序运行时——数据在内存中 ←→ 把数据写入硬盘&#xff08;磁带&#xff09; 内存中的数据不可持久保存 输入&#xff1a;从外部存储器&#xff08;硬盘、磁带、U盘&#…

BERT变体(1):ALBERT、RoBERTa、ELECTRA、SpanBERT

Author:龙箬 Computer Application Technology Change the World with Data and Artificial Intelligence ! CSDNweixin_43975035 天下之大&#xff0c;虽离家万里&#xff0c;何处不可往&#xff01;何事不可为&#xff01; 1. ALBERT \qquad ALBERT的英文全称为A Lite versio…

C# 文件 校验:MD5、SHA1、SHA256、SHA384、SHA512、CRC32、CRC64

文件 校验 算法:MD5、SHA1、SHA256、SHA384、SHA512、CRC32、CRC64 (免费) 编程语言:C# 功能:文件 哈希 属性 校验算法:MD5、SHA1、SHA256、SHA384、SHA512、CRC32、CRC64。 下载(免费):https://download.csdn.net/download/polloo2012/88450148 本程序 File Pro…

工程监测仪器振弦传感器信号转换器在桥梁安全监测中的重要性

工程监测仪器振弦传感器信号转换器在桥梁安全监测中的重要性 桥梁是人类社会建设过程中最重要的交通基础设施之一&#xff0c;对于保障人民出行、促进经济发展具有极其重要的作用。由于桥梁结构在长期使用过程中受到环境因素和负荷的影响&#xff0c;会逐渐发生变形和损伤&…

python读写.pptx文件

1、读取PPT import pptx pptpptx.Presentation(rC:\Users\user\Documents\\2.pptx) # ppt.save(rC:\Users\user\Documents\\1.pptx) # slideppt.slides.add_slide(ppt.slide_layouts[1])# 读取所有幻灯片上的文字 for slide in ppt.slides:for shape in slide.shapes:if shape…

vue ref和$refs获取dom元素

vue ref和$refs获取dom元素 **创建 工程&#xff1a; H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门到实战-配套资料\01-随堂代码素材\day04\准备代码\14-ref和$refs获取dom对象 vue --ve…

【OpenVINO】行人摔倒检测 — 基于 OpenVINO C# API 部署PP-Human-上篇

行人摔倒检测 — 基于 OpenVINO C# API 部署PP-Human 1. 英特尔开发套件1.1 OpenVINO1.2 AIxBoard 介绍产品定位产品参数AI推理单元 2. PaddleDetection实时行人分析工具PP-Human3. 预测模型获取与转换3.1 PP-YOLOE行人跟踪模型介绍模型下载与转换&#xff08;1&#xff09;Pad…

2023年传媒行业中期策略 AIGC从三个不同层次为内容产业赋能

基本面和新题材共振&#xff0c;推动传媒互联网行情上涨 AIGC 概念带动&#xff0c;传媒板块领涨 A 股 2023 年第一个交易日&#xff08;1 月 3 日&#xff09;至 6 月 2 日&#xff0c;申万传媒指数区间涨幅高达 48.38%&#xff0c;同时期沪深 300 跌幅为 0.25%&#xff0c;…

centos7 部署oracle完整教程(命令行)

centos7 部署oracle完整教程&#xff08;命令行&#xff09; 一. centos7安装oracle1.查看Swap分区空间&#xff08;不能小于2G&#xff09;2.修改CentOS系统标识 (由于Oracle默认不支持CentOS)2.1.删除CentOS Linux release 7.9.2009 (Core)&#xff08;快捷键dd&#xff09;&…

【公众号开发】图像文字识别 · 模板消息推送 · 素材管理 · 带参数二维码的生成与事件的处理

【公众号开发】&#xff08;4&#xff09; 文章目录 【公众号开发】&#xff08;4&#xff09;1. 图像文字识别功能1.1 百度AI图像文字识别接口申请1.2 查看文档学习如何调用百度AI1.3 程序开发1.3.1 导入依赖&#xff1a;1.3.2 公众号发来post请求格式1.3.3 对image类型的消息…

Python---死循环概念---while True

在编程中一个靠自身控制无法终止的程序称为“死循环”。 在Python中&#xff0c;我们也可以使用while True来模拟死循环&#xff1a; 代码&#xff1a; while True: print(每天进步一点点) 图示 应用&#xff1a; 比如&#xff0c;在测试里面&#xff0c;自动化测试用例…

解析Apache Kafka中的事务机制

这篇博客文章并不是关于使用事务细节的教程&#xff0c;我们也不会深入讨论设计细节。相反&#xff0c;我们将在适当的地方链接到JavaDocs或设计文档&#xff0c;以供希望深入研究的读者使用。 为什么交易? 我们在Kafka中设计的事务主要用于那些显示“读-进程-写”模式的应用…

jenkins 原理篇——pipeline流水线 声明式语法详解

大家好&#xff0c;我是蓝胖子&#xff0c;相信大家平时项目中或多或少都有用到jenkins&#xff0c;它的piepeline模式能够对项目的发布流程进行编排&#xff0c;优化部署效率&#xff0c;减少错误的发生&#xff0c;如何去写一个pipeline脚本呢&#xff0c;今天我们就来简单看…

laravel中锁以及事务的简单使用

一、首先来说一下什么是共享锁&#xff1f;什么是排他锁&#xff1f; 共享&#xff1a;我可以读 写 加锁 , 别人可以 读 加锁。 排他&#xff1a;只有我 才 可以 读 写 加锁 , 也就是说&#xff0c;必须要等我提交事务&#xff0c;其他的才可以操作。 二、简单例子实现加锁 锁…

C#中List、Dictionary、HashSet用法以及区别

前言 在C#编程中&#xff0c;List、Dictionary和HashSet是常用的集合类型,它们都有自己的特点和适用场景。本篇博客将介绍它们的用法、区别及常见操作。深入了解这些集合类型&#xff0c;能够帮助我们更好地组织和处理数据。 1. List: List是一个有序可重复集合&#xff0c;可…

【mysql】关于mysql的数据结构特点 索引特点

文章目录 二叉树红黑树 b treehash结构b tree索引存放特点myisamInnoDB 最左原则主键相关知识点缓存池淘汰机制 前言&#xff1a;翻自己博客 发现缺少mysql数据结构和索引相关内容 两年前整理的mysql知识点 一直存在于博主的笔记本里面 &#xff08;是的 纸质的那种笔记本 不是…