每个网站背后都有一个数据库,它通常运行在MySQL上。学习设置服务器通常是新网站管理员或开发人员的第一次真正测试,而MySQL Community Server提供了一种免费和开源的入门方式。
是什么让MySQL Community Server成为最好的数据库软件?还有什么软件可以抗衡它?以及如何让它在您的Web服务器上正常运行?
我们将在本文中回答所有这些问题,甚至更多。您将学习在您的机器上设置MySQL社区服务器所需的所有知识。
什么是MySQL社区服务器?
几乎每个网站都需要一个数据库。不需要它的是那些只有静态页面的小型网站。数据库以结构化和可访问的方式简化了对大量内容的管理。
带有表和行的WordPress数据库
在WordPress中,数据库存储整个帖子、页面和其他自定义数据,如标签和评论。此外,如果数据可以更改、添加或删除,则很可能将其存储在数据库中。所以很容易想象有多少数据通过数据库。
SQL代表结构化查询语言。它是一种类似于JavaScript或HTML的网络语言。SQL主要用于帮助您管理和操作数据库。虽然存在替代方案,但SQL是绝大多数网站上最流行的选择。
虽然SQL是您用来命令数据库的语言,但您需要一个数据库管理系统来处理所有数据库的复杂性。这就是MySQL的用武之地。
作为市场上最流行的数据库管理系统,MySQL是开发人员和Web管理员在其服务器上设置数据库时的首选。
MySQL社区服务器是免费的吗?
虽然存在付费的MySQL企业版,但您可能会使用的所有核心功能都在MySQL Community Edition中。此外,它可以在所有20多个受支持的操作系统上免费下载,并且没有隐藏费用或突然出现的问题。
本质上,MySQL社区服务器没有附加任何条件!
MySQL社区下载
此外,它在GPL许可下可用。这意味着它是免费的、开源的,并且可以在商业项目中使用和修改。因此,在您的服务器上使用MySQL的典型用途不存在法律问题。
也就是说,如果您选择分发其源代码,您可能需要在GPL许可下发布您的整个项目,因此请务必阅读许可。
与其他倾向于付费使用或具有非常严格的免费版本的软件相比,MySQL是首选。
关于MySQL社区服务器的关键事项
与任何软件一样,MySQL也有一些您需要牢记的限制。其中一些是由错误造成的。其他的发生是因为程序只能存储这么多数据。
无论哪种方式,您都需要牢记这些内容,如果它们不利于您的项目,您甚至可能会寻找替代方案。
以下是要考虑的主要限制:
- 表大小限制:行和列大小有几个硬性限制。一个表中只能有4096列,但最终可能会更少。此外,行大小限制为65,535字节。
- MySQL施加限制:即使您的存储引擎支持更大的行和列,MySQL也不会允许您创建任何超出限制的内容。
- Windows施加了进一步的限制: Windows版本的MySQL带有额外的限制。32位版本的Windows不能在一个进程中使用超过2GB的RAM。此外,Windows服务器只能使用4000个端口,当许多客户端连接到您的数据库时,这些端口会很快被填满。
- 函数和例程限制: MySQL对函数和例程有几个自我强加的限制,如果遇到问题,您需要注意。
- 大型数据库的性能可能很差:当涉及到需要存储和排序大量内容的大型数据库时,MySQL可能会开始受到影响。即使备份和恢复备份也可能成为问题。
- 警惕内存问题:内存问题可能是MySQL的一个大问题,当它耗尽内存时,可能不清楚是什么导致了突然冻结。
虽然这似乎是一个令人担忧的列表,但每个数据库管理系统都有其优点和缺点,而MySQL适用于大多数项目。大型企业网站和大数据可能会将MySQL推向极限,但小型项目和体面活跃的网站可以正常工作。
MySQL社区服务器与MySQL企业版
MySQL有两个不同的版本:社区服务器版和企业版。前者是大家都知道和喜爱的开源版本的MySQL。企业版的存在是为了提供适用于大型企业网站的付费但更强大的版本。
MySQL企业版
以下是其他一些安全提示:
- 加密密码:在数据库中存储纯文本密码可能非常危险。相反,请遵循密码指南并加密您的密码。如果您使用的是WordPress插件,他们可能会为您处理这个问题。
- 限制用户访问:永远不要让非root用户访问用户表。
- 请不要为您的服务器使用root用户:在Linux系统上,切勿在root用户上运行MySQL服务器(因为它可以访问所有命令并且黑客可能会造成更大的破坏)。
- 限制权限:为用户分配适当的帐户权限,并避免给予他们超出要求的访问权限。始终要求所有用户输入密码。
- 禁止表单代码:阻止用户通过输入框(例如表单)在您的站点上执行代码。
- 实施防火墙:对数据库服务器使用防火墙来阻止不需要的访问。
- 使用 SSL:SSL加密您的网站以隐藏通过您的服务器的所有数据。
- 删除测试数据库:删除测试数据库(如果“mysql_secure_installation”没有删除它),因为任何人都可以访问它。
在Windows上安装MySQL社区服务器
不熟悉Linux?或者您在Windows机器上运行您的服务器?
幸运的是,有一个简单的MySQL安装工具,您可以使用它来启动MySQL并在您的操作系统上运行。无需冗长、复杂的设置或令人困惑的代码,只需一个标准的Windows安装程序向导。
适用于Windows的MySQL安装程序
第 1 步:下载适用于Windows的MySQL安装程序。您应该看到两个文件:Web安装程序和备用安装程序。如果您在下载MySQL时有Internet连接,请选择第一个。如果没有,请选择第二个选项。您还可以下载zip存档,解压缩,然后手动安装MySQL。但是您无法使用安装程序向导进行设置。
第 2 步:下载MySQL后,双击安装程序将其打开。继续显示屏幕以完成安装。
MySQL安装程序
第 3 步:您将很快进入设置类型屏幕。假设您使用MySQL作为开发人员,请选择Developer Default。Server only选项最适合服务器计算机。如果您不确定,选择Full下载所有组件永远不会有坏处。安装程序可能会提示您安装必备软件;要么让它自动解决,要么在线寻找所需的工具。
MySQL安装程序设置类型
第 4 步:下载您选择的所有内容后,您将进入设置屏幕。您可以将大多数设置保留为默认值(但如果您要在此机器上设置数据库服务器,请务必选择服务器计算机或专用计算机)。
您还必须设置root密码并可选择添加额外用户。
如果您希望MySQL在启动时运行,请务必勾选相关框。
第5步:配置完成后,您将完成安装。如果您已准备好试用MySQL,请选中Setup after Start MySQL Workbench 。您可以稍后通过单击开始菜单并将其输入到搜索栏中来启动MySQL Workbench。
这样,您就已经正确安装了MySQL并且可以开始测试它了。
在Linux上安装MySQL社区服务器
与Windows不同,没有直接的方法可以运行安装程序并让MySQL在您的计算机上运行。相反,您需要使用命令行来安装MySQL。这将使用操作系统内置的包管理器。
幸运的是,这在理论上比在Windows上运行十步安装程序要容易得多。您需要做的就是启动终端以开始使用。
以下是如何在基于apt的操作系统(例如Ubuntu)上执行此操作(开始之前的注意事项:您可能需要在开始之前安装MySQL APT存储库):
存储库设置包
第 1 步:首先,更新您机器上安装的软件包,以确保您获得最新版本的MySQL:
sudo apt更新
第 2 步:现在运行此代码来安装MySQL:
sudo apt install mysql-server
该命令将执行大部分安装功能并启动服务器。如果命令提示您选择版本,请选择最新的版本,目前是8.0(除非您知道需要其他版本)。
第 3 步:运行安全安装以修补安全漏洞:
sudo mysql_secure_installation
第 4 步: MySQL应该会自动启动,但如果您发现它不会启动,可以运行此命令:
sudo service mysql restart
对于像CentOS 7这样的基于yum的系统,步骤大致相同。不同之处在于您需要MySQL Yum Repository。相反,您应该将apt
命令替换为yum
.
在Mac上安装MySQL社区服务器
某些版本的Mac OS X预装了MySQL!您可以通过在终端中运行以下命令来测试它是否在您的计算机上:
mysql -V
如果你看到一个输出,那么MySQL已经安装好了,你不需要再做任何事情了。但是,我们建议您使用5.7或8.0版本。如果您的版本低于此,您可能需要安装新的MySQL版本。
由于Mac没有像Linux那样简单的包管理器,我们将改用Homebrew,这是一个流行的程序,它使安装MySQL(和各种其他东西)变得非常容易。
在Mac上使用Homebrew
第 1 步:安装Homebrew后,在终端中输入以下命令:
brew install mysql
此命令应安装MySQL 8.0并立即启动服务。
第 2 步:运行安全安装过程:
mysql_secure_installation
第 3 步:如果MySQL服务器还没有启动,可以手动启动:
brew services start mysql
小结
启动MySQL服务器似乎是一项艰巨的任务,但一旦掌握了它并不会太难。无论您是使用Windows安装程序还是终端来设置它,您现在都应该在您的计算机上开始使用功能性SQL数据库。
现在您有了一个数据库,您必须备份它并保护它。查看我们的MySQL数据库备份指南,这样您就不会丢失任何数据。这两者对于确保您的网站安全至关重要。