搭建远程mysql服务器(阿里云轻量应用服务器)

本文详细介绍在Ubuntu18.04环境下搭建远程MySQL服务器的过程,包括安装、配置、创建远程访问用户及防火墙设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搭建远程 mysql 服务器

环境

  • ubuntu18.04

安装 mysql

# 安装 mysql 服务端
$sudo apt install mysql-server
# 安装 mysql 客户端
$sudo apt install mysql-client

登陆mysql

输入以下代码后,直接回车,因为我是新安装的所以,不需要输入密码即可登陆成功

$mysql -u root -p

查看全部用户和用户权限

发现所有的用户只能够本地访问 mysql 服务器

mysql> SELECT user, host FROM user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.01 sec)

创建一个新用户,开启远程访问

虽然我们可以直接用 root 用户远程访问 mysql 服务器,这里我新创建一个用户

# 使用 root 登陆后,进入 mysql 数据库
mysql>use mysql;
# 新创建一个用户,%匹配所有服务器
# 用户名    : 登陆用户名
# %        : 能够访问该数据库的 IP 地址,%匹配全部 IP 地址
# 用户名密码 : 用户名密码
mysql>create user '用户名'@'%' identified by '用户名密码';
# 对新创建的用户授权,这里的是授权所有功能
mysql>grant all privileges *.* to '用户名'@'%';
# 刷新
mysql>flush privileges;

查看用户表

发现 kyfxb 允许全部 IP 访问

mysql> SELECT user, host FROM user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| kyfxb            | %         |
| debian-sys-maint | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.01 sec)

如果 host 为 % 表示允许全部 IP 访问该用户,如果 host 不为 % 可以手动更新

修改 host 为 %

mysql> USE mysql
Database changed
mysql> UPDATE USER SET host = '%' WHERE user = '用户名'

由于我使用的是阿里云的服务器,还要开启mysql默认端口3306

控制台>轻量应用服务器>点击自己的服务器>安全>防火墙>添加一条规则

在这里插入图片描述

查看 MySQL 监听的端口

root@iZuf683kkxxmx5ts3b6mniZ:~# netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      7777/mysqld

如果不是 0.0.0.0:3306 则需要修改 MySQL 配置文件

MySQL 配置文件

/etc/mysql/mysql.conf.d

修改 MySQL 监听所有 IP 地址

修改 mysql 服务器配置文件

# 在 mysqld 下面添加或者替换一个属性
[mysqld]
bind-address=0.0.0.0  #监听全部地址或者指定的ip地址

重启 mysql 服务

$service mysql restart

查看端口情况

netstat -anpt

端口情况

在这里插入图片描述

使用 idea 测试连接

在这里插入图片描述

连接状况

没有连接成功

报错

com.intellij.execution.ExecutionException: Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.

暂时没有解决,目前猜测是内存不够,后续再测试一下

如上猜测正确,释放一些内存后,控制台连接成功,但是 idea 提供的 Database 仍然没有连接成功

package xyz.group.kyfxb.config;

import org.junit.jupiter.api.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * @package xyz.group.kyfxb.config
 * @title MysqlConnectorTest
 * @description 测试连接远程 MySQL 服务器
 * @author snowflake
 * @date 2020/2/2 - 15:54
 * @version v1.0
 */
public class MysqlConnectorTest {

    private String url = "jdbc:mysql://<ip地址>:3306/kyfxb?serverTimezone=GMT&useSSL=true";
    private String username = "kyfxb";
    private String password = "kyfxb";

    static {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    @Test
    public void testConnection() throws SQLException {
        Connection con = DriverManager.getConnection(url, username, password);
        System.out.println(con);
    }

}

Connection 对象信息

com.mysql.cj.jdbc.ConnectionImpl@7d286fb6
17:14	Connection to kyfxb@ip failed.
		[08S01] Communications link failure.
		The last packet successfully received from the server was 41 milliseconds ago.  The last packet sent successfully to the server was 41 milliseconds ago.

ed.
[08S01] Communications link failure.
The last packet successfully received from the server was 41 milliseconds ago. The last packet sent successfully to the server was 41 milliseconds ago.

### 如何使用阿里云服务器 ECS 的配置指南 #### 进入阿里云官网并选购 ECS 服务 要开始使用阿里云服务器,需访问其官方网站。通过导航菜单中的“产品”选项进入云计算服务页面,在此找到“计算”分类下的“云服务器 ECS”,点击即可查看具体详情与规格[^1]。 #### 开通阿里云 ECS 服务 为了启动您的第一个实例,您需要注册账号并通过实名认证后登录到阿里云平台。接着按照指引完成支付流程来订购所需的资源包或者按量付费模式下即时创建一台虚拟机实例[^2]。 #### 新手选择合适配置建议 对于初次使用者来说,理解不同类型的实例规格及其适用场景非常重要。例如轻量级应用可以选择较低性能但成本效益高的方案;而对于高并发请求的应用则可能需要更强算力支持的大容量内存型或GPU加速型实例等[^3]。 #### 初始设置与环境部署 (以 CentOS为例) 当成功购得一台新的ECS之后, 接下来就是对其进行必要的初始化操作: - **安全组规则调整**: 确保开放了相应的端口如HTTP(S),SSH以便后续管理维护工作顺利开展. - **远程连接方式设定**: 可采用密码验证亦或是密钥对方式进行身份鉴别更加安全可靠 . - 安装LAMP/LNMP栈构建Web开发运行环境 , 包括但不限于Apache/Nginx Web Server, 数据库管理系统(MySQL/MariaDB)以及PHP解释器等相关组件. 以下是基于CentOS系统的简单脚本用于快速搭建基本的服务框架: ```bash #!/bin/bash # 更新系统软件源 yum update -y # 安装 Apache HTTPD server yum install httpd -y systemctl start httpd.service systemctl enable httpd.service # 设置防火墙允许80端口通信 firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload echo "<h1>Welcome to My Website!</h1>" > /var/www/html/index.html # 安装MariaDB数据库引擎替代传统MySQL版本 yum install mariadb-server mariadb -y systemctl start mariadb mysql_secure_installation # 初始化安全性向导 # 下载并编译最新稳定版PHP程序文件 cd ~ wget https://www.php.net/distributions/php-latest.tar.gz tar -xf php*.gz cd php*/ ./configure make && make test sudo make install ln -s /usr/local/bin/php /usr/bin/php # 创建快捷链接方便调用 php -v # 查看当前已安装好的PHP版本号信息 ``` 以上命令序列展示了如何在一个全新的Linux发行版上逐步建立起完整的web应用程序支撑架构[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值