本文概述
- 什么是Google Cloud SQL?
- 创建Google Cloud SQL实例
- 从现有数据库获取数据导出
- 将数据导入Cloud SQL
- 配置Cloud SQL访问控制
- 配置WordPress到Cloud SQL
- 停止MySQL
管理流量大的WordPress网站面临许多挑战, 其中之一就是数据库。
数据库因利用CPU, 内存, IO等高资源而闻名, 因此最好单独托管数据库。
一个典型的WordPress网站如下所示。
所有Nginx / Apache, PHP, WordPress, MySQL / MariaDB软件都在同一服务器上运行。
对于中小型流量, 将所有内容都放在同一服务器上是可以的, 但是如果要管理流量较大的网站并优化每一层以实现最佳性能, 则可能需要分离数据库服务器。
有两种可能的方法。
- 在其他服务器上托管数据库
- 使用Google Cloud Managed SQL
如果你准备花时间并努力管理数据库, 那将很酷。但是, 如果你还没有做好准备, 则可以使用Google Cloud Managed SQL。
什么是Google Cloud SQL?
Cloud SQL是Google提供的高性能托管数据库(MySQL和PostgreSQL)服务。你不必担心安装, 管理, 性能优化。
你支付使用费用, 然后让Google处理数据库基础结构。
Google Cloud SQL可以与App Engine, Compute Engine或任何其他托管/服务(包括你的本地工作站)集成。
设置数据库复制, 高可用性, 自动故障转移不需要数据库技能, 你可以使用Google控制台进行配置。
准备查看Cloud SQL如何与WordPress配合使用?
场景–我在Google Cloud(计算引擎)上托管了一个WordPress网站, 所有内容都在单个服务器上运行。我将执行以下操作以分离数据库。
- 创建一个Cloud SQL实例
- 从现有的MySQL数据库导出数据
- 将数据导入Cloud SQL
- 允许从现有的WordPress服务器连接Cloud SQL
- 更改WordPress配置以连接到Cloud SQL
创建Google Cloud SQL实例
- 转到Cloud SQL并单击创建实例
- 选择” MySQL”, 然后单击”下一步”。
- 选择第二代
如你所见, 第二代以较低的成本实现了高吞吐量
- 输入实例ID
- 选择数据库版本(最好是最新版本)
- 选择地区和区域
提示:始终希望将SQL实例与现有WordPress服务器放在同一区域中。但是, 如果你的WordPress不在Google Cloud上, 请从你的托管服务中选择最近的位置。
- 默认情况下, 在计算机类型下选择n1-standard-1。如果需要, 可以随时进行更改。
- 使其默认选择存储类型为SSD
- 自动备份, 默认情况下选择二进制日志记录–如果需要, 请更改
- 更好地定义修补的维护窗口和时间。
提示:请始终选择对你的业务不那么忙的日期和时间
- 输入SQL root密码, 然后单击创建
创建将花费几秒钟, 完成后, 你将在列表中看到该实例。
从现有数据库获取数据导出
- 登录到正在运行MySQL的当前服务器
- 使用mysqldump命令导出数据库
mysqldump -u root -p [DATABASE_NAME] >/tmp/export.sql
如Google文档中所述, 还有更多导出过程。
将数据导入Cloud SQL
让我们创建一个数据库并将名称保留为现有名称
- 转到SQL实例
- 单击数据库选项卡>>创建数据库
- 输入数据库名称, 然后单击创建
现在, 我将导入数据
- 点击导入按钮
- 选择SQL文件, 然后单击导入。
这将需要几秒钟, 你将在完成后得到确认
配置Cloud SQL访问控制
访问控制至关重要, 因为在这里你可以定义谁应该连接到你的实例。有两个部分。
授权网络–添加允许连接到Cloud SQL实例的IP地址
- 转到访问控制>>添加网络(在”授权”子选项卡下), 添加WordPress服务器的IP地址并保存
用户帐户–可以为WordPress数据库创建一个单独的用户帐户。
- 转到用户选项卡并创建用户帐户
- 输入用户名和密码
提示:你可以将用户名和密码保留为现有状态, 以便在WordPress中进行最小的配置更改
配置WordPress到Cloud SQL
最后一部分, 你需要更改wp-config.php以指向Cloud SQL
和往常一样, 备份wp-config.php文件
使用vi编辑文件并将DB_HOST值更新为Cloud SQL IP地址
从
/** MySQL hostname */
define('DB_HOST', 'localhost');
To
/** MySQL hostname */
define('DB_HOST', '104.155.153.82');
104.155.153.82是我的Cloud SQL实例IP, 你可以在”概述”选项卡的”属性”下找到它。
保存文件并在WordPress服务器上重新启动PHP, Nginx
注意:你可能还想使用来自Compute Engine的MySQL客户端连接到Cloud SQL实例, 在此进行说明。
做得好!你已成功分离WordPress数据库。
尝试访问以确保其有效。一旦一切正常, 你可能想在WordPress服务器上停止MySQL。
停止MySQL
对Google CloudSQL满意后, 你可以考虑停止在服务器上运行MySQL。
如果使用Ubuntu 16.x
service mysql stop
这将停止, 但是在服务器重新启动后会重新开始, 因此下一步你需要从自动启动中禁用。
update-rc.d mysql disable
适用于CentOS 6.x
service mysqld stop
并从自动启动中禁用
chkconfig --del mysqld
你可能还想卸载MySQL, 但是如果你想在本地使用它, 我建议保留它以备将来使用。
在Google Cloud上获取托管的MySQL非常简单, 我没有遇到任何问题。
如果你需要从WordPress服务器拆分数据库, 那么Google Cloud SQL将是一个不错的选择。尝试看看它是如何工作的。
不满意配置修改, 服务器管理相关的内容?利用适用于WordPress的托管Google Cloud平台。
评论前必须登录!
注册