如何在Ubuntu 18.04上创建多节点MySQL集群

介绍

MySQL Cluster分布式数据库为MySQL数据库管理系统提供高可用性和吞吐量。MySQL Cluster由一个或多个管理节点(ndb_mgmd)组成,这些节点存储集群的配置并控制ndbd存储集群数据的数据节点()。与管理节点通信后,客户端(MySQL客户端,服务器或本机API)直接连接到这些数据节点。

使用MySQL Cluster,通常不会复制数据,而是数据节点同步。为此,必须使用特殊的数据引擎 - NDBCluster(NDB)。将集群视为具有冗余组件的单个逻辑MySQL环境是有帮助的。因此,MySQL Cluster可以与其他MySQL群集一起参与复制。

MySQL Cluster在无共享环境中运行最佳。理想情况下,没有两个组件应该共享相同的硬件。出于简化和演示的目的,我们仅限于使用三台服务器。我们将设置两个服务器作为数据节点,在它们之间同步数据。第三台服务器将用于Cluster Manager以及MySQL服务器/客户端。如果启动其他服务器,则可以向群集添加更多数据节点,将群集管理器与MySQL服务器/客户端分离,并将更多服务器配置为群集管理器和MySQL服务器/客户端。

准备

要完成本教程,您将需要总共三台服务器:两台服务器用于冗余MySQL数据节点(ndbd),一台服务器用于Cluster Manager(ndb_mgmd)和MySQL服务器/客户机(mysqldmysql)。(你可能需要3台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。)

同一个数据中心中,创建以下启用专用网络的 腾讯云CVM:

  • 三个Ubuntu 18.04 腾讯云CVM 启用了专用网络。
  • 为每个腾讯云CVM配置了有sudo权限的非root用户。

请务必记下三个Droplet 的私有 IP地址。在本教程中,我们的群集节点具有以下私有IP地址:

  • 198.51.100.0 将是第一个MySQL Cluster数据节点
  • 198.51.100.1 将是第二个数据节点
  • 198.51.100.2 将是Cluster Manager和MySQL服务器节点

一旦您启动了CVM,配置了非root用户,并记下3个节点的IP地址,您就可以开始学习本教程了。

步骤1 - 安装和配置Cluster Manager

我们首先要下载并安装MySQL Cluster Manager ndb_mgmd

要安装Cluster Manager,我们首先需要从官方MySQL Cluster 下载页面获取相应的.deb安装程序文件。

在此页面的“ 选择操作系统”下,选择“ Ubuntu Linux”。然后,在Select OS Version下,选择Ubuntu Linux 18.04(x86,64位)

向下滚动,直到看到DEB Package,NDB Management Server,然后单击包含的下载链接(除非您需要调试符号)。您将进入“ 开始下载”页面。在这里,右键单击“ 不,谢谢”,开始下载。并将链接复制到该文件。dbgsym``.deb

现在,登录到Cluster Manager CVM(在本教程中198.51.100.2),并下载此.deb文件:

cd ~
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster-community-management-server_7.6.6-1ubuntu18.04_amd64.deb

使用dpkg安装ndb_mgmd

sudo dpkg -i mysql-cluster-community-management-server_7.6.6-1ubuntu18.04_amd64.deb

我们现在需要在首次运行之前进行配置ndb_mgmd; 正确的配置将确保数据节点之间的正确同步和负载分配。

Cluster Manager应该是在任何MySQL集群中启动的第一个组件。它需要一个配置文件,作为参数传递给它的可执行文件。我们将创建并使用以下配置文件:/var/lib/mysql-cluster/config.ini

在Cluster Manager Droplet上,创建此文件所在的/var/lib/mysql-cluster目录:

sudo mkdir /var/lib/mysql-cluster

然后使用首选的文本编辑器创建和编辑配置文件:

sudo nano /var/lib/mysql-cluster/config.ini

将以下文本粘贴到编辑器中:

