在Ubuntu/Linux环境下使用MySQL以及使用Window系统远程连接Ubuntu/Linux的MySQL数据库

个人配置

1.操作系统:ubuntu0.18.04.1 (Ubuntu) + Windows10
2.MySQL版本:5.7.32

步骤概览

第1步:查看3306端口是否开放

第2步:修改访问权限

第3步:修改端口号

第4步:开放root账户的访问权限

第5步:Windows系统下使用在命令行远程连接Ubuntu的MySQL数据库

第1步:查看3306端口是否开放

按快捷键ctrl+alt+T,打开终端,输入命令:

netstat -an|grep 3306

**注意事项:**如果没有安装netstat工具,先使用命令sudo apt-get install netstat工具进行安装。

如果出现下图所示的情况,即端口号3306前还有一ip地址,这表示当前系统MySQL数据库仅允许ip地址为127.0.0.1的主机(这里是本机)访问,所以需要进行修改。
在这里插入图片描述

第2步:修改访问权限

在mysql的安装目录mysql.conf.d目录下找到mysqld.cnf配置文件,在文件管理中打开这个配置文件或者直接使用如下命令打开:

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

打开文件之后,大概在第43行找到如下所示的字段:
在这里插入图片描述
注意红框部分,把它注释掉(在最前面添加#),如下图所示:
在这里插入图片描述
说明:bind-address是指远程可以访问本机MySQL数据库的主机的IP地址,注释掉的意思就是说任何主机都可以访问,所以这样会存在风险;另一种靠谱的做法是仅添加可访问的主机的IP地址,例如:
bind-address=127.0.0.1 139.196.197.138
这表示允许多个IP可访问mysql服务器,IP之间用空格隔开。
修改完之后不要退出,先保存。

第3步:修改端口号

这一步还是在第2步的配置文件上继续进行操作,即/etc/mysql/mysql.conf.d/mysqld.cnf这个文件。在文件中大概第31行开始找到如下字段:

在这里插入图片描述
检查有无端口配置,即图中红色框部分,可能版本的原因,我的自带这一段配置,对于一些较老的版本,需要添加这一配置。

第4步:开放root账户的访问权限

以上操作仅仅是取消了本地访问的限制,但是还没有对账户权限进行设置。
先重启MySQL服务:

service mysql stop
service mysql start

进入MySQL控制台:

mysql -h 127.0.0.1 -u root -p

效果如下
在这里插入图片描述
此时就已经进入到数据库中,输入:

use mysql;

输入之后的效果:
在这里插入图片描述

输入如下命令查看该数据库中的所有表:

show tables;

效果如下:
在这里插入图片描述
我们要修改上图中的最后一张表“user”,输入如下命令查看这张表的字段:
在这里插入图片描述
字段太多就不截全图了。我么需要关注“Host”和“User”两个字段。
通过命令select host, user from user; 查看user表的host和user数据, 会发现root用户允许的host是localhost,如下图所示:
在这里插入图片描述
修改数据:

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

这表示把user为root的host改为%,表示允许root用户在所有IP上登录。这里我也不知道为什么我的root用户有两个host,所以修改前后没有变化,我就直接使用如下命令开放root账户的所有权限:

grant all privileges on *.* to 'root'@'%' identified by '你的root账户密码';

使各种权限设置立即生效:

flush privileges;

再次输入命令:

netstat -an|grep 3306

看到如下结果就成功了
在这里插入图片描述
重启mysql:

/etc/init.d/mysql restart

完成!

第5步:Windows系统下使用在命令行远程连接Ubuntu的MySQL数据库

先声明Windows系统和Ubuntu系统位于两台不同的主机。
在终端输入:

ifconfig

查看Ubuntu系统的IP地址:
在这里插入图片描述

这里我连的是wifi,所以记住红色框部分的地址:10.161.182.141

在Windows系统下打开命令提示符,输入:

mysql -h 10.161.182.141 -u root -p

其中10.161.182.141就是Ubuntu系统的IP地址,效果如下:
在这里插入图片描述
大功告成!


版权声明:本文为weixin_42389189原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。