linux ubuntu Mysql 安装指南

第一部分安装:

步骤 1: 更新 apt 软件包索引

在开始安装之前,建议先更新 apt 软件包索引,以确保你安装的软件版本是最新的:

sudo apt update

步骤 2: 安装 MySQL 服务器

运行以下命令来安装 MySQL 服务器软件包:

sudo apt install mysql-server

在安装过程中,系统会要求你设置 root 用户的密码。请注意,安全起见,应该设置一个强密码。

步骤 3: 启动 MySQL 服务

安装完成后,MySQL 服务器会自动启动。你可以使用以下命令检查 MySQL 服务状态:

sudo systemctl status mysql

如果 MySQL 未启动,你可以使用以下命令手动启动服务:

sudo systemctl start mysql

步骤 4: 运行安全性脚本

MySQL 提供了一个安全性脚本,用于确保数据库安全。运行以下命令来执行安全性脚本:

sudo mysql_secure_installation

根据提示,你可以选择设置密码强度验证策略、删除匿名用户、禁用远程 root 登录等。

步骤 5: 使用 MySQL

安装和配置完成后,你可以通过以下方式登录到 MySQL 数据库:

sudo mysql -u root -p

输入你在安装过程中设置的 root 密码,然后就可以使用 MySQL 数据库了。

补充提示:

  • 如果你需要 MySQL 的图形管理工具,可以安装 mysql-workbench

    sudo apt install mysql-workbench
    
  • 如果你需要其他 MySQL 版本,可以根据需要选择 MySQL 的特定版本进行安装。

第二部分开放权限:

步骤 1: 编辑 MySQL 配置文件

首先,你需要编辑 MySQL 配置文件以允许外网访问。打开 MySQL 配置文件 mysqld.cnf

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

找到以下行(可能位于文件的底部),注释掉或删除 bind-address 参数。这将允许 MySQL 服务器接受来自任何 IP 地址的连接请求。

# bind-address    = 127.0.0.1

保存并退出配置文件。

步骤 2: 更新防火墙规则

接下来,你需要确保防火墙允许来自外部 IP 地址的 MySQL 连接。如果你使用的是 ufw 防火墙工具,可以执行以下命令开放 MySQL 相关的端口。

sudo ufw allow 3306

这将允许来自外部 IP 地址的连接通过 MySQL 默认端口(3306)进行访问。

步骤 3: 重启 MySQL 服务

完成配置更改后,你需要重新启动 MySQL 服务,以使更改生效。

sudo service mysql restart

步骤 4: 配置远程 MySQL 用户

为了使远程主机能够连接到你的 MySQL 服务器,你需要创建一个具有远程访问权限的 MySQL 用户,并授予其适当的权限。

在 MySQL 控制台中执行以下命令:

sudo mysql -u root -p

使用管理员凭据登录到 MySQL 控制台后,可以创建新的远程用户(例如 remote_user)和密码,并为其授予相应的权限。确保将 your_remote_useryour_remote_password 替换为你想要使用的实际值。

CREATE USER 'porsso'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'root!****';GRANT ALL PRIVILEGES ON *.* TO 'porsso'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

这将创建一个具有全局访问权限的新用户,并允许从任何远程 IP 地址连接到 MySQL 数据库。

注意事项和安全性考虑:

开放 MySQL 的外部访问会增加安全风险,因为它使你的数据库服务器暴露在公共网络中。为了保护你的数据库和数据安全,确保遵循以下最佳实践:

  1. 确保使用强密码保护你的 MySQL 用户。
  2. 限制远程访问的 IP 地址范围,只允许来自可信来源的连接。
  3. 使用防火墙和其他网络安全措施来保护数据库服务器。

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

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

相关文章

使用MinIO S3存储桶备份Weaviate

Weaviate 是一个开创性的开源向量数据库,旨在通过利用机器学习模型来增强语义搜索。与依赖关键字匹配的传统搜索引擎不同,Weaviate 采用语义相似性原则。这种创新方法将各种形式的数据(文本、图像等)转换为矢量表示形式&#xff0…

单片机学习笔记---直流电机驱动(PWM)

直流电机介绍 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 直流电机主要由永磁体(定子)、线圈(转子)和换向器…

ModuleNotFoundError: No module named ‘torchvision.models.utils‘报错的一种解决方法

最近在做一个BEV项目,在配置环境的时候,遇到了报错的一个问题: ModuleNotFoundError: No module named ‘torchvision.models.utils’ 我开始以为是我没有安装torchvision pip install torchvision -i http://pypi.douban.com/simple输入这…

PCL的fromROSMsg()和toROSMsg()不能正确处理xyz之外其他field的数据长度

使用PCL的PCL的fromROSMsg()函数将ROS的sensor_msgs::PointCloud2类型数据转换为PCL的pcl::PointCloud<T>类型数据时&#xff0c;假如T只是PointXYZ没问题&#xff0c;假如是PointXYZI&#xff0c;intensity这个field的数据类型是float&#xff0c;但是数据长度就是不对的…

LeetCode 第34天 | 860. 柠檬水找零 406. 根据身高重建队列 452. 用最少数量的箭引爆气球

