【环境配置】Ubuntu MySQL 8.0.28 安装并允许外部客户端连接

文章目录

  • MySQL 安装步骤
  • 配置 MySQL Server 允许外部连接

MySQL 安装步骤

步骤一:在 MySQL 官网找到 apt 仓库,下载最新的仓库

点击 Download:

输入如下命令:

sudo wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb

步骤二:安装 MySQL 仓库

sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb 

系统将会加载一个安装配置工具,为你提供要安装的MySQL版本的选项,保留默认设置并单击OK。



步骤三:刷新仓库

任何时候安装新包时,都应该更新仓库清单,以确保安装的是最新版本。

sudo apt-get update


步骤四:安装 MySQL

sudo apt-get install mysql-server

输入管理员凭证,系统将安装MySQL服务器包、客户端包和数据库公共文件。

安装程序会提示你按 enter 键,并确认 MySQL root 用户和密码。该密码会授予完整的访问数据库的权限,因此需要确保它是私密的。

接下来,安装程序将显示一条关于新身份验证方法的通知。较新的身份验证更安全,但可能会导致与旧MySQL客户端的兼容性问题。

安装成功


步骤五:启动、停止 与 检查 MySQL 服务的状态
在Ubuntu中,MySQL服务应该自动启动,使用如下命令查看 MySQL 状态

sudo service mysql status

在这里插入图片描述

停止 MySQL 服务

sudo service mysql stop

启动 MySQL 服务

sudo service mysql start

步骤六:命令行登录 MySQL
在 MySQL 命令行中可以输入很多MySQL命令,与终端窗口非常相似,但是命令是直接发出给 MySQL 服务的。

$ mysql -uroot -p

配置 MySQL Server 允许外部连接

笔者在服务器上安装完成 MySQL后,希望通过外部客户端连接数据库,但报出如下错误:

"Host '192.168.1.100' is not allowed to connect to this MySQL server"

通过摸索,找到了如下解决方案,分享给大家:

  1. ssh登录服务器
  2. 使用 mysql 命令行登录 MySQL 服务器(需要确保 MySQL 服务已经运行);
    mysql -uroot -p
    
  3. 切换到名称为 mysql 的数据库
    mysql> use mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    
  4. 查看 user 表中 root 用户的信息
    mysql> select * from user where user='root'\G
    
    图中可以看到,仅允许 IP 为 localhost 的连接请求:
    在这里插入图片描述
  5. 修改使用 root 用户登录的主机限制
    mysql> update user set host = '%' where user = 'root';
    mysql> flush privileges;
    
    解释:%是 MySQL 中的通配符,将用户名为’root’的用户的连接主机限制为任何主机,即允许该用户从任何主机连接到数据库。
    在这里插入图片描述
  6. 再次查看,host 字段已经更新
    在这里插入图片描述

完成上述步骤后,Spring Boot 项目连接 MySQL 服务器成功!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity 打包真机脚本丢失的问题

记录Bug Bug详情分析解决方案附录 Bug详情 项目中导入了UI Particle的Package,用于处理特效层级 unity 运行效果正常,打包真机后运行时发现特效并没有正确显示,真机Log如下图 需要接入查看真机Log工具的点这里 查看图中Log发现对应的Prefab上挂载的脚本…

NFTScan 正式上线 Polygon zkEVM NFTScan 浏览器和 NFT API 数据服务

2024 年 3 月 26 号,NFTScan 团队正式对外发布了 Polygon zkEVM NFTScan 浏览器,将为 Polygon zkEVM 生态的 NFT 开发者和用户提供简洁高效的 NFT 数据搜索查询服务。NFTScan 作为全球领先的 NFT 数据基础设施服务商,Polygon zkEVM 是继 Bitc…

RabbitMQ 《简单消息》

