Ubuntu如何安装Mysql启用远程连接

背景

用的是百度云的云服务器(其他云服务器同理),系统是ubuntu 20.04 lts,mysql版本8.0+,需求是在windows上开发,可以随时远程连接读写服务器上的mysql

建立到服务器的远程连接

用ssh客户端或者云服务器厂家提供的网页版控制台都行,只要你能连上服务器就行

Ubuntu如何安装Mysql启用远程连接

顺便私心推荐一个好看又好用的ssh客户端:NextSSH

用apt-get安装mysql

先更新一下apt仓库:

sudo apt-get update

顺便说一下,因为不知道你们用的都是什么账户,我也搞不清楚哪些指令权限要求比较高,所以我所有指令都加sudo了,这样不管是谁复制粘贴都能直接用,不会出现权限问题。
然后安装mysql-server:

sudo apt-get install mysql-server -y

到这一步其实mysql就已经安完了并且自动启动了,可以看一下:

sudo service mysql status

Ubuntu如何安装Mysql启用远程连接

设置root密码

此时mysql的root账户没有设置密码,可以直接用mysql指令登录:

Ubuntu如何安装Mysql启用远程连接

设置一下root的密码(mynewpassword部分改成你自己要设置的密码):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';

Ubuntu如何安装Mysql启用远程连接

退出,输入mysql指令发现不能直接登录了:

Ubuntu如何安装Mysql启用远程连接

目前为止可以直接在服务器上用mysql了。

编辑配置文件监听远程连接

默认情况下,MySQL 数据库仅监听本地连接,如果想让外网远程连接到数据库,我们需要修改配置文件,让 MySQL 可以监听远程固定 ip 或者监听所有远程 ip。
这里需要使用一个命令行文本编辑器,我用的vim所以就教一下vim,你们要是会nano或者别的自然知道该怎么弄,要是听不懂就照我的来。安装vim:

sudo apt-get install vim -y

然后用vim打开mysqld.cnf配置文件:

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

找到bind-address = 127.0.0.1这一行:

Ubuntu如何安装Mysql启用远程连接

这个值是127.0.0.1的时候只监听本地连接,改成0.0.0.0可以监听所有连接,或者也可以改成仅允许指定ip连接都可以。
现在vim是阅读模式,按一下i进入编辑模式,然后用上下左右键定位到这行(最下面显示INSERT的时候表明处于编辑模式,按Esc可退出返回到阅读模式):

Ubuntu如何安装Mysql启用远程连接

改完之后按Esc退出编辑模式,然后输入:wq保存退出。(若输入:q则退出但不保存)
重启mysql service使刚才的修改生效:

豆包AI编程 豆包AI编程

豆包推出的AI编程助手

豆包AI编程 483 查看详情 豆包AI编程

sudo service mysql restart

允许root账号使用远程连接

mysql默认只允许root账号在本地使用,需要修改一下允许远程使用root账号(没试过其他账号的情况,但原理一致)。先登录mysql:

Ubuntu如何安装Mysql启用远程连接

mysql -u root -p

输入密码,登录。
然后选择mysql数据库:

use mysql;

Ubuntu如何安装Mysql启用远程连接

查看账号的主机权限:

select user, host from user;

Ubuntu如何安装Mysql启用远程连接

host处为localhost时只允许本地使用,改成%即可远程使用:

update user set host='%' where user='root';

Ubuntu如何安装Mysql启用远程连接

退出mysql。

检查ubuntu自带的防火墙状态

sudo ufw status

Ubuntu如何安装Mysql启用远程连接

如果是inactive说明防火墙没开,那就不用管了。防火墙是干嘛的呢,我自己的理解就是,如果开了防火墙,那服务器上所有端口都是默认禁止连接的,只有你允许的端口才允许连接,类似于这种:

Ubuntu如何安装Mysql启用远程连接

所以如果防火墙开了,那要么把防火墙直接关了:

sudo ufw disable

要么添加一条规则让防火墙放行3306端口(mysql的默认端口):

sudo ufw allow 3306

检查云服务器厂商的防火墙状态

打开云服务器的后台管理页面,找到防火墙:

Ubuntu如何安装Mysql启用远程连接

云服务器厂商默认只开启几个最常用的端口,其他端口都是默认关闭的,所以也要在这里添加一条规则放行3306端口:

