尝试了两种在本地连接远程 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:\Users\luwen> 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 连接
点击连接,设置相关参数
操作成功
四、参考
windows下用navicat远程链接虚拟机Linux下MySQL数据库
解决Navicat 报错:1130-host is not allowed... MySQL不允许从远程访问的方法