[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2  # Number of replicas
​
[ndb_mgmd]
# Management process options:
hostname=198.51.100.2 # Hostname of the manager
datadir=/var/lib/mysql-cluster  # Directory for the log files
​
[ndbd]
hostname=198.51.100.0 # Hostname/IP of the first data node
NodeId=2            # Node ID for this data node
datadir=/usr/local/mysql/data   # Remote directory for the data files
​
[ndbd]
hostname=198.51.100.1 # Hostname/IP of the second data node
NodeId=3            # Node ID for this data node
datadir=/usr/local/mysql/data   # Remote directory for the data files
​
[mysqld]
# SQL node options:
hostname=198.51.100.2 # In our case the MySQL server/client is on the same Droplet as the cluster manager

粘贴在本文中后,请务必hostname使用您配置的CVM的正确IP地址替换上面的值。设置此hostname参数是一项重要的安全措施,可防止其他服务器连接到Cluster Manager。

保存文件并关闭文本编辑器。

这是一个用于MySQL Cluster的简化配置文件。您应该根据生产需要自定义此文件中的参数。有关完整配置的ndb_mgmd配置文件示例,请参阅MySQL Cluster 文档

在上面的文件中,您可以通过将实例附加到相应的部分来添加其他组件,如数据节点(ndbd)或MySQL服务器节点(mysqld)。

我们现在可以通过执行ndb_mgmd二进制文件并使用-f标志指定其配置文件来启动管理器:

sudo ndb_mgmd -f /var/lib/mysql-cluster/config.ini

您应该看到以下输出:

MySQL Cluster Management Server mysql-5.7.22 ndb-7.6.6
2018-07-25 21:48:39 [MgmtSrvr] INFO     -- The default config directory '/usr/mysql-cluster' does not exist. Trying to create it...
2018-07-25 21:48:39 [MgmtSrvr] INFO     -- Successfully created config directory

这表明MySQL Cluster Management服务器已成功安装,现在正在您的CVM上运行。

理想情况下,我们希望在启动时自动启动Cluster Management服务器。为此,我们将创建并启用systemd服务。

在我们创建服务之前,我们需要终止正在运行的服务器:

sudo pkill -f ndb_mgmd

现在,使用您喜欢的编辑器打开并编辑以下systemd单元文件:

sudo nano /etc/systemd/system/ndb_mgmd.service

粘贴以下代码:

[Unit]
Description=MySQL NDB Cluster Management Server
After=network.target auditd.service
​
[Service]
Type=forking
ExecStart=/usr/sbin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
​
[Install]
WantedBy=multi-user.target

在这里,我们添加了一组最小的选项,指导systemd如何启动,停止和重启ndb_mgmd过程。要了解有关本机配置中使用的选项的更多信息,请参阅systemd 手册

保存并关闭文件。

现在,使用以下daemon-reload命令重新加载systemd的管理器配置:

sudo systemctl daemon-reload

我们将启用刚创建的服务,以便MySQL Cluster Manager在重启时启动:

sudo systemctl enable ndb_mgmd

最后,我们将启动该服务:

sudo systemctl start ndb_mgmd

您可以验证NDB群集管理服务是否正在运行:

sudo systemctl status ndb_mgmd

您应该看到以下输出:

● ndb_mgmd.service - MySQL NDB Cluster Management Server
   Loaded: loaded (/etc/systemd/system/ndb_mgmd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-07-26 21:23:37 UTC; 3s ago
  Process: 11184 ExecStart=/usr/sbin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini (code=exited, status=0/SUCCESS)
 Main PID: 11193 (ndb_mgmd)
    Tasks: 11 (limit: 4915)
   CGroup: /system.slice/ndb_mgmd.service
           └─11193 /usr/sbin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

这表明ndb_mgmdMySQL Cluster Management服务器现在作为systemd服务运行。

设置Cluster Manager的最后一步是允许来自我们专用网络上其他MySQL Cluster节点的传入连接。

如果在设置此CVM时未配置ufw防火墙,则可以跳到下一部分。

我们将添加规则以允许来自两个数据节点的本地传入连接:

sudo ufw allow from 198.51.100.0
sudo ufw allow from 198.51.100.1

输入这些命令后,您应该看到以下输出:

Rule added

现在,Cluster Manager应该已启动并正在运行,并且能够通过专用网络与其他Cluster节点进行通信。

第2步 - 安装和配置数据节点

注意:本节中的所有命令都应在两个数据节点上执行。

在此步骤中,我们将安装ndbdMySQL Cluster数据节点守护程序,并配置节点以便它们可以与Cluster Manager通信。

要安装数据节点二进制文件,我们首先需要从官方MySQL 下载页面获取相应.deb的安装程序文件。

在此页面的“ 选择操作系统”下,选择“ Ubuntu Linux”。然后,在Select OS Version下,选择Ubuntu Linux 18.04(x86,64位)

向下滚动,直到看到DEB包,NDB数据节点二进制文件,然后单击包含dbgsym下载链接(除非您需要调试符号)。您将进入“ 开始下载”页面。在这里,右键单击“ 不,谢谢”,开始下载。并将链接复制到该.deb文件。

现在,登录到您的第一个数据节点Ubunta(在本教程中198.51.100.0),并下载此.deb文件:

cd ~
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster-community-data-node_7.6.6-1ubuntu18.04_amd64.deb

在我们安装数据节点二进制文件之前,我们需要安装一个依赖项,libclass-methodmaker-perl

sudo apt update
sudo apt install libclass-methodmaker-perl

我们现在可以使用dpkg以下方法安装数据备注二进

sudo dpkg -i mysql-cluster-community-data-node_7.6.6-1ubuntu18.04_amd64.deb

数据节点从MySQL的标准位置提取其配置 /etc/my.cnf。使用您喜欢的文本编辑器创建此文件并开始编辑它:

sudo nano /etc/my.cnf

将以下配置参数添加到文件中:

[mysql_cluster]
# Options for NDB Cluster processes:
ndb-connectstring=198.51.100.2  # location of cluster manager

指定Cluster Manager节点的位置是ndbd启动所需的唯一配置。其余配置将直接从管理器中提取。

保存并退出该文件。

在我们的示例中,数据节点将根据管理器的配置找出其数据目录是/usr/local/mysql/data。在启动守护程序之前,我们将在节点上创建此目录:

sudo mkdir -p /usr/local/mysql/data

现在我们可以使用以下命令启动数据节点:

sudo ndbd

您应该看到以下输出:

2018-07-18 19:48:21 [ndbd] INFO     -- Angel connected to '198.51.100.2:1186'
2018-07-18 19:48:21 [ndbd] INFO     -- Angel allocated nodeid: 2

NDB数据节点守护程序已成功安装,现在正在您的服务器上运行。

我们还需要通过专用网络允许来自其他MySQL Cluster节点的传入连接。

如果在设置此CVM时未配置ufw防火墙,则可以跳过为设置systemd服务ndbd

我们将添加规则以允许来自Cluster Manager和其他数据节点的传入连接:

sudo ufw allow from 198.51.100.0
sudo ufw allow from 198.51.100.2

输入这些命令后,您应该看到以下输出:

Rule added

您的MySQL数据节点CVM现在可以通过专用网络与Cluster Manager和其他数据节点进行通信。

最后,我们还希望数据节点守护进程在服务器引导时自动启动。我们将遵循与Cluster Manager相同的过程,并创建systemd服务。

在我们创建服务之前,我们将终止正在运行的ndbd进程:

sudo pkill -f ndbd

现在,使用您喜欢的编辑器打开并编辑以下systemd单元文件:

sudo nano /etc/systemd/system/ndbd.service

粘贴以下代码:

[Unit]
Description=MySQL NDB Data Node Daemon
After=network.target auditd.service
​
[Service]
Type=forking
ExecStart=/usr/sbin/ndbd
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
​
[Install]
WantedBy=multi-user.target

在这里,我们添加了一组最小的选项,指导systemd如何启动,停止和重启ndbd过程。要了解有关本机配置中使用的选项的更多信息,请参阅systemd 手册

保存并关闭文件。

现在,使用以下daemon-reload命令重新加载systemd的管理器配置:

sudo systemctl daemon-reload

我们现在将启用刚刚创建的服务,以便数据节点守护程序在重新启动时启动:

sudo systemctl enable ndbd

最后,我们将启动该服务:

sudo systemctl start ndbd

您可以验证NDB群集管理服务是否正在运行:

sudo systemctl status ndbd

您应该看到以下输出:

● ndbd.service - MySQL NDB Data Node Daemon
   Loaded: loaded (/etc/systemd/system/ndbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-07-26 20:56:29 UTC; 8s ago
  Process: 11972 ExecStart=/usr/sbin/ndbd (code=exited, status=0/SUCCESS)
 Main PID: 11984 (ndbd)
    Tasks: 46 (limit: 4915)
   CGroup: /system.slice/ndbd.service
           ├─11984 /usr/sbin/ndbd
           └─11987 /usr/sbin/ndbd

这表示ndbdMySQL Cluster数据节点守护程序现在作为systemd服务运行。您的数据节点现在应该功能齐全,并且能够连接到MySQL Cluster Manager。

完成第一个数据节点的设置后,在其他数据节点上重复本节中的步骤(198.51.100.1在本教程中)。

第3步 - 配置和启动MySQL服务器和客户端

标准的MySQL服务器,例如Ubuntu的APT存储库中提供的服务器,不支持MySQL Cluster引擎NDB。这意味着我们需要安装与我们在本教程中安装的其他MySQL Cluster软件一起打包的自定义SQL服务器。

我们将再次从官方MySQL Cluster 下载页面中获取MySQL Cluster Server二进制文件

在此页面的“ 选择操作系统”下,选择“ Ubuntu Linux”。然后,在Select OS Version下,选择Ubuntu Linux 18.04(x86,64位)

向下滚动直到看到DEB Bundle,然后单击Download链接(它应该是列表中的第一个)。您将进入“ 开始下载”页面。在这里,右键单击“ 不,谢谢”,开始下载。并将链接复制到.tar存档。

现在,登录到Cluster Manager CVM(在本教程中198.51.100.2),并下载此.tar存档(回想一下我们在与Cluster Manager相同的节点上安装MySQL Server - 在生产环境中,您应该在不同的节点上运行这些守护进程) :

cd ~
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster_7.6.6-1ubuntu18.04_amd64.deb-bundle.tar

我们现在将此存档提取到一个名为install的目录中。首先,创建目录:

mkdir install

现在将存档解压缩到此目录中:

tar -xvf mysql-cluster_7.6.6-1ubuntu18.04_amd64.deb-bundle.tar -C install/

进入此目录,其中包含解压缩的MySQL Cluster组件二进制文件:

cd install

在我们安装MySQL服务器二进制文件之前,我们需要安装几个依赖项:

sudo apt update
sudo apt install libaio1 libmecab2

现在,我们需要安装MySQL Cluster依赖项,捆绑在我们刚提取的tar存档中:

sudo dpkg -i mysql-common_7.6.6-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-cluster-community-client_7.6.6-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-client_7.6.6-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-cluster-community-server_7.6.6-1ubuntu18.04_amd64.deb

安装mysql-cluster-community-server时,应出现配置提示,要求您为MySQL数据库的root帐户设置密码。选择一个强大的安全密码,然后点击<确定>。出现提示时重新输入此root密码,再次按<Ok>键完成安装。

我们现在可以用dpkg安装MySQL服务器二进制文件:

mysql-server_7.6.6-1ubuntu18.04_amd64.deb

我们现在需要配置此MySQL服务器安装。

MySQL Server的配置存储在默认/etc/mysql/my.cnf文件中。

使用您喜欢的编辑器打开此配置文件:

sudo nano /etc/mysql/my.cnf

您应该看到以下文本:

# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

#
# The MySQL Cluster Community Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

将以下配置附加到其中:

. . .
[mysqld]
# Options for mysqld process:
ndbcluster                      # run NDB storage engine

[mysql_cluster]
# Options for NDB Cluster processes:
ndb-connectstring=198.51.100.2  # location of management server

保存并退出该文件。

重新启动MySQL服务器以使这些更改生效:

sudo systemctl restart mysql

默认情况下,MySQL应在服务器重新启动时自动启动。如果没有,则以下命令应解决此问题:

sudo systemctl enable mysql

现在,SQL Server应在Cluster Manager / MySQL Server CVM上运行。

在下一步中,我们将运行一些命令来验证我们的MySQL Cluster安装是否按预期运行。

第4步 - 验证MySQL群集安装

要验证MySQL Cluster安装,请登录到Cluster Manager / SQL Server节点。

我们将从命令行打开MySQL客户端,并通过输入以下命令连接到我们刚刚配置的root帐户:

mysql -u root -p 

在提示时输入您的密码,然后点击ENTER

您应该看到类似于的输出:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.22-ndb-7.6.6 MySQL Cluster 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>

进入MySQL客户端后,运行以下命令:

SHOW ENGINE NDB STATUS \G

您现在应该看到有关NDB集群引擎的信息,从连接参数开始:

*************************** 1. row ***************************
  Type: ndbcluster
  Name: connection
Status: cluster_node_id=4, connected_host=198.51.100.2, connected_port=1186, number_of_data_nodes=2, number_of_ready_data_nodes=2, connect_count=0
. . .

这表明您已成功连接到MySQL群集。

请注意这里ready_data_nodes的数量:2。此冗余允许您的MySQL集群继续运行,即使其中一个数据节点发生故障。它还意味着您的SQL查询将在两个数据节点之间进行负载平衡。

您可以尝试关闭其中一个数据节点以测试群集稳定性。最简单的测试是重新启动数据节点CVM,以便完全测试恢复过程。当节点重新启动并重新连接到Cluster Manager时,您应该会看到number_of_ready_data_nodes更改的值1并再次备份2

要退出MySQL提示,只需键入quit或按CTRL-D

这是第一个表明MySQL集群,服务器和客户端正在运行的测试。我们现在将进行一项额外的测试,以确认群集是否正常运行。

使用以下ndb_mgm命令打开群集管理控制台:

ndb_mgm

您应该看到以下输出:

-- NDB Cluster -- Management Client --
ndb_mgm>

进入控制台后,输入命令SHOW并点击ENTER

SHOW

您应该看到以下输出:

Connected to Management Server at: 198.51.100.2:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2    @198.51.100.0  (mysql-5.7.22 ndb-7.6.6, Nodegroup: 0, *)
id=3    @198.51.100.1  (mysql-5.7.22 ndb-7.6.6, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @198.51.100.2  (mysql-5.7.22 ndb-7.6.6)

[mysqld(API)]   1 node(s)
id=4    @198.51.100.2  (mysql-5.7.22 ndb-7.6.6)

以上显示有两个数据节点与node-ids 2和3 连接。还有一个管理节点有node-id1个和一个MySQL服务器node-id4。您可以通过使用以下STATUS命令键入其编号来显示有关每个ID的更多信息:

2 STATUS

以上命令显示节点2的状态,MySQL版本和NDB版本:

Node 2: started (mysql-5.7.22 ndb-7.6.6)

退出管理控制台类型quit,然后单击ENTER

管理控制台功能非常强大,为管理群集及其数据提供了许多其他选项,包括创建在线备份。有关更多信息,请参阅MySQL官方文档

此时,您已经完全测试了MySQL Cluster安装。本指南的结束步骤向您展示如何创建测试数据并将其插入此MySQL群集。

第5步 - 将数据插入MySQL群集

为了演示集群的功能,让我们使用NDB引擎创建一个新表,并将一些示例数据插入其中。请注意,为了使用群集功能,必须将引擎明确指定为NDB。如果使用InnoDB(默认)或任何其他引擎,则不会使用群集。

首先,让我们创建一个clustertest使用以下命令调用的数据库:

CREATE DATABASE clustertest;

接下来,切换到新数据库:

USE clustertest;

现在,创建一个名为test_table这样的简单表:

CREATE TABLE test_table (name VARCHAR(20), value VARCHAR(20)) ENGINE=ndbcluster;

我们已经明确指定了ndbcluster引擎以便使用集群。

现在,我们可以使用此SQL查询开始插入数据:

INSERT INTO test_table (name,value) VALUES('some_name','some_value');

要验证是否已插入数据,请运行以下select查询:

SELECT * FROM test_table;

ndbcluster表中插入数据并从表中选择数据时,群集负载平衡所有可用数据节点之间的查询。这样可以提高MySQL数据库安装的稳定性和性能。

您还可以在我们之前编辑的my.cnf文件中设置默认ndbcluster存储引擎。如果执行此操作,则无需ENGINE在创建表时指定选项。要了解更多信息,请参阅MySQL 参考手册

结论

在本教程中,我们演示了如何在Ubuntu 18.04服务器上设置和配置MySQL Cluster。值得注意的是,这是一个用于演示安装过程的最小化,简化的体系结构,在生产中部署MySQL Cluster之前,有许多高级选项和功能值得学习(例如,执行备份)。要了解更多信息,请参阅官方MySQL Cluster文档

更多Ubuntu教程请前往腾讯云+社区学习更多知识。

参考文献:《How To Create a Multi-Node MySQL Cluster on Ubuntu 18.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Deployer自动部署Laravel应用程序

Laravel是一个开源的PHP Web框架,旨在使常见的Web开发任务(如身份验证,路由和缓存)变得更加容易。Deployer是一个开源的PHP部署工具,为许...

3661
来自专栏网络

CobaltStrike团体服务器部署并后台运行

大家好,我是你们的老朋友Alex。Cobaltstrike的部署安装很简单,但是在实际使用中出现了问题。我把团队服务器放在ECS上,出现了两个问题:1.客户端无...

3456
来自专栏Linyb极客之路

RESTFUL API 安全设计指南

REST的全称是REpresentational State Transfer,表示表述性无状态传输,无需session,所以每次请求都得带上身份认...

1442
来自专栏IT笔记

Maven初探-如何快速入手一个项目

这已是一个工具的时代,而不是一个到处搜集JAR的年代,如果还在为搭建一个项目而到处找依赖,那你就彻底OUT了。下面,跟各位一起重温学习下Maven。 什么是Ma...

2749
来自专栏云计算教程系列

如何在服务器上安装LAMP

在本教程中,我们将在Ubuntu上安装LAMP。Ubuntu将满足我们的第一个要求:Linux操作系统。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免...

5262
来自专栏Golang语言社区

HTTP协议漫谈

简介 园子里已经有不少介绍HTTP的的好文章。对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将H...

3876
来自专栏北京马哥教育

HTTP 协议漫谈

简介 网络上已经有不少介绍 HTTP 的好文章,对HTTP的一些细节介绍的比较好,所以本篇文章不会对 HTTP 的细节进行深究,而是从够高和更结构化的角度将 H...

30511
来自专栏乐沙弥的世界

VmWare6.5.2下安装RHEL 5.4(配置Oracle安装环境)

如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/10/04/4632312.aspx

1092
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Pydio托管文件共享服务器

随着云的采用增加,越来越多的数据被远程存储。从音乐到图片再到个人文档,很多人都将文件上传到他们不管理的服务器上。如果您希望将文件保存在您控制的服务器上,则可以使...

3810
来自专栏FreeBuf

使用CMSTP绕过AppLocker的方法介绍

CMSTP是一个与Microsoft连接管理器配置文件安装程序关联的二进制文件。它接受INF文件,这些文件可以通过恶意命令武器化,以脚本(SCT)和DLL的形式...

1053

扫码关注云+社区

领取腾讯云代金券