860. 柠檬水找零 模拟找零钱的过程。 class Solution { public:bool lemonadeChange(vector<int>& bills) {int _5yuan 0;int _10yuan 0;int _20yuan 0;for (int i 0; i<bills.size(); i) {if (bills[i] 5) {_5yuan 1;}else if (bills[i] 10) {_10yuan 1…

【机器学习笔记】12 聚类

无监督学习概述 监督学习 在一个典型的监督学习中&#xff0c;训练集有标签&#x1d466; &#xff0c;我们的目标是找到能够区分正样本和负样本的决策边界&#xff0c;需要据此拟合一个假设函数。无监督学习 与此不同的是&#xff0c;在无监督学习中&#xff0c;我们的数据没…

微服务学习Day4

文章目录 初始MQ同步通讯和异步通讯MQ常见技术介绍 RabbitMQ快速入门入门案例 SpringAMQP介绍例子WorkQueue模型exchange交换机消息转换器 初始MQ 同步通讯和异步通讯 MQ常见技术介绍 RabbitMQ快速入门 入门案例 SpringAMQP 介绍 例子 WorkQueue模型 exchange交换机 消息转换…

【JavaEE】_HTTP请求报头header

目录 1. Host 2. Content-Length与Content-Type 2.1 Content-Length 2.2 Content-Type 3. User-Agent&#xff08;UA&#xff09; 4. Referer 5. Cookie header的整体格式是“键值对”结构&#xff0c;一行是一个键值对&#xff0c;这些键值对都是HTTP定义好的、有特殊含…

输入捕获模式测频率PWM输入模式(PWMI)测占空比

一、概念介绍 输出比较&#xff1a; 比较电路输入的CNT、CCR大小关系 &#xff0c;在通道引脚输出高低电平 二、*频率知识、测量方法补充 * N/fc得到标准频率的时长&#xff0c;也就是待测频率的周期 测频法代码实现&#xff1a;修改对射式红外传感器计次&#xff08;上升沿…

怎样让MCU/SFU视频会议ovmedia 接入GB28281监控视频参会互动

在国内视频应用对GB监控接入是常规操作&#xff0c;很多系统需要接入监控视频交互处理。我们以ovmedia视频会议为例做一个接入互动。 GB28181协议在流媒体系统较为普及&#xff0c;我们以开源SRS系统对接监控端再接入会议&#xff08;也可以用商用GB流平台&#xff0c;操作基本…

Open CASCADE学习|分割

目录 1、添加头文件与源文件 GEOMAlgo_Splitter.h GEOMAlgo_Splitter.cpp 2、测试 2.1平面分割立方体 2.2以边分面 2.3以面分面 1、添加头文件与源文件 GEOMAlgo_Splitter.h // Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE//// Copyright (C) 2003-2…

【大厂AI课学习笔记】【2.1 人工智能项目开发规划与目标】(4)数据准备的流程

今天学习的是数据准备的流程。 我们已经知道&#xff0c;数据准备占了AI项目超过一半甚至79%的时间。 那么数据准备&#xff0c;都做些什么&#xff0c;有哪些流程。 1.数据采集 观测数据人工收集调查问卷线上数据库 2.数据清洗 有缺失的数据有重复的数据有内容错误的数据…

51单片机编程应用(C语言):DS1302实时时钟

单片机计时的缺陷&#xff1a; 1.他的精度不高&#xff0c;没有时钟芯片精度高&#xff0c; 2.会占用单片机CPU的时间&#xff0c; 3.单片机的时钟无法掉电继续运行&#xff0c;&#xff08;最大的缺点&#xff09; DS1302芯片内部有备用电池&#xff0c;可以掉电继续计时…

fusion360 操作总结(不断更新)

平移缩放旋转快捷键 画布选择Windows 组合键macOS 组合键平移按住鼠标中键按住鼠标中键缩放滚动鼠标中键滚动鼠标中键动态观察旋转按住 Shift 键并按住鼠标中键按住 Shift 键并按住鼠标中键绕点动态观察按住 Shift 键单击并按住鼠标中键按住 Shift 键单击并按住鼠标中键撤消Ct…

MCU看门狗

目录 一、独立看门狗(IWDG) 1、IWDG 主要作用 2、IWDG 主要特性 3、编程控制 4、注意地方 二、窗口看门狗(WWDG) 1、窗口看门狗作用&#xff1a; 2、窗口看门狗产生复位信号有两个条件&#xff1a; 3、WWDG 框图 4、WWDG 将要复位的时间 5、编程控制 一、独立看门…

STL:优先级队列的实现

STL中优先级队列本质上就是堆。在上一篇博客中讲到过&#xff1a;堆是一种完全二叉树&#xff0c;逻辑结构上看起来像树&#xff0c;但在物理结构中是存储在线性表中。与普通线性表不同的是&#xff0c;堆中数据大小是规律排列的&#xff1a;小堆中每个节点都大于它的父节点&am…

SpringBoot实战:打造企业资产管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

001kafka源码项目gradle报错UnsupportedClassVersionError-kafka-报错-大数据学习

1 报错提示 java.lang.UnsupportedClassVersionError: org/eclipse/jgit/lib/AnyObjectId has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 如…

5 scala的函数式编程简介

与Java一样&#xff0c;Scala 也是使用 Lambda 表达式实现函数式变成的。 1 遍历 除了使用 for 可以对数组、List、Set 进行遍历外&#xff0c;也可以使用 foreach 函数式编程进行遍历&#xff0c;使代码更为简洁。 foreach 的方法签名为&#xff1a; foreach(f: (A) > …

C# Avalonia 折线图

线图开发在C# Avalonia框架中可以通过多种方式实现。由于Avalonia旨在成为跨平台的UI框架&#xff0c;您可以利用多种库和方法来绘制折线图。以下是一个简单的例子&#xff0c;展示了如何在Avalonia应用程序中创建一个基本的折线图。 首先&#xff0c;您需要在Avalonia项目中包…