Ubuntu如何安装Mysql启用远程连接

测试连接

随便找个数据库管理的软件测试一下:

Ubuntu如何安装Mysql启用远程连接

以上就是Ubuntu如何安装Mysql启用远程连接的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/265083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月4日 10:17:35
下一篇 2025年11月4日 10:18:42

相关推荐

  • 怎样用Python开发数据管道?ETL流程实现

    用python开发数据管道的关键在于理解etl流程并选择合适的工具。1. etl流程包括三个阶段:extract(从数据库、api等来源抽取数据)、transform(清洗、格式化、计算字段等)、load(将数据写入目标存储)。2. 常用工具包括pandas(处理中小型数据)、sqlalchemy(…

    2025年12月14日 好文分享
    000
  • 如何使用Python操作HBase?分布式数据库

    要使用python操作hbase,主要依赖thrift服务和happybase库。1. 安装并启用hbase thrift服务,使用命令安装thrift并启动hbase thrift;2. 使用happybase连接hbase,通过pip安装后可创建表、插入数据及查询;3. 处理中文或编码问题,写入…

    2025年12月14日 好文分享
    000
  • 怎样用Python操作JSON文件?读写性能优化方案

    python操作json文件的核心是使用内置json模块进行序列化与反序列化,读写性能受文件大小和应用场景影响。1. 小文件处理通常无需优化,直接使用json.load()和json.dump()即可;2. 大文件需采用流式解析库如ijson,按需读取以降低内存占用;3. 写入大量数据时避免格式化、…

    2025年12月14日 好文分享
    000
  • Python csv.writer 写入数据时额外引号问题的解析与解决方案

    本文旨在解决使用 Python csv 模块的 csv.writer 写入数据时,因数据源结构不当导致输出字段被额外引号包裹的问题。当从数据库(如 MySQL)获取的数据集每行是一个包含预先逗号分隔字符串的单元素元组时,csv.writer 会将其视为单个字段并添加引号。教程将详细分析问题成因,并提…

    2025年12月14日
    000
  • 如何用Python构建数据监控—异常检测报警系统

    1.明确监控对象与异常定义,如数据来源、监控频率及异常判断标准;2.采集并预处理数据,包括获取数据源和清洗格式化;3.实现异常检测逻辑,可采用统计方法或时间序列模型;4.设置报警通知机制,如邮件、企业微信等。系统构建流程为:确定监控目标、采集清洗数据、应用检测算法、触发通知,同时需确保数据源稳定、规…

    2025年12月14日 好文分享
    000
  • Python怎样操作MySQL数据库?PyMySQL连接方法

    pymysql连接mysql数据库的核心步骤包括导入库、建立连接、创建游标、执行sql、事务处理及关闭连接。1. 导入pymysql模块;2. 使用pymysql.connect()建立连接,传入数据库配置参数;3. 通过with conn.cursor()创建并自动管理游标;4. 使用cursor…

    2025年12月14日 好文分享
    000
  • 怎样用Python构建数据管道—ETL流程自动化实现

    构建数据管道的关键在于etl流程的自动化,python提供了灵活高效的实现方式。1. 数据抽取:使用pandas、sqlalchemy、requests等工具从数据库、api、文件中提取数据;2. 数据转换:利用pandas、datetime、正则表达式进行清洗、标准化、衍生字段计算,确保数据一致性…

    2025年12月14日 好文分享
    000
  • Python数据库连接操作 Python数据库交互常用模块解析

    python操作数据库常用模块包括sqlite3、pymysql、mysqlclient、psycopg2及sqlalchemy。1. sqlite3适用于本地开发或小型项目,使用流程为连接数据库→创建游标→执行sql→提交事务→关闭连接;2. pymysql和mysqlclient用于mysql操…

    2025年12月14日
    000
  • Python爬虫技术入门教程 Python爬虫基础知识点有哪些

    学python爬虫的关键在于掌握核心基础并动手实践。1. 首先要了解http请求与响应机制,包括get/post方法、headers作用及常见状态码,使用requests库发送请求获取数据;2. 掌握html结构解析,利用beautifulsoup或lxml配合css选择器或xpath精准提取所需内…

    2025年12月14日
    000
  • Python数据仓库 Python大数据存储解决方案

    python在数据仓库和大数据存储中主要作为连接和处理工具。1. 它用于etl流程,包括从数据库、api等来源提取数据;2. 使用pandas或pyspark进行数据清洗和转换;3. 将处理后的数据写入目标系统如postgresql或redshift;4. 自动化调度整个流程,常搭配airflow或…

    2025年12月14日
    000
  • Python中ORM是什么 SQLAlchemy等ORM库在Python数据库操作的优势

    orm是对象关系映射技术,它将数据库表结构映射为程序中的类和对象,使开发者能以面向对象方式操作数据库。其优势包括减少直接写sql、提升开发效率、便于代码维护以及支持多数据库切换。sqlalchemy是python中功能全面的orm库,提供灵活控制,适用于大型项目。它解决数据库差异抽象、提供表达式语言…

    好文分享 2025年12月14日
    000
  • Python中sqlite3模块 SQLite数据库操作模块sqlite3的CRUD指南

    在python中,使用sqlite3模块进行数据库操作需遵循以下步骤:1.连接数据库并创建表;2.插入数据;3.查询数据;4.更新与删除数据;5.关闭连接。首先调用sqlite3.connect()连接数据库,若文件不存在则自动创建;使用create table if not exists语句建表,…

    好文分享 2025年12月14日
    000
  • Python中怎样使用pymysql?

    在python中使用pymysql库与mysql数据库交互的步骤包括:1. 安装pymysql库:pip install pymysql。2. 连接数据库:使用pymysql.connect()方法。3. 执行查询:使用cursor.execute()和fetchall()方法。4. 插入数据:使用…

    2025年12月14日
    000
  • Python中怎样使用事务处理?

    在python中使用事务处理可以通过数据库连接库实现,如sqlite3、psycopg2或mysql-connector-python。使用步骤如下:1. 连接到数据库并启动事务。2. 执行sql语句。3. 提交事务或在错误时回滚。4. 关闭连接。事务处理确保数据一致性和完整性,需注意隔离级别、错误…

    2025年12月14日
    000
  • Python中如何存储爬虫结果?

    python中存储爬虫结果的方法包括文件、数据库和云存储。1. 文件存储:适合小数据量,使用csv、json或纯文本文件。2. 数据库存储:适用于大数据量和复杂查询,支持sqlite、mysql、postgresql等。3. 云存储:如amazon s3或google cloud storage,适…

    2025年12月14日
    000
  • Python中如何操作MySQL数据库?

    在python中操作mysql数据库可以使用mysql-connector-python或pymysql库。1. 连接数据库,使用pymysql.connect()方法。2. 创建表,使用cursor.execute()执行create table语句。3. 插入数据,使用cursor.execut…

    2025年12月14日
    000
  • Python中怎样执行SQL查询?

    在python中执行sql查询可以通过sqlite3、mysql-connector-python、psycopg2等库实现。1) 连接到数据库,使用sqlite3.connect()。2) 创建表和插入数据,使用cursor.execute()。3) 执行查询并处理结果,使用cursor.fetc…

    2025年12月14日
    000
  • Python中如何使用__del__方法清理资源?

    在python中,__del__方法是对象的析构函数,用于清理资源。1)不确定的执行时间:依赖垃圾回收机制。2)循环引用:可能导致无法及时调用,使用weakref模块处理。3)异常处理:在__del__中抛出的异常可能被忽略,使用try-except块捕获。4)资源管理的最佳实践:推荐使用with语…

    2025年12月14日
    000
  • 怎样在Python中防止SQL注入?

    在python中防止sql注入可以通过以下方法:1. 使用参数化查询,将用户输入作为参数传递,确保其被视为数据而非sql代码。2. 使用orm工具如sqlalchemy,自动处理参数化查询,提高代码安全性和可读性。3. 进行输入验证和过滤,确保用户输入符合预期格式,进一步增强安全性。 在Python…

    2025年12月14日
    000
  • Python人马兽系列是啥 Python人马兽系系列主要内容有哪些

    “Python 人马兽系列”没有确切定义,可能与神话、游戏、库戏称、教育资源或拼写错误有关。以下是可能相关的Python库:1. NumPy/SciPy用于科学计算,2. Matplotlib/Seaborn用于数据可视化,3. Scrapy用于网络爬虫,4. TensorFlow/PyTorch用…

    2025年12月14日 好文分享
    000

发表回复

登录后才能评论
关注微信