我正在使用mysqldump备份我的数据库: http : //www.tizag.com/mysqlTutorial/mysqlbackup.php
它给了我一些命令(Linux我认为):
mysqldump --tab=/path/to/some/dir --opt db_name
但是这并不能解释我用这个命令做什么,或者我怎么把它发送到数据库以便备份。 它说我需要运行SSH到您的Web服务器 。 这是什么意思,我该怎么做?
编辑: 我这样做的主要原因是,我可以让数据库每周使用cronjob自动备份。 使用PhpmyADmin或我需要手动访问的任何工具来备份数据库不是我正在寻找的解决scheme。
[编辑]在OP澄清之后,你可以做什么直接input命令在cron作业:
/usr/local/mysql/bin/mysqldump -uUSER -pPASSWORD --opt DatabaseName > /path/to/directory/filename.sql
请注意,-p和PASSWORD或-u和USER之间没有空格,用正确的数据库用户名和密码replaceUSER和PASSWORD。 另外,将DatabaseName的名称更改为您的数据库名称。
老答案:
如果您不熟悉SSH,我会build议您不要使用shell命令,因为一个小错误会导致很大的问题。 而是使用正常的基于PHP的MySQLpipe理实用程序,如:
1)PHPMyAdmin
2) Adminer
而且,SSH访问通常不在Shared Hosting服务器上进行。
你可以用PHP函数passthru()来运行这样的命令:
<?php passthru("mysqldump --tab=/path/to/some/dir --opt db_name"); ?>
函数exec和系统也可以工作。
http://php.net/manual/en/function.passthru.php
你可以使用SSH通过phpseclib连接到你的服务器:
假设你的mysql服务器有一些Unix(Linux,BSD等)的味道。 您需要安装ssh服务器,然后您可以从putty或任何ssh客户端访问系统。 如果它运行的是Ubuntu,则必须安装openssh-server。 通常是这样的:
sudo apt-get install openssh-server
如果你无法轻松搞定,我build议让一些具有系统pipe理技能的人为你设置。
您需要通过SSH访问您的服务器。 这不是真的与PHP相关,它是在服务器上运行的一个单独的服务。
如果您使用的是共享主机,则很可能您没有SSH访问权限。 根据维护您的服务器的人员,您需要请求他们访问或find另一个备份选项。
您的数据库是如何托pipe的,您是否在您有权访问的计算机上运行它,或者您是否支付/使用免费服务?
您在SSH会话中运行mysqldump命令。 这有点像DOS的旧时代,你可能会说,你input一系列的命令来完成工作。 这与PHP或MySQL无关。
您的网站托pipe在哪里? 他们是否提供SSH访问?
如果他们这样做,并且你正在windows下开发,你可以使用名为Putty的程序来“运行SSH到你的web服务器”。 也就是说,如果SSH访问您的Web服务器可用。
如果没有,也许他们提供了另一种方式来获得备份? 像通过phpmyadmin?