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

作者:FAFU_kyp 时间:2024-01-25 16:57:31 

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

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

3、设置root密码

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

$ 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

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可退出返回到阅读模式):

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

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

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

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。

exit;

检查ubuntu自带的防火墙状态

sudo ufw status

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

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

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

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

#关闭防火墙
sudo ufw disable

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

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

来源:https://blog.csdn.net/djklsajdklsajdlk/article/details/127521438

标签:ubuntu,mysql,远程连接
0
投稿

猜你喜欢

  • Python调整matplotlib图片大小的3种方法汇总

    2023-11-28 13:20:26
  • 关于Python中*args和**kwargs的深入理解

    2021-04-07 17:45:06
  • python之PyMongo使用总结

    2023-03-11 03:17:48
  • 如何从Python的cmd中获得.py文件参数

    2022-04-15 17:50:31
  • 只有mdf文件的数据库附加失败的修复方法分享(置疑、只读)

    2012-02-12 15:55:17
  • Vue组件封装之input输入框实战记录

    2024-05-29 22:25:24
  • Python3 解释器的实现

    2023-08-09 17:08:53
  • 解析:怎样掌握SQL Server中的数据查询

    2009-01-19 13:30:00
  • numpy matrix和array的乘和加实例

    2022-09-29 15:17:45
  • 教你制作1px边框表格的四种方法

    2008-10-04 10:16:00
  • python3 实现除法结果为整数

    2023-06-27 20:08:22
  • Python实现 PS 图像调整中的亮度调整

    2021-04-02 20:08:54
  • Python实现多行注释的另类方法

    2021-04-28 21:49:12
  • FCKeditor编辑器添加图片上传功能及图片路径问题解决方法

    2022-12-15 01:07:10
  • PHP控制反转(IOC)和依赖注入(DI)

    2024-05-11 10:09:31
  • Vue冷门技巧递归组件实践示例详解

    2024-05-09 15:13:04
  • python音频处理用到的操作的示例代码

    2021-05-11 22:05:19
  • Python过滤列表用法实例分析

    2021-03-21 03:47:49
  • thinkphp3查询mssql数据库乱码解决方法分享

    2023-11-15 00:52:22
  • Python 冒泡,选择,插入排序使用实例

    2021-11-24 21:42:35
  • asp之家 网络编程 m.aspxhome.com