我正在使用 mysqldump 备份我的数据库,正如我在这里读到的:http://www.tizag.com/mysqlTutorial/mysqlbackup.php
它给了我一些命令(我认为是Linux):
mysqldump --tab=/path/to/some/dir --opt db_name
但它没有解释我如何使用该命令,也没有解释我如何将其发送到数据库以便备份。它说我需要运行 SSH 连接到你的 Web 服务器。这是什么意思?我该怎么做?
编辑: 我这样做的主要原因是,我可以使用 cronjob 每周自动备份数据库。使用 PhpmyADmin 或任何需要手动访问的工具来备份数据库并不是我想要的解决方案。
答案1
[编辑]根据 OP 的澄清,您可以按照以下步骤直接在 cron 作业中输入命令:
/usr/local/mysql/bin/mysqldump -uUSER -pPASSWORD --opt DatabaseName > /path/to/directory/filename.sql
请注意,-p 和 PASSWORD 或 -u 和 USER 之间没有空格 - 用正确的数据库用户名和密码替换 USER 和 PASSWORD。另外,将 DatabaseName 的名称更改为您的数据库名称。
旧答案:
如果您不熟悉 SSH,我建议您不要使用 shell 命令,因为一个小错误可能会造成大问题。而是使用基于 PHP 的普通 MySQL 管理实用程序,例如:
1)PHPMyAdmin
2)管理员
此外,共享主机服务器通常不提供 SSH 访问权限。
答案2
您可以使用 PHP 函数 passthru() 运行如下命令:
<?php
passthru("mysqldump --tab=/path/to/some/dir --opt db_name");
?>
函数 exec 和 system 也可以工作。
http://php.net/manual/en/function.passthru.php
答案3
您可以通过 phpseclib 使用 ssh 连接到您的服务器:
答案4
您需要通过 SSH 访问您的服务器。它实际上与 PHP 无关,它是服务器上运行的一项独立服务。
如果您使用的是共享主机,则可能没有 SSH 访问权限。根据维护您服务器的人员,您需要请求他们提供访问权限或寻找其他备用选项。