我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

这是参考msyql官方文档编写的(网上有各种教程,各有各的特点和技巧,但以官方文档为主要参考是最靠谱的)

注:适用于首次安装。 如果系统上有以前安装的版本,官方文档的同一章节也有如何升级和替换的说明。 这里我不重点讨论它。

①msyql官方指南点击这里(强烈建议打开这个并按照操作);

② 安装完成后,修改代码、重置密码、开放端口请参考:在Linux上安装MySQL

目录

安装前的准备1.可以考虑更换国内的yum镜像

根据我作为老中医多年的经验,当你需要从某些仓库下载某些包时,最好先看看如何替换国内镜像(不然下载会很慢,还会出现更新时遗漏了一些项目)导致最终项目报告出现莫名其妙的错误); 所以,yum镜像源更换可以参考:yum更换国内镜像源

我的环境是一台ECS服务器,系统镜像是阿里巴巴自家的Cloud Linux 2镜像(阿里巴巴自家的Linux系统版本,详情参见这个-Cloud Linux概述),该镜像默认使用阿里巴巴自家的yum。 源,您不再需要手动更改它。

2.检查您的Linux内核版本

这主要是安装mysql时在官网选择合适的yum源。

查看内核版本请参考:查看Linux内核版本

实施

cat /proc/version
或者
hostnamectl

我的内核版本是Linux 4.19.91-25.6.al7。

是64位的linx4.19版本(x86是32位,也就是64位)

关键点是al7。 如果你使用它,它可能以 el 开头。 如果你使用它,情况可能会有所不同。 欢迎在留言区补充。

找了好久关于内核版本号的解释,这篇文章还是比较详细的。

Linux内核版本介绍及查询。 如果我一遍又一遍地复制它,大多数其他东西几乎都是一样的。 整天抄袭真是无耻。

安装过程 1.从mysql官网获取yum源

mysql官方下载页面:

yum仓库

根据你的内核版本,选择合适的yum仓库

在这里插入图片描述

这里选择哪一个是一个问题(可能你选哪一个都没关系……),但是原因应该根据你的内核版本而定。

比如你的内核版本是...XX.el7.,就选择图中的第二个即可。

但我这里比较困惑,我是Linux 4.19.91-25.6.al7.,

很难说为此选择哪个内核。 我还问了他们云服务器的客服,他说任何一台都可以。 ? ? ? ! ! !

最后我选择了第二个,el7。 因为我在阿里巴巴Linux镜像的介绍中看到了这样一句话:

Alibaba Cloud Linux2 简介

也就是说阿里巴巴的Linux镜像是兼容的,所以可以理解为al7 ≈ el7?! 无论如何,我选择了第二个。 如果有同学使用其他Linux内核版本,希望您留言一下您最终选择的是哪个rpm包。

简而言之,下载后,将这个文件上传到你的Linux服务器上。

上传到linux

2.使用yum安装mysql

对于安装mysql的步骤,强烈建议按照我刚刚发出来的mysql官方指南中的步骤进行操作。 他对每一步都有详细的解释。 我在这里仅简单介绍一下。

1.添加mysql yum源

cd 到你上传rpm包的目录。

将你下载的mysql yum源(这个rpm包)添加到你系统的yum源中。

cd /your_rpm_root/
sudo rpm -Uvh mysql80-community-release-el7-5.noarch.rpm(前面换成你自己的rpm包名)

添加yum源

2.选择需要安装的mysql版本

添加yum源后,如果不做任何操作直接安装,会默认安装最新的mysql版本,即.0的最新版本。

我这里由于兼容性问题需要使用.7,所以需要更改配置(如果想直接安装8.0版本,可以跳过这一步):

以下语句用于查看当前mysql yum源下有哪些子源(不同的mysql版本使用不同的子源)

yum repolist all | grep mysql

我在上图中展示了这个语句的结果。 可以看到.0仓库默认是启用的。

有两种方法可以启用 5.7 和禁用 8.0。 一种是使用命令修改*/etc/yum.repos.d/mysql-.repo*文件。 另一种是直接修改这个文件XD。

sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql57-community

执行结果如图(可以看到值发生了变化——0表示关闭,1表示打开)

然后执行view语句可以看到mysql 5.7已经启用,8.0已经禁用。

yum repolist all | grep mysql

在这里插入图片描述

3*、el8版本内核需要的额外操作

