Ubuntu安装Mysql启用远程连接

2023-10-27

1、用apt-get安装mysql

#更新一下apt 仓库
sudo apt-get update


#安装mysql-service
sudo apt-get install mysql-server -y


#也可以指定版本   (可选)
sudo apt install mysql-server-5.7

2、查看Mysql的状态是否安装成功

sudo service mysql status

 3、设置root密码

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

$ mysql

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

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

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

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

二、设置远程连接

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

默认情况下,MySQL 数据库仅监听本地连接,如果想让外网远程连接到数据库,我们需要修改配置文件,让 MySQL 可以监听远程固定 ip 或者监听所有远程 ip。
这里需要使用一个命令行文本编辑器,我用的vim所以就教一下vim

1、 用vim打开 mysqld.cnf 配置文件:

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

2、 找到 bind-address = 127.0.0.1这一行:

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

改完之后按Esc退出编辑模式,然后输入:wq保存退出。(若输入:q则退出但不保存)

3、重启mysql service使刚才的修改生效:

sudo service mysql restart

允许root账号使用远程连接

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

mysql -u root -p

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

use mysql;

查看账号的主机权限:

select user, host from user;

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

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

退出mysql。

exit;

检查ubuntu自带的防火墙状态

sudo ufw status

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

所以如果防火墙开了,那要么把防火墙直接关了,要么添加一条规则让防火墙放行3306端口(mysql的默认端口)::

#关闭防火墙
sudo ufw disable

#添加一条规则让防火墙放行3306端口
sudo ufw allow 3306

设置完上述操作,即可测试是否能够远程连接 mysql 


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu安装Mysql启用远程连接 的相关文章

  • Bash for Windows 10 gcc 不会编译粘贴到根目录中的 c 文件

    正如标题所示 如果我将在其他地方编写的c文件粘贴到Linux子系统的根目录中 则无法编译它 我做了一个测试 我制作了两个不同标题的 hello world 程序 一个在 vi 中 我可以从 bash 界面进入 另一个在其他地方 当我编译了
  • 连接 Netbeans 和 MySQL 但出现大整数错误

    所以我正在尝试向我的 Netbeans 数据库 即 MySQL 添加新连接 但我遇到了大整数转换错误 有人可以帮助我吗 详细地 我右键单击现有的MySQL 服务器位于 localhost 3306 root 已断开连接 gt gt 选择co
  • GMail 421 4.7.0 稍后重试,关闭连接

    我试图找出为什么它无法使用 GMail 从我的服务器发送邮件 为此 我使用 SwiftMailer 但我可以将问题包含在以下独立代码中
  • MySQL 通过 current_timestamp 选择上个月的数据

    直到今天 当我使用 MySQL 并需要对日期 时间执行操作时 我使用带有 unix 时间戳的 int 列 没有出现任何问题 但今天在阅读了一些指南后 我决定默认使用 current timestamp 测试时间戳列 所以我感兴趣如何按列选择
  • 在 MySQL 中对整数字段运行带引号的数字(字符串)查询时会发生哪些复杂情况

    在 SQL 中 不应引用整数 因为如果引用 它将是一个字符串 但我很好奇如果我这样做会出现什么问题 并发症 例如 SELECT FROM table WHERE id 1 正确的 vs SELECT FROM table WHERE id
  • MySql 5.7 ORDER BY 子句不在 GROUP BY 子句中并且包含非聚合列

    我试图在不禁用 my ini 中的 only full group by 的情况下弄清楚 这是我的查询 SELECT p title COUNT t qty AS total FROM payments t LEFT JOIN produc
  • MySQL 8 用逗号分割字符串并将其转换为JSON ARRAY

    我有以下字符串 a b c d 我想将它转换成一个 json 数组 像这样 a b c d MySQL 8 有什么函数可以实现这个功能吗 Try SELECT CAST CONCAT REPLACE a b c d AS JSON See
  • 使用非规范地址检索内存数据会导致 SIGSEGV 而不是 SIGBUS

    我无法使用以下汇编代码产生 总线错误 这里我使用的内存地址不是合法的 规范地址 那么 我怎样才能触发该错误呢 我在带有 NASM 2 14 02 的 Ubuntu 20 04 LTS 下运行这段代码 但它会导致负载出现 SIGSEGV 分段
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • 只获取倒数第二条记录 - mysql-query

    我有一个如下表记录 my table id rating description 1 0 0 bed 2 1 0 good 3 0 0 bed 4 1 0 good 5 0 0 bed 6 0 0 bed 7 0 0 bed 现在我通过评级
  • 不带 GROUP BY 的聚合查询

    这个查询似乎在我的旧机器上完美运行 但是 在我的 MySQL 5 7 14 和 PHP 5 6 25 的新机器上 它会抛出错误 致命错误 未捕获异常 PDOException 并带有消息 SQLSTATE 42000 语法错误或访问冲突 1
  • 使用 MAX_ORDER / 包含 mmzone.h

    根据https www kernel org doc Documentation networking packet mmap txt https www kernel org doc Documentation networking pa
  • PHP MYSQL文件内容转义问题

    我正在尝试使用 php 将 pdf 文件上传到 mysql 数据库中 除了文件内容之外 一切都很好 无论我如何尝试转义特殊字符 查询总是失败 主要是 未知命令 n 我使用过addslashes mysql real escape strin
  • 如何在 Linux 中使用 C 语言使用共享内存

    我的一个项目有点问题 我一直在试图找到一个有据可查的使用共享内存的例子fork 但没有成功 基本上情况是 当用户启动程序时 我需要在共享内存中存储两个值 当前路径这是一个char and a 文件名这也是char 根据命令参数 启动一个新进
  • 如何在 MySQL 中测试 Select for Update

    我正在表演SELECT FOR UPDATE或 InnoDB 表的行级锁定 我的目的是只有一个请求可以读取同一行 因此 如果两个用户同时请求相同的数据 其中只有一个人获取数据 即第一个触发查询的人 但是我如何测试锁定是否已放置 因为我正在通
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • mysql 中的二进制、十六进制和八进制值

    我对在 mysql 数据库中使用二进制 十六进制和八进制系统非常感兴趣 首先 请给我一个建议 为什么我们在存储信息时需要它们 因为信息太多 或者为什么 另外 哪种类型的值必须存储在标记系统中 另外这里还有像 这是例子 gt SELECT 5
  • 在生产服务器上使用 Subversion 使文件生效的最佳方法是什么?

    目前我已经设置了 subversion 这样当我在 Eclipse PDT 中进行更改时 我可以提交更改 它们将保存在 home administrator 中项目文件 该文件具有 subversion 推荐的 branches tags
  • ubuntu 12.04 ruby​​ 2.0 Rails:找不到“thread_safe”

    我正在 ubuntu 12 04 上安装 Rails 使用以下方法手动安装 如何在 Ubuntu 12 04 上正确安装 ruby 2 0 0 https stackoverflow com questions 16222738 how t
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel

