在 Linux 系统中安装MySQL 8.x(Ubuntu和CentOS)

文章目录

  • 0. 前言
  • 1. 查看 Linux 的发行版本
  • 2. 在 Ubuntu 中安装MySQL 8.x
    • 2.1 更新包索引
      • 2.1.1 更改 Ubuntu 的镜像源
      • 2.1.2 更新软件包、升级软件包(耗时可能较长)
      • 2.1.3 可能遇到的问题
    • 2.2 安装MySQL
    • 2.3 安全配置
      • 2.3.1 密码安全级别
      • 2.3.2 删除匿名用户
      • 2.3.3 禁止远程 root 用户登录
      • 2.3.4 删除测试数据库以及对测试数据库的访问权限
      • 2.3.5 立即重新加载权限表
    • 2.4 创建新用户、修改用户的权限、修改用户密码
      • 2.4.1 查看 MySQL 当前有哪些用户
      • 2.4.2 创建一个新用户,用于远程访问
      • 2.4.3 修改用户的访问权限
      • 2.4.4 修改用户的密码
    • 2.5 查看 MySQL 的运行状态
    • 2.6 设置 MySQL 开机自启
    • 2.7 开放防火墙的 3306 端口
    • 2.8 修改MySQL远程连接配置
    • 2.9 创建数据库
    • 2.10 为用户赋予权限
    • 2.11 测试连接
  • 3. 在 CentOS 中安装MySQL 8.x
    • 3.1 配置 yum 仓库
    • 3.2 使用 yum 安装MySQL 8.x
    • 3.3 启动 MySQL 并设置 MySQL 开机自启
    • 3.4 检查 MySQL 的运行状态
    • 3.5 配置
      • 3.5.1 获得 root 用户的初始密码
      • 3.5.2 登录
      • 3.5.3 修改 root 用户的密码
    • 3.6 创建一个新用户,用于远程连接
    • 3.7 创建数据库
    • 3.8 为用户赋予权限
    • 3.9 开放防火墙的 3306 端口
    • 3.10 测试连接
    • 3.11 安全配置(可跳过)

0. 前言

在 Linux 系统中,可以通过 宝塔 等工具一键安装 MySQL,但是用 宝塔 安装 MySQL 8.x,对 Linux 的内存大小有限制(内存要大于等4G),解除这个限制比较麻烦,不建议使用

通用的安装方法就是通过指令安装,接下来为大家演示如何使用指令安装MySQL 8.x


本次演示使用的Linux版本为

  • Ubuntu 22.04 LTS
  • CentOS 7

Ubuntu 22.04 的下载地址:Ubuntu 22.04

在这里插入图片描述


CentOS 7 的下载地址:CentOS 7
在这里插入图片描述

1. 查看 Linux 的发行版本

输入以下指令查看 Linux 的发行版本

cat /etc/os-release

Ubuntu

在这里插入图片描述

CentOS

在这里插入图片描述

2. 在 Ubuntu 中安装MySQL 8.x

2.1 更新包索引

2.1.1 更改 Ubuntu 的镜像源

更新包索引前,先运行以下指令查看 Ubuntu 的镜像源