package com.xzp.rabbitmq.simple; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.xzp.rabbitmq.util.ConnectionUtil; /** * "Hello World!" * 简单消息 * 消息发送者 - R - 发送消息(生产者) …

OpenCV 形态学

1 腐蚀 import cv2 import numpy as npimgcv2.imread(C:/Users/Administrator/Desktop/kai.jpg) kerneal cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))#腐蚀 dstcv2.erode(img,kerneal,iterations2)cv2.imshow("img",np.hstack((img,dst))) cv2.waitKey(0) c…

pytorch简单的优化问题实战

目录 1. Himmelblau函数2. python画出函数图3. 梯度优化代码 1. Himmelblau函数 如下图: 从图中的碗一样的图中可以看出有4个极值点,那么经过优化后,会有4个结果。 4个点的结果见下图: 2. python画出函数图 3. 梯度优化代码 源…

「12」浏览器:以浏览器方式显示网址内容

「12」浏览器以浏览器方式显示网址内容 如果您想在直播间展示某一个网页的内容,那么您可以用OBS软件里的来源组件「浏览器」,它对特定来源网页地址页面进行抓取。如:数字时钟和圆形时钟。 操作方法 一、添加浏览器源 第1步 添加浏览器 在O…

【JavaScript】数组 ① ( JavaScript 数组概念 | 数组创建 | 使用 new 关键字创建数组 | 使用 数组字面量 创建数组 )

文章目录 一、JavaScript 数组概念二、数组创建1、使用 new 关键字创建数组2、使用 数组字面量 创建数组 一、JavaScript 数组概念 在 JavaScript 中 提供了一种 特殊的对象 " 数组 " , " 数组 " 对象 可以 在一个 " 连续的内存空间 " 中 &quo…

用 JavaScript 发起 HTTP 请求的几种方法

JavaScript 具有非常棒的模块和方法,可以用来建立可从服务器端资源发送或接收数据的 HTTP 请求。本文会带着大家一起看看在 JavaScript 中常用的建立 HTTP 请求的方式有哪些。 Ajax Ajax 是最常规的建立异步 HTTP 请求的方式。你可以使用 HTTP POST 方法来发送数据…

ElasticSearch、java的四大内置函数式接口、Stream流、parallelStream背后的技术、Optional类

第四周笔记 一、ElasticSearch 1.安装 apt-get install lrzsz adduser -m es 创建用户组: useradd *-m* xiaoming(用户名) *PS:追加参数-m* passwd xiaoming(用户名) passwd xiaoming 输入新的 UNIX 密码: 重新输入新的 UNIX 密码&…

【免费】面向多微网网络结构设计的大规模二进制矩阵优化算法

目录 1 主要内容 节点故障网络拓扑变化示意 约束条件 目标函数 2 部分代码 3 结果一览 4 下载链接 1 主要内容 当前电力系统中微电网逐步成为发展的主力军,微网中包括分布式电源和负荷,单一的微电网是和外部电源进行连接,即保证用电的…

STL —— string(3)

目录 1. 使用 1.1 c_str() 1.2 find() & rfind() 1.3 substr() 1.4 打印网址的协议域名等 1.5 find_first_of() 2. string() 模拟实现 2.1 构造函数的模拟实现 2.2 operator[] 和 iterator 的模拟实现 2.3 push_back() & append() & 的模拟实现 2.4 ins…

海外媒体宣发:商务视频推广数字化变革全解析-华媒舍

在当今数字化时代,商务视频推广正迎来一场革命性的数字化变革。本文将为您解析这场变革的核心元素和相关内容。 商务视频推广 商务视频推广是一种通过视频形式来宣传和推广产品、服务或品牌的方法。传统的推广方式主要是通过文字和图片进行,而商务视频推…

【真题解析】题目 3151: 蓝桥杯2023年第十四届省赛真题-飞机降落【C++ DFS 超详解注释版本】

爆搜冥想 暴力枚举每一辆飞机对于每一个飞机都只存在两种情况,可以降落和不可以降落如果可以降落,计算降落后最早可以降落的时间pre,作为下一次递归的传参如果不可以降落,枚举下一辆飞机 注意这辆的降落有盘旋这种量子叠加态&…

Vant Weapp小程序 van-uploader 文件上传点击无反应,删除无反应

Vant Weapp 1.0 版本开始支持van-uploader组件&#xff0c;请先确认好版本号和引用路径正确&#xff01;&#xff01; <van-uploader file-list"{{ fileList }}" deletable"{{ true }}" />1. 上传无反应 微信小程序用了van-uploader&#xff0c;但是…

无人直播(视频推流)

环境搭建 我这里采用的是ffmpeg来进行推流直播 yum -y install wgetwget --no-check-certificate https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-4.0.3-64bit-static.tar.xztar -xJf ffmpeg-4.0.3-64bit-static.tar.xzcd ffmpeg-4.0.3-64bit-staticmv ffmpeg /u…

【Linux】线程同步{死锁/线程同步相关接口/由浅入深理解线程同步}

文章目录 1.死锁1.1概念1.2死锁的必要条件 2.线程同步相关接口2.1pthread_cond_init/destroy()2.2int pthread_cond_wait2. 3linux下的条件变量及其作用2.4int pthread_cond_signal/broadcast();2.5Linux下 阻塞和挂起的异同2.6阻塞&#xff0c;挂起&#xff0c;和进程切换的关…

【Flask】Flask项目部署上线

Flask 项目部署上线 1.Gunicorn Gunicorn 是一个纯 Python WSGI 服务器&#xff0c;配置简单&#xff0c;多工作者实现&#xff0c;方便 性能调优。 它倾向于与主机平台轻松集成。 它不支持 Windows &#xff08;但可以在 WSL 上运行&#xff09;。 它很容易安装&#xff0…

Postwoman 安装

Postwoman作为Postman的女朋友&#xff0c;具有免费开源、轻量级、快速且美观等特性&#xff0c;是一款非常好用的API调试工具。能帮助程序员节省时间&#xff0c;提升工作效率。 Github地址&#xff1a;GitHub - hoppscotch/hoppscotch: &#x1f47d; Open source API devel…

【Linux】-Linux下的编辑器Vim的模式命令大全及其自主配置方法

目录 1.简单了解vim 2.vim的模式 2.1命令模式 2.2插入模式 2.3底行模式 3.vim各模式下的命令集 3.1正常&#xff08;命令模式下&#xff09; 3.1.1光标定位命令 3.1.2 复制粘贴 3.1.3 删除 3.1.4 撤销 3.1.5大小写转换 3.1.6替换 「R」&#xff1a;替换光标所到之处的字符&…

鸿蒙(HarmonyOS)Navigation如何实现多场景UI适配?

场景介绍 应用在不同屏幕大小的设备上运行时&#xff0c;往往有不同的UI适配&#xff0c;以聊天应用举例&#xff1a; 在窄屏设备上&#xff0c;联系人和聊天区在多窗口中体现。在宽屏设备上&#xff0c;联系人和聊天区在同一窗口体现。 要做好适配&#xff0c;往往需要开发…