Ubuntu操作系统下MySQL、MongoDB、Redis

在开发和运维过程中,经常需要从Windows客户端远程连接到Ubuntu服务器上的数据库。本文将详细介绍如何在Ubuntu操作系统下安装和配置MySQL、MongoDB和Redis,以允许从Windows客户端进行远程连接,并提供详细的远程连接命令和配置说明。

一、MySQL安装及远程连接配置

(一)Ubuntu服务器端安装与配置

  1. 更新软件包列表

    复制代码
    sudo apt update
  2. 安装MySQL服务

    复制代码
    sudo apt install mysql-server
  3. 安全配置

    运行以下命令来执行安全配置,包括设置root密码、移除匿名用户、禁止root用户远程登录等。

    复制代码
    sudo mysql_secure_installation
  4. 创建远程用户并授权

    登录到MySQL服务器:

    复制代码
    sudo mysql -u root -p

    创建一个允许从任何IP地址连接的用户(假设用户名为remoteuser,密码为password

    sql 复制代码
    CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

    这里'%'表示允许从任何IP地址连接。出于安全考虑,你可以将'%'替换为特定的IP地址或IP段,例如'192.168.1.100'

  5. 修改MySQL配置文件

    编辑MySQL的配置文件,允许远程连接。配置文件通常位于/etc/mysql/mysql.conf.d/mysqld.cnf

    复制代码
    sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

    找到bind-address = 127.0.0.1,将其注释掉或修改为bind-address = 0.0.0.0

    复制代码
    # bind-address = 127.0.0.1
    bind-address = 0.0.0.0

    保存并关闭文件。

  6. 重启MySQL服务

    保存配置文件后,重启MySQL服务以使更改生效

    复制代码
    sudo systemctl restart mysql
  7. 防火墙配置

    确保Ubuntu服务器的防火墙允许来自Windows的连接。可以使用以下命令开放MySQL的默认端口3306

    复制代码
    sudo ufw allow 3306/tcp
    sudo ufw reload

(二)Windows客户端远程连接命令

  1. 使用MySQL命令行工具

    打开命令提示符,使用以下命令连接到Ubuntu服务器上的MySQL数据库

    复制代码
    mysql -h <Ubuntu服务器IP地址> -u remoteuser -p

    系统会提示你输入密码,输入remoteuser用户的密码即可。

  2. 使用MySQL Workbench

    • 打开MySQL Workbench,点击"+"号添加一个新的连接。

    • 在"Connection Name"中输入连接名称,例如"Ubuntu MySQL"。

    • 在"Hostname"中输入Ubuntu服务器的IP地址。

    • 在"Username"中输入创建的远程用户名(remoteuser)。

    • 在"Password"中输入对应的密码(password)。

    • 点击"Test Connection"测试连接是否成功。如果一切配置正确,应该会看到"Connection successful!"的提示。

二、MongoDB安装及远程连接配置

(一)Ubuntu服务器端安装与配置

  1. 导入MongoDB公

    复制代码
    sudo apt-get install gnupg curl
    curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
          sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
          --dearmor
  2. 创建列表文

    复制代码
    echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
  3. 加载包数据库并安装MongoD

    复制代码
    sudo apt-get update
    sudo apt-get install -y mongodb-org
  4. 启动MongoDB服

    复制代码
    sudo systemctl start mongod
  5. 修改MongoDB配置文件

    1.编辑MongoDB的配置文件,允许远程连接。配置文件通常位于/etc/mongod.conf

    复制代码
    sudo vim /etc/mongod.conf

    2.找到bindIp选项,将其值从127.0.0.1修改为0.0.0.0

    复制代码
    # network interfaces
    net:
      port: 27017
      bindIp: 0.0.0.0

    3.保存并关闭文件。

  6. 重启MongoDB服务

    保存配置文件后,重启MongoDB服务以使更改生效

    复制代码
    sudo systemctl restart mongod
  7. 防火墙配置

    确保Ubuntu服务器的防火墙允许来自Windows的连接。可以使用以下命令开放MongoDB的默认端口27017

    复制代码
    sudo ufw allow 27017/tcp
    sudo ufw reload

(二)Windows客户端远程连接命令

  1. 使用MongoDB Shell

    打开命令提示符,使用以下命令连接到Ubuntu服务器上的MongoDB数据库

    复制代码
    mongo <Ubuntu服务器IP地址>:27017
  2. 使用MongoDB Compass

    • 打开MongoDB Compass,点击"+"号添加一个新的连接。

    • 在"Connection String"中输入Ubuntu服务器的IP地址和端口号(默认为27017),格式为mongodb://<IP地址>:27017

    • 点击"Connect"按钮连接到MongoDB服务器。如果一切配置正确,应该能够成功连接并看到数据库列表。

三、Redis安装及远程连接配置

(一)Ubuntu服务器端安装与配置

  1. 更新软件包列表

    复制代码
    sudo apt update
  2. 安装Redis服务

    复制代码
    sudo apt install redis-server
  3. 修改Redis配置文件

    1.编辑Redis的配置文件,允许远程连接。配置文件通常位于/etc/redis/redis.conf

    复制代码
    sudo vim /etc/redis/redis.conf

    2.找到bind 127.0.0.1,将其注释掉或修改为bind 0.0.0.0

    复制代码
    # bind 127.0.0.1
    bind 0.0.0.0

    3.保存并关闭文件。

  4. 重启Redis服务

    保存配置文件后,重启Redis服务以使更改生效

    复制代码
    sudo systemctl restart redis-server
  5. 防火墙配置

    确保Ubuntu服务器的防火墙允许来自Windows的连接。可以使用以下命令开放Redis的默认端口6379

    复制代码
    sudo ufw allow 6379/tcp
    sudo ufw reload

(二)Windows客户端远程连接命令

  1. 使用Redis-cli

    打开命令提示符,使用以下命令连接到Ubuntu服务器上的Redis数据库

    复制代码
    redis-cli -h <Ubuntu服务器IP地址> -p 6379
  2. 使用Redis Desktop Manager

    • 打开Redis Desktop Manager,点击"+"号添加一个新的连接。

    • 在"Name"中输入连接名称,例如"Ubuntu Redis"。

    • 在"Host"中输入Ubuntu服务器的IP地址。

    • 在"Port"中输入Redis的端口号(默认为6379)。

    • 点击"Save"保存连接配置。

    • 点击"Connect"按钮连接到Redis服务器。如果一切配置正确,应该能够成功连接并看到Redis的键值对数据。

四、安全性注意事项

  1. 使用强密码

    确保为远程用户设置强密码,避免使用容易被猜测的密码。

  2. 限制IP地址

    在创建远程用户时,尽量将'%'替换为特定的IP地址或IP段,以限制只有特定的IP地址可以连接到数据库。

  3. 使用VPN或SSH隧道

    在生产环境中,建议通过VPN或SSH隧道进行连接,以提高安全性。例如,可以通过以下命令使用SSH隧道连接到MySQL服务器

    复制代码
    ssh -L 3306:localhost:3306 user@ubuntu_server_ip

    然后在Windows客户端中,将"Hostname"设置为localhost,端口号设置为3306

  4. 防火墙规则

    确保防火墙规则只允许来自可信IP地址的连接。可以使用ufw命令来管理防火墙规则

    复制代码
    sudo ufw allow from <IP地址> to any port 3306
    sudo ufw allow from <IP地址> to any port 27017
    sudo ufw allow from <IP地址> to any port 6379
    sudo ufw reload

通过以上详细步骤,你可以确保MySQL、MongoDB和Redis在Ubuntu服务器上正确安装和配置远程连接,并且从Windows客户端能够安全地访问这些数据库。希望这些信息对你有帮助!