MySQL 中批量创建表
当需要在 MySQL 数据库中创建表名类似于
log_20180101
、log_20180102
这样基于日期的数据表时,可以使用下面的存储过程一次创建一个月的数据表:
这是最简单的用例。 它将所有的 MySQL 数据复制到指定的目录中。
以下是如何备份 my.cnf
中指定的 datadir
中的所有数据库。 它会将备份置于 /data/backups/
由时间标记的子目录中,在本例中为
/data/backups/2010-03-13_02-42-44
, 1
$ innobackupex /data/backups
使用以下命令查看 MySQL 详细运行状态: 1
mysqladmin -u root -p extended-status
不同版本的 MySQL 输出的参数个数不同。以下为从 MySQL 5.7 版本官方文档截取的输出,各个参数的详细解释见下,中文含义后续用到哪个再去翻译吧。
TIP 以下表格内容是从 MySQL 官网复制过来的,但是官网复制的是 html
,使用 html 转 markdown
在线工具转换为 markdown,但是转换后的文本是这样的 | Aborted_clients
| integer | GLOBAL
|
,有些不需要的字符,这时候可以使用 IDEA
编辑器的查找/替换功能,使用正则表达式匹配不需要的字符,然后替换为空字符就可以了。其中,替换小括号和里面内容的正则表达式语法如下
[\((][^\))]+[\))]
xtrabackup 二进制程序是一个已经编译好的,链接到 InnoDB 库和标准 MySQL 客户端库的 C 程序。 InnoDB 库提供了将日志文件应用于数据文件所需的功能,MySQL 客户端库提供了命令行选项解析,配置文件解析等,以使 xtrabackup 二进制具有 MySQL 客户端类似的外观。
该工具以 --backup
或 --prepare
模式运行,分别对应于它执行的两个主要功能。这些函数有几种不同的变体来完成不同的任务,并且有两种不常用的模式
--stats
和 --print-param
。
xtrabackup 和 innobackupex 工具都支持增量备份,这意味着它可以只复制自上次完全备份以来更改过的数据。您可以在每个完全备份之间执行多次增量备份,因此您可以设置这样的备份过程,例如每周一次完全备份和每天增量备份,或每天完全备份和每小时增量备份。