我只是想知道我们是否可以在批处理模式下执行二进制文件。我知道可以使用mysql < batch-file以批处理模式执行文本文件。
使用这种特性的一个可能的动机是,如果你正在从一个程序创建一个sql文件,那么你可能想要以二进制模式进行读/写,因为它很快。在mysql中有这样的方式存在吗,我只是好奇!
发布于 2012-07-25 03:35:37
您可能希望尝试使用mysqldump的--hex-blob选项来创建纯文本的转储文件。通常,您将执行以下操作:
mysqldump --hex-blob ... | gzip -9 > backup.sql.gz稍后,您将恢复:
gunzip -dc backup.sql.gz | mysql ...在这两种情况下,...都表示连接到数据库所需的命令行选项。
这不是在大型数据库中加载的最有效的方法,但它在实践中工作得很好。
发布于 2012-07-25 03:25:00
mysql生成二进制日志,通常用于复制。您可以生成一个假的复制日志,并说服mysql加载它,尽管这很麻烦。通常使用mysqlbinlog将复制日志加载到mysql中:
mysqlbinlog replication_log | mysql其在执行二进制复制日志之前将其转换为文本文件。
请注意,执行sql几乎肯定比解析它慢得多,尤其是在生成sql时。所以你几乎肯定是在优化错误的东西。
https://stackoverflow.com/questions/11637620
复制相似问题