随机推荐

  • 你永远不会有足够的奶酪

    令人赏心悦目的产品和让人勉强容忍的产品之间的差别 就在于它们的细节有没有做好 在Human Factors International公司做的一篇演讲文稿里 他们提到了一个叫 哥伦比亚障碍装置 的东西 译者注 Human Factors I
  • 服务器系统session时间设置时间,关于 Session 时间问题

    Dim AdminName AdminPass AdminName Trim Replace Request AdminName AdminPass MD5 Trim Replace Request AdminPass If Session
  • ES6中Iterator的使用

    Iterator概念 Iterator是一种接口 为各种不同的数据结构提供统一的访问机制 任何数据结构只要部署Iterator接口 就可以完成遍历操作 即一次处理该数据结构的所以成员 手写Iterator接口 手写iterator接口 fu
  • 数据库管理系统的安装与心得

    对于数据库这个概念我高中就有过接触 当时我们学的是什么是数据库 数据库管理系统 数据库系统 在数据库系统这门课刚开始上是 我本以为它会比其他功课容易接受 但是上了几节课之后 我发现这门课还是很难 因此 我就想到了把应用和课堂知识结合起来 可
  • Java 学习(一)Java语言基础

    Java 语言基础 一 前言 一 注释和标识符 1 注释 2 字符集 3 标识符 4 关键字 略 二 数据类型 1 基本类型 2 引用类型 三 常量和变量 1 常量 2 变量 四 操作符 1 赋值运算符 2 算术运算符 3 关系运算符 4
  • Uniapp 获取屏幕、元素的高度宽度

    在遇到困难时先找官方文档方案 其实一些常用的方法官方都有对应的解决方案的 uni getSystemInfo OBJECT 获取系统信息 screenWidth 屏幕宽度 screenHeight 屏幕高度 windowWidth 可使用窗
  • Oracle提示ora-01031:insufficient privileges解决方案

    自己也百度了一下 看到好多都是查找修改本地文件的 本人表示没有去这么做 本人解决方法 右键 我的电脑 管理 计算机管理 系统工具 本地用户和组 组 右边找到 ora dba 右键之 属性 添加 高级 立即查 找 找到你电脑的名称那个 确定
  • KMS服务器

    1 一键安装包 本脚本安装完成后 会将 KMS 服务加入开机自启动 wget no check certificate https github com teddysun across raw master kms sh chmod x k
  • js赋值运算(加、减、乘、除、余)

    赋值运算 赋值符 左边是一个变量 右边是一个值 赋值就是将右边的值给了左边的变量 加法 var a 10 a 1 相当于a a 1 console log a a 11 10加3的值 减法 var a 10 a 1 相当于a a 1 con
  • pytorch_工作流基础

    what were covering 1 data prepare and load 2 build model 3 fitting the model to data training 4 making predictions and e
  • Install packages failed: Installing packages: error occurred. ------简单的问题常常会被忽略...

    用 pip install 安装了wxpy这个库 但是使用的时候却报错 ImportError No module named wxpy 我先用 pip list 查看了一下 发现这个库是已经存在的 但是运行就老是报错 后来查了资料才知道
  • python 多线程,多进程问题

    近期在做一个计算很费时的项目 就想着通过多线程的方式进行加速 发现python的多线程无法实现加速 python中的多进程VS多线程 首先需要明白多线程和多进程的差异 简单来说一个进程下可以启多个线程 那么在python中 Python代码
  • 2岁宝宝吃饭问题网络调研

    家有男宝到了2岁多一点 不肯吃饭 肿么办 1 案例集锦 甚至开始厌食 见到食物会推开 最严重的一次 我喂他吃饭 他直接用手生气的打掉我的碗 把菜叶子 用小手一片片的捏掉 丢桌子上 地上 我气的呀 越养越瘦 越来越厌食 后来去医院 也没查到什
  • 测试人员的KPI考核指标

    关于测试人员KPI的考核指标 简书 线上bug漏测率 测试延期率 新技术手段输出 沟通能力 学习能力 文档沉淀能力 帮助组内同事成长 问题跟进能力 个人成长 老徐 线上bug漏测率 任务完成率 个人成长 https t zsxq com 0
  • CSS样式的引用方式

    想只用CSS修饰网页 就需要在HTML文档中引入CSS CSS提供了4种引用方式 分别是行内式 内嵌式 外链式和导入式 1 行内式 行内式也被称为内联式 可以通过style属性设置标签的样式 行内式基本语法格式如下 lt 标签名 style
  • Bluetooth 蓝牙介绍(七):低功耗蓝牙HCI规范

    HOST CONTROLLER INTERFACE HCI 功能规范 如果Controller支持 table 表中列出的任何传统广播命令或事件 并且还支持 LE 功能 扩展广播 则它应支持表中同一行中相应的扩展广播命令或事件 如果自上次上
  • css 上下左右居中(9种)

    Technique Browser Support Responsive Overflow resize both Variable Height Major Caveats Absolute Centering Modern IE8 Ye
  • golang测试技术

    golang测试技术 一 基础测试技术 1 测试Go代码 Go语言内置测试框架 内置的测试框架通过testing包以及go test命令来提供测试功能 下面是一个完整的测试strings Index函数的完整测试文件 strings tes
  • 2018年LeetCode高频算法面试题刷题笔记——求众数(开始之前)

    1 解答之前的碎碎念 又是一道没有思路的题 but我现在觉得 学习新知识过程都是从模仿开始的 比如先看别人的代码是怎么优雅的解决一个问题的 然后探究为什么要这么写 然后慢慢学着也这么做 最后知识就变成自己的啦 哈哈哈 给自己灌了一大壶鸡汤呢
  • Ubuntu安装Mysql启用远程连接

    1 用apt get安装mysql 更新一下apt 仓库 sudo apt get update 安装mysql service sudo apt get install mysql server y 也可以指定版本 可选 sudo apt