什么是数据库
数据库是一组结构化、有组织的数据。在计算术语中,数据库是指用于存储和组织数据的软件。将其视为一个文件柜,您可以在其中将数据存储在称为表的不同部分中。当您需要特定文件时,您可以查看该特定部分(表)并获取所需的文件(数据)。
WordPress 使用 MySQL 作为其数据库管理系统。MySQL 是一种用于在请求时创建数据库、存储和获取数据的软件。MySQL 也是一个开源软件,就像 WordPress 一样,与其他流行的开源软件配合使用效果最好,例如 Apache Web 服务器、PHP 和 Linux 操作系统。
要安装 WordPress,您需要一个 MySQL 数据库。所有 WordPress 托管服务提供商都提供包含在其托管包中的 MySQL。在安装过程中,您向 WordPress 提供您的数据库信息,然后 WordPress 会处理其余的事情。美国主机hostgator为您介绍什么是数据库。
什么是数据库主机
数据库主机是在 MySQL 服务器上托管数据库的计算机。大多数情况下localhost,在主机字段中输入 localhost 会将 WordPress 连接到您的数据库。但是,某些 Web 托管服务提供商可能会使用不同的主机名来管理 MySQL 服务器。您将在主机控制面板的 MySQL 或数据库部分找到您的主机名。如果找不到主机名,请询问您的托管服务提供商。
什么是数据库
什么是数据库表
数据库具有类似于数据库系统中的部分或柜子的表。每个表都有列,信息存储为行。每行都有一个字段用于表中的每一列。
示例:办公室数据库可能有一个名为employee_records. 该表可能有以下列:
员工ID employee_id
员工姓名 employee_name
员工加入日期 employee_joining_date
员工电话号码 employee_phone_no
WordPress 将自动在您的数据库中创建表。在撰写本文时,WordPress 的默认安装将创建以下表格:
wp_commentmeta
wp_comments
wp_links
wp_options
wp_postmeta
wp_posts
wp_terms
wp_term_relationships
wp_term_taxonomy
wp_usermeta
wp_users
这些表中的每一个都有不同的列来存储数据。例如,wp_users 在WordPress 中的表具有以下列:
ID ID
用户登录 user_login
用户密码 user_pass
用户名 user_nicename
用户邮箱 user_email
用户网址 user_url
用户注册 user_registered
用户激活密钥user_activation_key
用户状态 user_status
显示名称 display_name
什么是 SQL 查询
SQL是Structured Query Language的缩写,是一种用于管理数据库的特殊编程语言。SQL 向数据库服务器发出的检索数据的指令称为查询。WordPress 使用 MySQL 查询来获取数据并使用它来生成网页。
一个典型的 MySQL 查询如下所示:
SELECT * FROM wp_posts WHERE ID = 23;
SQL 不仅限于从表中检索数据。它还可以更新、插入和删除表中的数据,甚至创建新表。这是 WordPress 通过使用 SQL 查询从数据库中存储和检索数据来存储和编辑所有网站数据的方式。
如何管理 WordPress 数据库
了解如何在 WordPress 数据库上执行某些任务非常重要。这可以帮助您解决一些常见的 WordPress 问题,帮助您恢复网站,并使您的网站总体上更加安全。例如,您可能想了解如何创建定期备份。
WordPress 数据库可以使用 phpMyAdmin进行管理,它是一个开源 Web 应用程序,具有一个很好的简单图形用户界面来管理 MySQL 数据库。还有许多可用的 WordPress 插件可以帮助您创建WordPress 数据库备份。
数据库备份方案及策略
由于Oracle/Mysql存在多种数据库备份方式,而且各有利弊,对于我们初学者来说,选择合适的备份方式确实有些困难。个人觉得,首先要基于公司的需求,考虑能够容忍丢失多少数据、花多少人力时间成本等,这是我们制定备份方案的依据,同时制定出来的方案要可执行,要执行,不能把方案当作纸上谈兵。下面我把我们实际的备份方案整理出来供大家参考交流。
作为数据安全的一个重要内容——数据备份的重要性却往往被人们所忽视。只要发生数据传输、数据存储和数据交换,就有可能产生数据故障。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失,有时造成的损失是无法弥补与估量的。结合我们公司线上业务的实际情况,来说说我们的备份方案,当前主要采取全备+binlog备份方式。其中全备分为逻辑备份+物理备份,同时主从复制也作为一种备份的方式存在,从而最大程度降低数据故障带来的风险。
一 数据备份部分
1 逻辑备份
应用场景
逻辑备份,我们主要用在当数据量较小时,数据库出现数据故障,对于恢复时间要求不高;搭建主从环境,搭建测试环境及备用库等方面。
备份时间及地点
每日凌晨3:10在从库上备份,备份文件存放在从库上的/data/backup/fullbackup,当然如果有充足的机器,更安全的方式是备份到远程服务器。
备份方式
采用Oracle/Mysqldump进行全库备份,通过定时任务,定时执行shell备份脚本。这里就不提供了。
2 物理备份
应用场景
主要应对要求恢复时间较高;数据量比较大;
备份时间及地点
每周一凌晨3:10在主库上备份。备份文件存放远程服务器目录下
备份方式
采用percona的社区工具innobackupex,该工具可以在线热备,不影响线上的业务。
以上两种方式的备份只能恢复某段时间的数据,对于按照时间点的恢复是无能为力的,那怎么办呢?binlog日志,是的,我们采取的是实时同步binlog日志到远程服务器上,这样理论上是可以恢复到任意时间点的。
3 binlog备份
应用场景
对于一些由于错误操作等造成数据丢失错误的,需要按照时间点进行还原的情况下。
备份时间及地点
备份服务器实时将主库上binlog同步到远程服务器上。
备份方式
Oracle/Mysqlbinlog工具进行日志拉取,shell脚本如下:
Oracle/Mysqlbinlog –read-from-remote-server –host=1.1.1.1 –port=3306 –user=\”backup\” –password=\”backup\” –raw –stop-never Oracle/Mysql-bin.000840 –result-file=/data/backup/binlog/
经过以上三种结合的备份方式,基本上可以满足在数据异常丢失情况下,恢复到正常状态。
4 主从复制
应用场景
主要应用于读写分离,故障转移的情况下
备份时间及地点
几乎可以认为是同步进行数据的复制
备份方式
采用UcacheOracle/Mysql提供的复制技术
对于主从复制,如果用于备库的话,最好是让sql_thread执行慢一段时间,可以是1天。这个结合实际情况,自己选择。
在全球大数据暴增的趋势下,市场上以Oracle/Mysql为主的数据库的数据量也越来越大。当数据呈指数增长时,数据备份时间也将随着数据量的增长而加长,这样就很难实现高效的数据保护。对于超大型Mysql/Oracle数据库的保护一直是业界的难题,尤其是如何在较短的时间内,完成数据的备份和有效性验证。UcacheBankup产品凭借多年的数据保护经验,推出了UCache灾备云这一套高效的Oracle/Mysql数据库保护
135E3J��qaq
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。