有时候为了测试需要连接远程的 MySQL 数据库,此类的文章很多,这里再简单的总结归纳下,并记录一点简单的减小安全风险的措施。
1. 在服务器上登录 MySQL
因为之前更改了默认端口 3306 为 13306,登录命令如下:
mysql -uroot -P13306 -p
这里大写的 -P
后跟的是端口,根据实际使用的填写,登录后如下图:
2.建立远程访问的数据库用户
命令如下:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
说明:
username
- 你将创建的用户名;
host
- 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost
,如果想让该用户可以从任意远程主机登录,可以使用通配符%
;
password
- 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登录服务器。
可在
mysql
表下查看用户是否创建成功。
3.授权用户
先切换到 mysql
表,命令如下:
use mysql;
命令如下:
GRANT privileges ON databasename.tablename TO 'username'@'host';
说明:
privileges
- 用户的操作权限,如 SELECT
、INSERT
、 UPDATE
等,如果要授予所的权限则使用 ALL
;
databasename
- 数据库名;
tablename
- 表名,如果要授予该用户对所有数据库和表的相应操作权限则可用 *
表示;
host
- 同创建用户部分说明,如果是本地用户可用localhost
,如果想让用户可从任意远程主机登录,可以使用通配符%
;
4.防火墙设置
如果防火墙对端口进行了拦截,注意在设置里进行出站和入站规则放行,图如下: