MySQL
修改/etc/mysql/mysql.conf.d/mysqld.cnf
#bind-address = 127.0.0.1
bind-address = 0.0.0.0
重启mysql
sudo systemctl restart mysql
为需要远程登录的用户赋予权限
mysql -u root -p
***
GRANT ALL ON test.* TO admin@'ip' IDENTIFIED BY 'pass1' with grant option;
flush privileges;

允许特定ip(%表示允许任何ip地址)的电脑用admin帐户和密码(pass1)来访问这个mysql server的test数据库,注意admin账户不一定要存在

  • ip这个ip就是你的电脑公共ip地址,可以通过curl ifconfig.me查看,也可以访问icanhazip
  • 如果ip设置为%表示允许任意ip地址访问
  • test.* 改成 *.* 表示任意数据库
  • with grant option表示该用户可以把权限赋予给他人

如果遇到

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这是因为设置的密码强度不够,当前安全策略不允许这样的密码
查看安全策略

show variables like "%validate%";

允许设置简单密码

set global  validate_password_policy=0;

允许设置不低于6位密码

set global validate_password_length=6;

然后重新修改就可以了

查看系统用户
#用root登录
use mysql
select user, host from user;
测试连接
mysql -u admin -p -h ip

如果测试连接失败,查看服务器是否禁止了3306端口

MongoDB
修改/etc/mongodb.conf
#127.0.0.1表示只允许本地访问
bind_ip = 0.0.0.0
#外部连接端口
port = 27017
#登录验证,默认关闭
auth = False
重启MongoDB
/etc/init.d/mongodb restart
打开端口
sudo ufw allow 27017
连接验证
mongo ip:27017/test
Redis
安装
sudo apt-get install redis-server
修改/etc/redis/redis.conf
# protected-ashmode yes
protected-mode no
# bind 127.0.0.1 ::1
bind 0.0.0.0 
重启redis
sudo systemctl restart redis-server 
测试连接
redis-cli -h ip -p 6379
开启密码登录(可选)
  1. 临时
#查看是否开启密码
config get requirepass
#设置密码
config set requirepass 12345
  1. 永久
  • 修改/etc/redis/redis.conf
requirepass 12345
  • 验证
redis-cli -h ip -p 6379
info
#NOAUTH Authentication required.
#登录
auth 12345

文章来源于互联网:远程连接MySQL、MongoDB、Redis

发表评论