Я создаю резервную копию своей базы данных с помощью mysqldump, пока читаю здесь: http://www.tizag.com/mysqlTutorial/mysqlbackup.php
Он дает мне какую-то команду (я думаю, Linux):
mysqldump --tab=/path/to/some/dir --opt db_name
Но он не объясняет, что я делаю с этой командой или как я отправляю ее в базу данных для резервного копирования. Он говорит, что мне нужно запустите SSH на свой веб-сервер. Что это значит и как я могу это сделать?
РЕДАКТИРОВАТЬ: Основная причина, по которой я это делаю, заключается в том, что я могу автоматически резервировать БД каждую неделю с помощью cronjob. Использование PhpmyADmin или любого инструмента, к которому мне нужно получить доступ вручную для резервного копирования БД, не является решением, которое я ищу.
вы можете подключиться к своему серверу с помощью ssh через phpseclib:
Вы можете запускать подобные команды с помощью PHP-функции passthru ():
<?php
passthru("mysqldump --tab=/path/to/some/dir --opt db_name");
?>
Функции exec и system тоже будут работать.
http://php.net/manual/en/function.passthru.php
[РЕДАКТИРОВАТЬ] После разъяснения OP вот что вы можете сделать, чтобы напрямую ввести команду в задание cron:
/usr/local/mysql/bin/mysqldump -uUSER -pPASSWORD --opt DatabaseName > /path/to/directory/filename.sql
Обратите внимание, что между -p и PASSWORD или -u и USER нет пробела - замените USER и PASSWORD правильными именем пользователя и паролем базы данных. Также измените имя DatabaseName на имя вашей базы данных.
Старый ответ:
Если вам не нравится SSH, я бы посоветовал вам НЕ использовать команды оболочки, потому что небольшая ошибка может создать большие проблемы. Вместо этого используйте обычные утилиты администрирования MySQL на основе PHP, например:
1) PHPMyAdmin
2) Администратор
Кроме того, SSH-доступ обычно не предоставляется на серверах общего хостинга.
Предполагается, что ваш сервер mysql является разновидностью Unix (Linux, BSD и т. Д.). Вам необходимо установить ssh-сервер, после чего вы сможете получить доступ к системе с помощью putty или любого ssh-клиента. Если он работает под управлением ubuntu, вам необходимо установить openssh-server. Обычно так:
sudo apt-get install openssh-server
Если у вас не получается сделать это легко, я предлагаю попросить кого-нибудь с некоторыми навыками системного администрирования настроить его для вас.
Вам нужен SSH-доступ к вашему серверу. Это не совсем связано с PHP, это отдельная служба, работающая на сервере.
Если вы используете общий хостинг, скорее всего, у вас нет доступа по SSH. В зависимости от того, кто обслуживает ваши серверы, вам нужно будет либо запросить у них доступ, либо найти другой вариант резервного копирования.
Как именно размещена ваша база данных, запускаете ли вы ее на машине, к которой у вас есть доступ, или вы платите / используете бесплатную услугу?
Вы запускаете команду mysqldump в сеансе SSH. Вы можете сказать, что это немного похоже на старые времена DOS, когда вы вводили серию команд, чтобы выполнить работу. Это не имеет ничего общего с PHP или MySQL.
Где размещен ваш сайт? Предоставляют ли они доступ по SSH?
Если это так, и вы разрабатываете под Windows, вы можете использовать программу Putty для «запуска SSH на ваш веб-сервер». То есть, если SSH-доступ к вашему веб-серверу доступен.
Если нет, может быть, они предоставляют альтернативный способ получить резервную копию? вроде через phpmyadmin?