尝试了两种在本地连接远程 MySQL 数据库的方式,一种是在本地使用 cmd 进行连接,还有一种就是使用 MySQL 的可视化工具 Navicate for MySQL 进行连接

一、对远程 MySQL 进行授权

由于远程的 MySQL 默认是不允许从远程访问他的,因此我们需要先进行授权,

1. 使用的一种方法是从任何主机都可以连接到 MySQL 服务器,方法如下:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH  PRIVILEGES;

我使用的就是这一种,亲测可用!另外,我百度到了另外两种方法,只是不是从任何主机访问服务器了

2. 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH  PRIVILEGES;

3. 如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH  PRIVILEGES;

FLUSH PRIVILEGES:刷新权限

二、使用 cmd 连接

MySQL 的命令行登陆格式为:

mysql -h主机地址 -u用户名-p用户密码

主机地址:如果连接的是本地数据库,则不用填;如果是远程数据库,则填写服务器的 ip
注:如直接运行此命令需要配置环境变量,否则需要先进入到 MySQL 的安装路径下然后在执行命令,配置环境变量过程不在赘述

接下来输入参数,登陆成功结果如下:

C:Usersluwen> mysql -h120.78.222.54 -uroot -p
Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 47
Server version: 5.7.22 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bank               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.04 sec)

大功告成😄

注:如果出现错误,很有可能就是因为你没有设置权限,因此一定要设置权限!!!

三、使用 Navicate for MySQL 连接

点击连接,设置相关参数

连接设置.png

操作成功😄

四、参考

windows下用navicat远程链接虚拟机Linux下MySQL数据库
解决Navicat 报错:1130-host is not allowed… MySQL不允许从远程访问的方法

文章来源于互联网:Linux | 在本地连接远程的MySQL数据库(Linux)

发表评论