也就是说el8版本的Linux默认有一个mysql模块,这个模块会覆盖我们刚刚添加的mysql yum源提供的一些包。 所以这个模块应该被禁用。

我不确定是否可以用el8版本的内核执行。 我尝试了一下,最多就是说找不到命令。

sudo yum module disable mysql

4.安装mysql

sudo yum install mysql-community-server

如果你使用国内的镜像,这一步安装起来应该很快,比直接从官网下载mysql压缩包(600多M)还要快。

没什么好说的,就是一路走好。

5.启动msyql服务

开启服务
systemctl start mysqld
查看状态
systemctl status mysqld

安装部分现已完成。 您可以在这里阅读官方安装文档。 以下是一些配置 - 更改密码、启用远程服务、打开防火墙端口......

6.更改默认密码

mysql服务第一次启动时,会默认创建一个“超级管理账户”——'root'@'',即使用root账户在本地登录。

该帐户的默认密码将存储在日志中。 使用以下命令将其删除。

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

获取该密码后,登录mysql服务并修改密码。

登录
mysql -uroot -p
改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

修改密码

上面也可以看到,我第一次改的密码太简单了,所以他给我抛出了一个ERROR。 我第二次就按照他的规则改了,成功了。

这是因为mysql有密码验证插件。 您的密码必须至少包含 1 个大写字母、1 个小写字母、1 个数字、1 个特殊字符,且长度至少为 8 个字符。

validate_pugin

您也可以自行修改此身份验证策略。 事实上,没有必要。 如果确实需要简单的密码,可以参考:ERROR 1819 密码策略修改

7.创建远程访问用户

建用户
create user 'root'@'%' identified with mysql_native_password by '你的密码';
赋权限
grant all privileges on *.* to 'root'@'%' with grant option;
刷新用户权限
flush privileges;

超级管理账号root@用户只能本地登录。 这里创建的用户用%代替了超级管理,是一个可以从任意地址访问的用户。

在这里插入图片描述

8、打开防火墙的3306端口

服务器通常需要防火墙。 因此,虽然上面创建了可以远程登录的用户,但是如果想要远程进来,还是需要让防火墙知道允许什么样的访问。

mysql服务默认启动在3306端口,因此防火墙需要开放3306端口。

这里需要注意的事项:

常见的Linux防火墙有两种(我发现的比较多,可能是因为大多数博客互相抄袭),一种是服务型的,一种是服务型的。

它应该被一个相对较新的 Linux 版本取代 - 似乎是在未来。

简而言之,这里需要做的是:打开防火墙,然后添加规则,开放3306端口。

① 如果您是(即您有此服务,否则执行以下语句会提示没有此服务)

没开启的话先开启服务
systemctl start firewalld
查看状态
systemctl status firewalld 

开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent 
重新载入
firewall-cmd --reload

②如果是(则表示有该服务,否则执行以下语句会提示没有该服务)

先看下有没有这个服务
service iptables status

如果您的服务器开启了该服务,您可以参考以下文章开放3306端口:

如何在Linux中打开3306端口

③更多相关/命令请参考:

详细阐述和

9、配置mysql默认编码为utf-8

使用vim修改my.cnf文件(纯小白建议先熟悉一下vim操作)
vim /etc/my.cnf

添加以下配置

character_set_server=utf8
init_connect='SET NAMES utf8'

进行更改后,保存并使用 :wq 退出。 不要忘记重新启动 mysql 服务以使更改生效。

systemctl restart mysqld

重启后查看可以看到字符集已经变成utf-8了。

先登录mysql,再执行
mysql> show variables like '%character%';

修改字符集结果

10*。 安全组开放3306端口

在一般服务器上完成上述步骤后,无论你用什么客户端远程连接服务器上的数据库都没有问题。

但这里我使用的是服务器,所以需要一些额外的配置——阿里巴巴除了你的云服务器的防火墙之外还添加了自己的“防火墙”。 您需要告诉此防火墙打开端口 3306)

首先,您需要在控制台中创建一个安全组

建立安全组

然后点击将你的实例(也就是你的服务器)添加到这个安全组中

管理实例

好的,这样就连接成功了。

11、连接测试

连接成功

总结

说到从mysql官网选择yum源,elX内核是可以的。 我实在不知道其他Linux版本如何选择yum源。 真心希望同学们能够分享。

二维码
扫一扫在手机端查看

本文链接:https://by928.com/436.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线