Ubuntu安装Mysql启用远程连接的详细图文教程

 更新时间:2023年04月11日 10:48:18   作者:FAFU_kyp  
在Ubuntu系统中添加了MySQL账户,赋予了数据库完全操作权限,并且允许数据库从外部链接但是,还是无法远程访问MySQL数据库,下面这篇文章主要给大家介绍了关于Ubuntu安装Mysql启用远程连接的相关资料,需要的朋友可以参考下

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 

总结

到此这篇关于Ubuntu安装Mysql启用远程连接的文章就介绍到这了,更多相关Ubuntu安装Mysql启用远程连接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql5升级到Mysql5.5的方法

    Mysql5升级到Mysql5.5的方法

    这篇文章主要介绍了Mysql5升级到Mysql5.5的方法的相关资料,需要的朋友可以参考下
    2016-01-01
  • MySQL数据库基本SQL语句教程之高级操作

    MySQL数据库基本SQL语句教程之高级操作

    对MySQL数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理,下面这篇文章主要给大家介绍了关于MySQL数据库基本SQL语句教程之高级操作的相关资料,需要的朋友可以参考下
    2022-06-06
  • MySQL sleep函数使用方法详解

    MySQL sleep函数使用方法详解

    sleep函数时「延时」指定时间(单位秒),也就是让程序停止执行一段指定的时间,本文就给大家简单的介绍一下MySQL sleep函数使用方法,需要的朋友可以参考下
    2023-07-07
  • MySQL中的RIGHT JOIN和CROSS JOIN操作示例

    MySQL中的RIGHT JOIN和CROSS JOIN操作示例

    本文详细介绍了MySQL中的RIGHT JOIN和CROSS JOIN操作,RIGHT JOIN返回右表中的所有记录及与左表中的记录相匹配的记录,而CROSS JOIN返回两个表中所有可能的组合,通过实际示例和输出结果,我们展示了如何使用RIGHT JOIN和CROSS JOIN进行数据库查询,一起看看吧
    2023-07-07
  • MySQL优化insert性能的方法示例

    MySQL优化insert性能的方法示例

    对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。下面这篇文章主要给大家介绍了关于MySQL优化insert性能的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-06-06
  • MySQL根据某一个或者多个字段查找重复数据的sql语句

    MySQL根据某一个或者多个字段查找重复数据的sql语句

    这篇文章主要介绍了MySQL根据某一个或者多个字段查找重复数据的sql语句,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-12-12
  • MySQL数据库高可用HA实现小结

    MySQL数据库高可用HA实现小结

    MySQL数据库是目前开源应用最大的关系型数据库,有海量的应用将数据存储在MySQL数据库中,这篇文章主要介绍了MySQL数据库高可用HA实现,需要的朋友可以参考下
    2022-01-01
  • MySQL递归查询的3种实现方式实例

    MySQL递归查询的3种实现方式实例

    在项目中会遇到同一个表中保存着父子关系的数据,最常见的就是处理树形结构资源,下面这篇文章主要给大家介绍了关于MySQL递归查询的3种实现方式,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • MySQL与SQL的触发器的不同写法

    MySQL与SQL的触发器的不同写法

    当在SQL、MySQL数据库中一张表中插入一条记录时,触动触发器,使同一数据库的另一张表插入相同记录。
    2010-09-09
  • MySQL数据库的多种连接方式及工具

    MySQL数据库的多种连接方式及工具

    本文详细的介绍了数据库的连接方式及数据库连接的工具,给初学者分享一些知识,也是学习总结,感兴趣的小伙伴可以阅读一下
    2023-03-03

最新评论