sudo cat /etc/apt/sources.list
  • 如果显示 Ubuntu 的镜像源为官方源(http://cn.archive.ubuntu.com/ubuntu/),先运行以下指令更改 Ubuntu 的镜像源
  • 如果不是官方源,可以跳过更改 Ubuntu 镜像源这一步
sudo vi /etc/apt/sources.list

先删除文件的所有内容(快捷键:dG),

再将以下内容(阿里云的 Ubuntu 镜像源)填充到文件中,最后保存文件

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

重启 NetworkManager 服务(一定要执行这条指令!!!

sudo systemctl restart NetworkManager

温馨提醒:如果在执行与 apt 有关的指令时遇到以下问题,请执行这条指令(sudo systemctl restart NetworkManager

在这里插入图片描述

2.1.2 更新软件包、升级软件包(耗时可能较长)

更新 apt 包管理器中的软件包列表

sudo apt update

升级系统中可升级的软件包

sudo apt upgrade -y

2.1.3 可能遇到的问题

  • 如果在更新包索引时遇到以下警告,是因为 Ubuntu 中安装了 docker ,但没有配置 docker 的 apt 镜像源
  • 没有配置镜像源,就会从 docker 官网下载 与 docker 相关的包 ,但 docker 官网的站点部署在国外,访问速度很慢,很容易连接超时,一旦连接超时就会给出警告

这些警告不影响我们安装 MySQL 8.x,可以忽略


运行sudo apt update指令时可能会遇到的警告信息

在这里插入图片描述


运行sudo apt upgrade -y指令时可能会遇到的警告信息

在这里插入图片描述


当然,如果你忍受不了这些警告信息,可以运行以下指令后再次执行更新包索引的指令

# 安装 curl 工具
sudo apt install curl
# 获取阿里云的 docker GPG 密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 阿里云的 docker apt 镜像源
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

2.2 安装MySQL

Ubuntu 18及以上的默认软件仓库已经包含MySQL 8.0,可以直接安装,无需添加额外的仓库

sudo apt install mysql-server -y

安装成功后运行以下指令查看 MySQL 的版本

mysql --version

在这里插入图片描述

2.3 安全配置

安装 MySQL 后,一个重要的步骤是执行安全配置脚本,提高 MySQL 服务器的安全性

sudo mysql_secure_installation

输入 y 开始进行安全配置

在这里插入图片描述


2.3.1 密码安全级别

在这里插入图片描述

密码安全级别有三个:

  • LOW(弱密码):长度至少要有8个字符
  • MEDIUM(中等强度密码):长度至少要有8个字符,需要包含数字、大小写字母以及特殊符号
  • STRONG(强密码):长度至少要有8个字符,包含数字、大小写字母、特殊符号,而且不能是容易被猜到的常见词汇

输入 0 代表使用弱密码,输入 1 代表使用中等强度密码,输入 2 代表使用强密码

2.3.2 删除匿名用户

在这里插入图片描述

输入 y 即可

2.3.3 禁止远程 root 用户登录

在这里插入图片描述

输入 y 即可

2.3.4 删除测试数据库以及对测试数据库的访问权限

在这里插入图片描述

输入 y 即可

2.3.5 立即重新加载权限表

在这里插入图片描述

输入 y 即可


显示All done!就代表配置成功了

2.4 创建新用户、修改用户的权限、修改用户密码

先在终端中打开MySQL

sudo mysql

2.4.1 查看 MySQL 当前有哪些用户

SELECT user,host FROM mysql.user;

在这里插入图片描述

所有用户默认都是 localhost 访问权限,只能本地访问,不能远程访问

2.4.2 创建一个新用户,用于远程访问

不建议使用 root 用户进行远程访问,可以创建一个新用户进行远程访问

CREATE USER 'wuyanzu'@'%' IDENTIFIED BY '!UpuSZAxG#1&2^cG';

2.4.3 修改用户的访问权限

先切换到 mysql 数据库

use mysql

使用以下指令更改用户的访问权限

  1. localhost代表只能在本地访问
  2. %是一个通配符,代表root用户可以从任何主机连接到数据库服务器
update user set host = 'localhost' where user = 'root';
update user set host = '%' where user = 'root';

重新加载权限表

flush privileges;

2.4.4 修改用户的密码

以 root 用户为例

ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '_1Ejz8T#jiaarKz^';

如果遇到以下错误,是因为你的密码太简单了,达不到你选择的密码安全级别的标准

在这里插入图片描述

2.5 查看 MySQL 的运行状态

先退出 mysql

exit;

查看 MySQL 的运行状态

systemctl status mysql

在这里插入图片描述

2.6 设置 MySQL 开机自启

sudo systemctl enable mysql

在这里插入图片描述

2.7 开放防火墙的 3306 端口

  1. 如果你使用的是云服务器,在安全组中放行 3306 端口
  2. 如果你安装了宝塔,除了在安全组中放行 3306 端口,还要在宝塔中放行 3306 端口

完成以上两个操作后,输入以下指令开放 3306 端口

sudo ufw allow 3306
sudo ufw reload

2.8 修改MySQL远程连接配置

先安装 vim 编辑器

sudo apt install vim -y

如果要远程访问MySQL,需要修改以下配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在这里插入图片描述

127.0.0.1改为0.0.0.0

0.0.0.0

重启 MySQL 服务

sudo systemctl restart mysql

2.9 创建数据库

先以 root 用户登录到 MySQL

mysql -u root -p
CREATE DATABASE IF NOT EXISTS blog;

查看所有数据库

SHOW DATABASES;

2.10 为用户赋予权限

GRANT ALL PRIVILEGES ON blog.* TO 'wuyanzu'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  1. ALL PRIVILEGES表示赋予该用户所有权限(insert、delete、select、update)
  2. blog代表名为 blog 的数据库
  3. blog.*代表 blog 数据库中的所有表

授予 wuyanzu 用户所有数据库的权限(不推荐使用)

GRANT ALL PRIVILEGES ON *.* TO 'wuyanzu'@'%' WITH GRANT OPTION;
# 刷新权限列表
FLUSH PRIVILEGES;

2.11 测试连接

通过 Navicat 等工具连接MySQL

在这里插入图片描述

3. 在 CentOS 中安装MySQL 8.x

注意:安装操作需要 root 权限

3.1 配置 yum 仓库

# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
# 安装 Mysql8.x 版本的 yum 库
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

3.2 使用 yum 安装MySQL 8.x

yum -y install mysql-community-server

安装成功后运行以下指令查看 MySQL 的版本

mysql --version

在这里插入图片描述

3.3 启动 MySQL 并设置 MySQL 开机自启

# 启动 MySQL
systemctl start mysqld
# 设置 MySQL 开机自启
systemctl enable mysqld

3.4 检查 MySQL 的运行状态

设置时区为上海时区(可忽略)

timedatectl set-timezone Asia/Shanghai
systemctl status mysqld

在这里插入图片描述

3.5 配置

3.5.1 获得 root 用户的初始密码

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

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

在这里插入图片描述

3.5.2 登录

使用初始密码登录 root 用户

mysql -u root -p

登录成功后的界面

在这里插入图片描述

3.5.3 修改 root 用户的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '&EAx3s%WJzgbT7GW';

密码需要符合以下规则:

  • 大于8位
  • 有大写字母,有特殊符号

请妥善保管好密码

3.6 创建一个新用户,用于远程连接

不建议使用 root 用户进行远程访问,可以创建一个新用户进行远程访问

create user 'wuyanzu'@'%' IDENTIFIED WITH mysql_native_password BY 'v&!w7Eik6cmt#Uff';

3.7 创建数据库

CREATE DATABASE IF NOT EXISTS blog;

3.8 为用户赋予权限

GRANT ALL PRIVILEGES ON blog.* TO 'wuyanzu'@'%' WITH GRANT OPTION;
  1. ALL PRIVILEGES表示赋予该用户所有权限(insert、delete、select、update)
  2. blog代表名为 blog 的数据库
  3. blog.*代表 blog 数据库中的所有表
# 刷新权限列表
FLUSH PRIVILEGES;

授予 wuyanzu 用户所有数据库的权限(不推荐使用)

GRANT ALL PRIVILEGES ON *.* TO 'wuyanzu'@'%' WITH GRANT OPTION;
# 刷新权限列表
FLUSH PRIVILEGES;

3.9 开放防火墙的 3306 端口

  1. 如果你使用的是云服务器,在安全组中放行 3306 端口
  2. 如果你安装了宝塔,除了在安全组中放行 3306 端口,还要在宝塔中放行 3306 端口

完成以上两个操作后,输入以下指令开放 3306 端口

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

查看当前防火墙开放了哪些端口

sudo firewall-cmd --zone=public --list-ports

3.10 测试连接

通过 Navicat 等工具连接MySQL

在这里插入图片描述

3.11 安全配置(可跳过)

参考本文的 2.3 安全配置 章节


进行安全配置前需要输入 root 用户的密码

输入 root 用户的密码后会询问我们是否要修改 root 用户的密码,我们输入 n 即可

在这里插入图片描述

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

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

相关文章

6.Dockerfile及Dockerfile常用指令

Dockerfile是构建docker镜像的脚本文件 Dockerfile有很多的指令构成,指令由上到下依次运行。 每一条指令就是一层镜像,层越多,体积就越大,启动速度也越慢 井号开头的行是注释行。指令写大写写小写都行,但一般都写为…

ubuntu上通过修改grub启动参数,将串口重定向到sol

要修改 GRUB 启动参数以实现串口重定向到 Serial Over LAN (SOL),你需要编辑 /etc/default/grub 文件,并更新 GRUB 配置。这里是详细步骤: 1. 编辑 /etc/default/grub 打开终端并使用文本编辑器(如 nano 或 vim)编辑…

介绍 Elasticsearch 中的 Learning to Tank - 学习排名

作者:来自 Elastic Aurlien Foucret 从 Elasticsearch 8.13 开始,我们提供了原生集成到 Elasticsearch 中的学习排名 (learning to rank - LTR) 实现。LTR 使用经过训练的机器学习 (ML) 模型为你的搜索引擎构建排名功能。通常,该模型用作第二…

关于Flume和Flink

看起来都能处理实时数据 想象一下你家的厨房,Flume就像是那个负责把食材从冰箱里取出来、清洗干净、切好并准备好放在砧板上的厨师助手。而Flink则像是那个真正的主厨,他拿到准备好的食材,开始烹饪,加入调料,做出美味…

谈人工智能在电子档案系统的应用

引言 随着人工智能技术的飞速发展,其在电子档案系统中的应用正逐渐成为学术研究和实际应用的热点。本文旨在探讨人工智能在电子档案系统中的应用现状、优势以及面临的挑战,并展望未来的发展方向。通过分析当前档案管理面临的挑战,以及人工智…

nginx代理缓存

在服务器架构中,反向代理服务器除了能够起到反向代理的作用之外,还可以缓存一些资源,加速客户端访问,nginx的ngx_http_proxy_module模块不仅包含了反向代理的功能还包含了缓存功能。 1、定义代理缓存规则 参数详解: p…

PX4 1.14 Ubuntu22.04 ROS2 Humble 虚拟机镜像 下载

仿真测试视频: px4 ubuntu22.04 test 下载地址(付费内容,不能接受请勿下载): 链接:https://pan.baidu.com/s/1YTK4AQj7MRBo3-xX2s_76Q?pwdrmsg 提取码:rmsg

vue2使用g6,G6

1安装 cnpm install --save antv/g63.4.82、代码&#xff0c;简单使用 <template><div>3333<div id"mountNode"></div></div> </template> <script> import G6 from antv/g6 export default {data() {return {}},comput…

减分虎-交管12123学习题目及答案

学法减分是对驾驶证已经存在的记分进行减免&#xff0c;并不是给驾驶证进行加分&#xff0c;不是代替违章扣分。学法免费获取的分值正是对扣分记录的清除。比如违章被扣6分&#xff0c;通过学法免分考试把6分清空重新开始。 学法减分政策为驾驶员提供了一次难得的加分机会。然而…

WordPress 6.6 “Dorsey多尔西”发布

WordPress 6.6 “Dorsey多尔西”已经发布&#xff0c;它以传奇的美国大乐队领袖 Tommy Dorsey 名字命名。Dorsey 以其音调流畅的长号和作品而闻名&#xff0c;他的音乐以其情感深度和充满活力的能量吸引了观众。 当您探索 WordPress 6.6 的新功能和增强功能时&#xff0c;让您的…

MBR40150FCT-ASEMI无人机专用MBR40150FCT

编辑&#xff1a;ll MBR40150FCT-ASEMI无人机专用MBR40150FCT 型号&#xff1a;MBR40150FCT 品牌&#xff1a;ASEMI 封装&#xff1a;TO-220F 批号&#xff1a;最新 最大平均正向电流&#xff08;IF&#xff09;&#xff1a;40A 最大循环峰值反向电压&#xff08;VRRM&a…

部署kafkamanager

1&#xff0c;检查kafka的版本 到lib下查看 libs/kafka-clients-0.11.0.3.jar kafka的版本 0.11 2&#xff0c;下载kafkamanager 链接&#xff1a; https://pan.baidu.com/s/1qYifoa4 密码&#xff1a;el4o 3&#xff0c;解压后更改该conf下conf/application.conf 中zkhosts …

论文翻译 | Successive Prompting for Decomposing Complex Questions 分解复杂问题的连续提示

摘要 回答需要做出潜在决策的复杂问题是一项具有挑战性的任务&#xff0c;尤其是在监督有限的情况下。 最近的研究利用大型语言模型&#xff08;LMs&#xff09;的能力&#xff0c;在少量样本设置中通过展示如何在单次处理复杂问题的同时输出中间推理过程&#xff0c;来执行复杂…

2024年金航标和萨科微扩张

近年电子信息产业链的外迁和世界经济的低迷&#xff0c;各行各业都很卷&#xff0c;加班加点但业绩负增长是常态&#xff0c;互联网大厂阿里巴巴大裁员、字节跳动裁到了大动脉、京东刘强东抛弃躺平的兄弟、深圳华强北做电子元器件的老板老板娘们一脸茫然&#xff0c;周围都弥漫…

2024华为数通HCIP-datacom最新题库(变题更新⑥)

请注意&#xff0c;华为HCIP-Datacom考试831已变题 请注意&#xff0c;华为HCIP-Datacom考试831已变题 请注意&#xff0c;华为HCIP-Datacom考试831已变题 近期打算考HCIP的朋友注意了&#xff0c;如果你准备去考试&#xff0c;还是用的之前的题库&#xff0c;切记暂缓。 1、…

【数据表的类型】

MYISAMINNODB事务支持不支持支持数据行锁定不支持支持外键约束不支持支持全文索引支持不支持表空间的大小较小较大&#xff0c;约为MYISAM的2倍 常规使用操作 MYISAM节约空间&#xff0c;速度较快 INNODB安全性较高&#xff0c;事务的处理&#xff0c;多表多用户操作 在物理…

人工智能在软件开发中的崭新角色:助力还是取代?

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;其在软件开发领域的应用日益广泛&#xff0c;引发了开发者们对未来职业前景和技能需求变化的深刻思考。 传统上&#xff0c;软件开发是一项高度创造性和复杂的任务&#xff0c;但随着生成式人工智能&#xff…

CSI-2介绍

CSI-2介绍 1.CSI-2是什么2.CSI-2功能简述3.分层传输3.1应用层&#xff08;Application Layer&#xff09;3.2协议层&#xff08;Protocol Layer&#xff09;3.3物理层&#xff08;PHY Layer&#xff09; 4.支持传输数据类型5.版本5.1、CSI-2 1.05.2、CSI-2 2.0 6.框图6.1CSI2&a…

【手写数据库内核组件】0501多线程并发模型,任务分发多工作者执行架构实现,多线程读写状态时volatile存储类型使用技巧

0501 多线程管理 ​专栏内容&#xff1a; postgresql使用入门基础手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文章目录 0501 多…

微信小程序加载动画文件

最近在做微信小程序的动画&#xff0c;调研了几种方案 PAG 腾讯自家的&#xff0c;分为完整版和lite版&#xff0c;对于矢量动画挺好的&#xff0c;但是位图会有问题 完整版会逐渐卡死&#xff0c;lite虽然不会卡死&#xff0c;但是很模糊&#xff0c;优点是动画文件很的很小。…